Webフォント配信サイズの削減
TextAliveはWebフォントを多用しており、その配信サイズを削減することで、Webアプリケーション全体の通信量を大幅に削減できます。 TextAliveサーバから配信するフォントに関しては1ヶ月のキャッシュを有効にしてあります。
TextAliveサーバから配信するフォントに関しては歌詞の頻出文字のみで構成されるサブセットフォントを作成してあります。
表示しようとしているテキストがそのサブセットに含まれない場合にのみフルセットのフォントがダウンロードされます。
pip install fonttools でインストールできる pyftsubset というツールを利用しています。
TextAliveサーバから配信するフォントに関してはほとんどのケースで何らかの圧縮が適用されています。
EOT、TTF、WOFF 形式のWebフォントにはとくにZopfliを使った圧縮が推奨されています。
EOT、TTF、SVG、OTF 形式について圧縮して配信しています。
WOFF、WOFF2 形式についてはすでにBrotliなどで圧縮されており効果が薄いため圧縮対象から除外しています。
TypeSquareを利用すると、Webページの表示に使われる文字のみから構成されるサブセットフォントのデータを動的に取得できます。
TypeSquare APIを利用するとサブセットフォントを構成する文字を明示的に選択でき、さらに配信サイズを最適化できます。