OpenTypeフォントから常用漢字サブセットのウェブフォントを生成するメモ
目的
源ノ明朝をウェブフォントとして利用したいけどハイパー重いので、ひらがな・カタカナ・よく使う英数記号・常用漢字だけを抜き取って書き出したい。
下準備
あらかじめPythonがインストールされている環境で(MacだとHomebrewで入れるのが良さそう)、fonttools と brotli をインストール。
> pip install fonttools brotli
作業
以下の例は源ノ明朝のサブセットを作る流れです。
- 最新フォントデータをダウンロードする
https://github.com/adobe-fonts/source-han-serif/tree/release/OTF/Japanese - 収録する文字を用意する。例) subset_joyo.txt
- 各ファイルを適当なディレクトリにまとめて、pyftsubsetに投下。
(以下は SourceHanSerif-Medium を SHS-M-joyo として書き出す例)> pyftsubset ./SourceHanSerif-Medium.otf --text-file=./subset_joyo.txt --layout-features='*' --flavor=woff --output-file=./SHS-M-joyo.woff > pyftsubset ./SourceHanSerif-Medium.otf --text-file=./subset_joyo.txt --layout-features='*' --flavor=woff2 --output-file=./SHS-M-joyo.woff2
結果
概ね現実的なサイズまで小さくなりました。
- woff : 1.7MB
- woff2 : 1.4MB