フォントのサブセット化とセルフホスティング

Web制作

今までフォントのサブセット化はサブセットフォントメーカーを使っていたんですが、バリアブルフォントの場合うまくいかず、pythonで書かれたツールであるfonttoolsを使うことにしました。

pythonをインストールしていればpipですぐインストールできます。

pip install fonttools

あとは文字のセットをテキストで作成(以下のサイトを参考にさせて頂きました。)

自分はpython3.12.3で実行しようとしたらbrotliというファイルが足らないと言われたのでインストール。上の文はバージョン確認コマンドです。

python --version
pip install brotli

あとはサブセット化ファイル作成コマンドを入力します。

pyftsubset ./googlefont/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf --text-file=chars.txt --layout-features="*" --flavor="woff2" --output-file="NotoSansJP-VariableFont_wght.woff2"

コマンドの詳細

  • pyftsubset: FontToolsのサブセット化コマンド。
  • ./googlefont/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf: 入力フォントファイル。
  • --text-file=chars.txt: サブセット化に必要な文字を含むテキストファイル。
  • --layout-features="*": すべてのOpenTypeレイアウト機能を保持。
  • --flavor="woff2": 出力フォントのフォーマットをWOFF2に指定。
  • --output-file="NotoSansJP-VariableFont_wght.woff2": 出力ファイル名。

ファイルの場所は各自ディレクトリから適切な場所を指定してください

コマンド入力するだけなので楽になったかもしれません。今後はこのツールで作成していこうと思います。ちなみに常用漢字+ひらがなカタカナ数字記号のような基本的なセットでwoff2ファイルは1.2mbくらいでした。