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種類のフォントが内在することが確認できる。

 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等の属性を編集できる。削除はできない。