自前でビルドすることによってwoff2_compress.exe
を手に入れたので、ウェブサイトのビルドに組み込もうと考えていたが、微妙そうだということがわかった。まず元となるファイルが更新されることがあまりないこともそうだが、WOFF2への変換にかなり時間を取られるということが大きい。
実際にどれくらい遅いのだろうか。Surce Sans ProとM+ 1p、そしてSource Han Sans JPの変換にかかる時間を、time
コマンドを使って計測したところ、以下のような結果になった。
$ . ./convert.sh Processing SourceSansPro-Regular.ttf => SourceSansPro-Regular.woff2 real 0m22.593s user 0m0.000s sys 0m0.015s Processing mplus-1p-regular.ttf => mplus-1p-regular.woff2 real 1m21.508s user 0m0.000s sys 0m0.015s Processing SourceHanSansJP-Regular.otf => SourceHanSansJP-Regular.woff2 real 30m50.434s user 0m0.000s sys 0m0.015s
ファイル・サイズが増えるにつれ変換に大きな時間がかかっていることがわかる。Source Sans Proでも厳しく、M+ 1pで限界、Source Han Sans JPに至っては言語道断という結果だ。WOFFへの変換は概ね高速(数秒)に終わるため、WOFF2で採用された新圧縮アルゴリズムBrotliでの再圧縮に時間がかかっているということだろう。
とてもではないがウェブサイトのビルドに組み込める速度ではない。ファイル・サイズに応じて組み込むかどうか考えるという手もあるだろうが、どのあたりをしきい値とするかで悩むことにもなりそうだ。上述のようにあまり頻繁に更新されるわけではないので、必要な際にバッチ処理してやるくらいで十分だと言えそうだ。