WindowsのFont file の構造(めっちゃ入門編)
WindowsのFont file の構造(めっちゃ入門編)
この文書は、表題の勉強をする目的で書いた。
だが、途中で挫折した。
中途半端ではあるが、ある程度は書いたので、公開しておく。
Windows10のFont
Windows10では、Font は、C:\Windows\Fonts に存在する。 例えば「MS P ゴシック 標準」Fontの「プロパティ」見ると次のとおりである。
ファイル名:msgothic.ttcファイルの種類:TrueType コレクション フォント ファイル (.ttc)「詳細」タブ>タイトル:MS ゴシック;MS UI Gothic;MS P ゴシック
Windows10標準添付ツール「Windows フォント ビューアー」
このFontの「プレビュー」をすると、「Windows フォント ビューアー」が起動し、Fontの内容を見ることができる。
このビューアーアプリの右上端に「次へ>」というボタンがある。これを押していくと、「MS ゴシック」、「MS UI Gothic」及び「MS P ゴシック」の3種類のフォントが内在することが確認できる。
このビューアーアプリの右上端に「次へ>」というボタンがある。これを押していくと、「MS ゴシック」、「MS UI Gothic」及び「MS P ゴシック」の3種類のフォントが内在することが確認できる。
Windows10における C:\Windows\Fonts フォルダーは、Windowsによって使われているので、端末利用者は好きなように操作できない。
このため、任意のフォントを、作業用に設けた別のフォルダーにコピーしていじることになる。
作業用フォルダーにおけるmsgothic.ttcファイルを「Windows フォント ビューアー」で見た場合、「インストール」というコマンドが有効になっていることが分かる。
つまり、C:\Windows\Fonts はコントロールパネルであり、いじれないように保護されている。任意のフォルダーでは、いじれるし、かつ、いじった後、インストールできるということだ。
TrueType Collection
ファイル名はmsgothic.ttcであるが、この拡張子のttcは、TrueType Collection を意味する。
collectionとはa group of thingsであり、ttcは、TrueType の集合体という意味である。
実際、上述のとおり、3種類のフォントが内在していた。
TrueTypeが1個の場合はttcではなくttfになる。ttfとは、TrueType font を意味する。
我々日本人が広く一般的に使っているFontはttcであって、ttfではない。MS明朝、MSゴシック及びメイリオはttcである。
例えば、C:\Windows\Fonts における「Aharoni 太字」を任意のフォルダーにコピーすると、ファイル名が、ahronbd.ttfになる。このファイルを「Windows フォント ビューアー」で見た場合、「次へ>」ボタンが表示されない。つまりフォントは1個しかないということである。
collectionの目的はThe OpenType Font Fileの"Font Collections"に書かれてある。
ひらがなやカタカナの字数は50音なので少ないが、漢字の数は膨大である。
漢字を個々のFontファイル毎に格納した場合、全てのFontファイルのサイズ(大きさ)の合計が、めっちゃ大きくなってしまう。字体を共有することにより、相互に利用でき、全体のサイズを小さくできるということだ。
msgothic.ttcで言えば、字体を1個にして、これを3個のFont間で共有し、文字の間隔を等間隔にする(MS ゴシック)か、間隔を無しにするか(MS P ゴシック)などを使い分けることができる。
MS ゴシックフォントはOpenType fontである
Microsoft Typography documentationには次のタイトルがある。
Legacy font technologies
What is TrueType?
History of TrueType
つまり、TrueTypeは、レガシーであり遺産であり、古いのである。
MS ゴシックフォントのファイル名 msgothic.ttc の拡張子はttcであるため、「MS ゴシックフォントはTrueType かな」と思ってしまう。
The OpenType Font Fileの"TTC Header"には、ttcファイルのheader情報が書かれてある。
majorVersionが2の場合、dsigTag等が付加されることになっている。
msgothic.ttcファイルの内容を解析すると、これはmajorVersionが2であった。そしてdsigTag等が付加されていた。
DSIG — Digital Signature Tableによると、dsigとは、OpenType fontの電子署名だ。
つまり、TrueTypeとかOpenTypeとかの区別は、(Fontファイル内に記述されている)majorVersionなどで識別するのだ。
(ここまで書いて、挫折した。以上)
(参考)
Microsoft Typography documentation Microsoft社が編集したFont関連文書群
Microsoft Visual TrueType というアプリはttf用で、ttcには対応していない。Font文字の絵を編集するツールである。
Microsoft Visual OpenType Layout Tool(VOLT)も、ttf用で、ttcには対応していない。絵に関連するname, type, unicode等の属性を編集できる。削除はできない。