フォント自作入門(1) フォントとは何か?

このシリーズでは『わたしたちの作ろうとしている「フォント」とは何か?』をはっきりさせるところから始めて、フォント作りにかかる労力・フォントデザインのテクニック・フォントファイルが出来上がるまでの手順を解説します。そしてこのページでは、用語の整理からはじめて、「何を用意すればフォントになるのか」までを解説します。

話は、わかりやすくするために単純化している部分があります。
「文字」とフォントには、人類誕生よりあとの「言語」が持つ長い歴史がそのまま凝縮されています。その複雑さは初学者(そして何より説明する私自身)を混乱させるためです。


前提となる知識

フォントの作り方を検索してこのページにたどり着いたはずですから、「フォント」という言葉と、フォントで何ができるかはなんとなくわかっていると思います。
 画像ソフトウェア(Photoshop/GIMP/SAIなど)で、ロゴやポスターを作ったことがあり、フォントやフォントファイルを取り扱った経験があれば、理解の助けになると思います。

「ベクタ形式」のメリットがあらかじめわかっている方であれば、申し分ありません。

フォントとは?

まず、フォントが何であるかを知り、区別のあいまいな関連用語の意味をはっきりさせます。

文字/グリフ/デジタルフォント

・ひとつしかない概念「文字」 → 文字に対していくつも存在する"外見"が「グリフ」
・文字に与えるグリフの集合が「フォント」または「フォントファイル」

“A”という字は 1 個の文字であり、その一方、
 
はすべてが、“A”を表現するグリフの一例です
-FontForge公式ユーザマニュアル「初歩的な 概念:フォント~」より

イラストソフトで文字を入力したことがあれば、フォントを切り替えると「MSゴシック」と「MS明朝」が同じ言葉でもまったく異なる外見と雰囲気を持つことを経験として知っていると思います。

そして今回、わたしたちの作りたいものは、「グリフ」であり、「文字」に対して表示されるグリフを格納した「フォントファイル」ということになります。

グリフをいくつ作ればよいか?

必要な数のグリフをデザインして、フォントファイルに変換すればフォントが作れるということがわかりました。
では、グリフはいくつ作れば良いのでしょうか?

漢字

日本語には漢字があり、「すべての漢字をカバー」するフォントを個人が作るのは現実的ではありません。
漢字は常用漢字だけでも2136字あります。
さらに、常用漢字に収録されていない漢字には「伊、嘘、萌、蝶、釘」など、よく使われる漢字・有名な漢字がたくさんあります。
日常に使える日本語フォントを作るなら、常用漢字の外にある漢字を含む、JIS漢字コード1万50字が最低ラインです。
たとえば、漢字を(ほぼ)すべてを網羅するために、「IPAmj明朝フォント」は6万718個のグリフを収録しているそうです。
個人制作のフォントでは、現実的には、漢字のグリフを収録するにしても、ごく一部の漢字(タイトルと主要登場人物名など)だけを収録し、残りは諦めることになります。

ラテン・アルファベット 基本字

漢字入りフォントは2000字を用意してやっとスタートラインに立てます。
一方で、アルファベットは大文字・小文字含めて、52字+記号しかありません。
句読点(,.)やアスタリスク(*)などの記号を収録しても、70字程度に収まります。
つまり、アルファベットのグリフを用意してフォントを作るのは、日本語フォントに比べてはるかに簡単です。
なお、私たちが「アルファベット」と呼んでいるものは、「ラテン・アルファベット 基本字」というものです。

たとえば、Madoka Runeは、外見からはまったくそう見えませんが、あらゆる英語およびその他のあらゆるラテン・アルファベット文字使用言語で使用可能な「ラテン・アルファベット 基本字」のグリフです。
海外有志が解読したため、文字とグリフの対応関係がわかっています。
100字に満たない収録グリフの中には、ドイツ語で使用するエスツェット「ß」とウムラアト「ÄäÜüÖö」まで含まれています。

仮名(ひらがな・カタカナ)

ひらがなは45字あります。
正確には、仮名のフォントを用意するならば『現代の仮名「五十音」に含まれる44字に「を」を加えた45字の「清音」』が必要です。
ここからさらに、
・歴史的仮名遣いの「ゐ」と「ゑ」(2文字)
・濁音「ばびぶべぼ」(20文字)と、半濁音「ぱぴぷぺぽ」(5文字)
・小さな文字「ぁ-ぉ、ゃ-ょ」(8文字)
を追加するかどうか決めることができます。
とはいえ、濁音・半濁音は清音のグリフに「」「゜」を付けただけのものなので、清音と別のデザインにしなければ大した労力はかかりません。

例としてひらがな・カタカナを収録している「めんまフォント」はこのあたり上手くできています。
「めんま」というキャラクタとめんまフォントの用途からして、ひらがな・カタカナのグリフを収録すればよく、漢字グリフを作らなくてよいわけです。



もちろん、『特定の作品に登場する有名なセリフだけカバーできれば、それでいい』という割り切り方もありです。その場合、フォントを作るより、タイトルロゴを作るほうが効率的かもしれないので、検討する価値があります。

目的が定まっていない状態で多用途に使えるフォントを作りたいならば、あらゆるラテン・アルファベットの長文で使用できる「ラテン・アルファベット 基本字」のグリフを、最小限かつ十分である約70文字作るのがオススメです。


ビットマップフォント vs アウトラインフォント

フォントを作るにあたって、用途により「ビットマップフォント」 か 「アウトラインフォント」かを選ぶ必要があります。

現代のフォントは、拡大・縮小に強いアウトラインフォントが主流です。
アウトラインフォントであれば、たとえば今日Pixivへアップロードした300x200pixel画像で使ったのと同じフォントを、秋葉原のソフマップ7階建て屋上から地上までビル全体を覆う巨大な看板広告でも、使うことができます。

ただし、アウトラインフォントは極端な縮小に弱いため、ドット絵のゲームに使用するなど、10px以下で表示するためのグリフが欲しいなどの特別な場合は、「ビットマップフォント」を選択します。


まとめ

以上をおおまかにまとめると、
・フォントを作るには「グリフ」画像を必要な数だけデザインすればよい
・「グリフ」を用意しやすく広く使える「ラテン・アルファベット 基本字」がオススメ
・「アウトラインフォント」形式がオススメ(10px以下の大きさで使う専用、など特殊用途を除く)
となります。

このページでは、「グリフを用意すればフォントが作れる」ことを説明しました。
次のページでは、「どうやってグリフを用意するか?」を扱う予定です。

Linuxコマンドライン上でSVGベクタ画像をJPG等へラスタライズ変換する

 Linuxコマンドライン上でSVGベクタ画像をJPG等へラスタライズ変換することができるが、上手く変換されない場合がある。   以前作った魔法陣イラスト素材をイラスト素材ストックサイトへ登録しようと思い立ち、改めて素材用にラスタライズ変換をかけようとした。   ラスタライズ変換...