はじめに
フォントが好きであれば、フォントの中身も気になりますよね。今回はフォントの中身を見る方法を紹介します。主にエンジニアに向けて。
OpenTypeとTrueType
よく見るフォント形式ですね。でもこれらはバイナリなので人には読めません。そのため人が読める形式に変換する必要があります。
ここではTTXとUFOの2形式を紹介します。
TTX
概要
TTXはフォントを扱うライブラリであるfontToolsに含まれる、OpenTypeとTrueTypeに互換のあるファイル形式兼ツールです。
TTXはXML形式で書かれているので、人でも読むことができます。
インストール
TTXはfontToolsの一部なので、fontToolsをインストールしなければなりません。
fontToolsはPythonのライブラリのためpip
経由でインストールが行えます(Python、pipをインストールしてない人は先にインストールを行ってください)。コマンドは以下の通り。
pip install fonttools
使い方
フォントファイル(OpenTypeとTrueType)からTTXへ変換を行うには以下のコマンドを実行します(○○○.otfというファイルの例)。
ttx ○○○.otf
実行が完了(少し時間がかかります)すると、○○○.ttx
というファイルが生成されます。これをテキストエディタ等で開くと膨大な量のXMLが出てきます。
ここにはフォントテーブルがそれぞれ人が読める形式で書かれており、編集も行うことができます。ただあまりにも長いので、もう少し見やすいテーブルごとの書き出しを行いたいと思います。
ttx -s ○○○.otf
これでテーブルごとにTTXファイルが書き出され、それぞれがより見やすくなりました。その他のオプションについてはttx -h
で確認することができるので、確認してみてください。
またTTXからOpenTypeとTrueTypeへ戻すこともでき、こちらは単純に同じコマンドで
ttx ○○○.ttx
とすることで戻せます。
UFO
概要
Unified Font Objectです。未確認飛行物体ではありません。まだ足りない機能なども多いですが、個人的にはこの形式の方が人が読むのに向いてる気がします。
UFOはフォルダで構成されているので、各グリフが個別のファイルに保存されたりしています。そのため、1文字1文字をじっくりみたい時には読みやすいと思います。
インストール
こちらはTTXのように便利にまとまったツール群があるわけではないので主にRoboToolsのライブラリやGoogleのufo2ft使用していくことになります。
必要に応じてライブラリをインストールしましょう。それぞれpip
でインストールすることができます。
ちなみにGlyphsの書き出し形式としてもUFOを選択することができます。
おわりに
フォントの見た目ではなく、中身が気になった方は是非、じっくりと中までご覧ください。