お世話になったGoogle Fontsをやめて自前でWOFFファイルをホスティングするように変えた。本当は3.1になってきれいなページも出来たFira Sansにしようかなと思ってたんだけど、微妙におかしな感じ(意図しないスクロールバー出現の原因になったりした)があったのでSource Sans Proのまま。
Google Fontsをやめたのはメンテナンス上の理由から。全ページが静的ファイルになりつつあるので、CSSは単一のファイルで管理し、フォントの変更もCSS内で完結させ、一元管理したいというわけ。Google Fonts経由の場合はlink
要素か@import
ルールでの読み込みに縛られる。するとフォントを変更しようとした時、前者の場合は大量のHTMLでの変更が必須になるし、後者の場合はパフォーマンス上の問題がある。
Google Fontsに拘るとなると、そのCSSから@font-face
ルールをコピペして……みたいな形にするしかないけど、それを機械的に行うのが面倒そうだった。Google FontsのCSSはブラウザーなどによって変わり、Chrome 35なんかだとうっかりするとWOFF2のフォントを参照するCSSが落ちてきたりする。単純なUA判定というわけでもなさそうで、機械的にやろうとした場合に、そのCSSが確実にWOFFを参照するものであるようにすることは難しい。PhantomJSなら確率は高そうだが、それでも確実だとは言い切れない。
定期的にブラウザーを使ってCSSをダウンロードしたり、ウェブサイトのCSSをリビルドする時にダウンロードしたりする方法もなくはない。けれどその中で参照されているWOFFのURLがいつまでも生きているという保証はない。
というわけでWOFFファイルの自前でのホスティングという形に落ち着いた。ひとつ当たり30KB弱なので、転送量を圧迫するというほどでもない。転送量以外のデメリットはドメインごとの同時接続数の制限を消費することくらいか。