fontforge でフォントのサブセットを生成する
M+Web FONTS Subsetter みたいなことを手元でやりたくなったので fontforge 用の Python スクリプトを書いた。
コード
使い方
上記ファイルに適切な実行権限を与えた後、
./genwebfonts.py *.ttf output
とすると必要なグリフのみを含んだフォント (ttf, woff, eot) が output ディレクトリに一括生成される。
codepoints = [(0x0000, 0x03FF), (0x2200, 0x22FF)]
の部分で U+0000 - U+03FF と U+2200 - U+22FF までの文字を含んだフォントを生成するよう指定している。
codepoints = [(u'ぁ', u'ゟ'), u'、。!?']
とすると、ひらがなと句読点のみを含んだフォントが生成される。
コードポイントについては、
等のページを参考にすると良さげ。
fontforge の Python コードについて
バージョンは Python 2 系であることに注意(str 型と unicode 型の区別が必要)。
Writing python scripts to change fonts in FontForge が公式のドキュメント。Koruri フォントの生成スクリプトが非常に参考になる。