ウェブフォントの最適化 | Web | Google Developers
unicode-range によるサブセット化
スタイル、ウェイト、ストレッチなどのフォント プロパティに加えて、@font-face ルールではそれぞれのリソースでサポートされる 1 組の Unicode コードポイントを定義することもできます。これを使って、大きい Unicode フォントをより小さいサブセット(ラテン、キリル、ギリシャの各文字のサブセットなど)に分割し、特定のページでテキストの表示に必要なグリフだけをダウンロードできます。
@font-faceを用いれば、合字フォントデータを作成すること無く、既存フォントを組み合わせてHTMLページでの合字表現も可能になるのだけど、Web Fontで組み合わせた場合、2バイト圏はフォントデータサイズが大きいためダウンロード負担が高くなる。このため”unicode-range”が都度サブセットを生成してくれるとフォントデータサイズが小さくなることが期待できる。
ということで、試してみたのだけど、Win+Chromeではダウンロードしているフォントサイズに変化が見られない。まだブラウザが対応していないということなのか?
しかしそもそも、CSSで定義しただけで、こんなサブセット生成処理を都度サーバが実行するのだろうか?
ちなみにFont-PlusなどのWebFontサービスでも、ページ利用文字だけでフォントサブセットを随時生成して返却する仕組みがあるが、これはJSを用いてサーバ側にリクエストして処理する仕組みになっている。
色々調べていると、実はこの設定は指定フォントから利用グリフの抽出とマッピングだけを行っているのであって、ダウンロードするフォントデータの実体には全く影響がないような気がしているのだけど、どうなんだろう?
ちなみに合字を設定する場合は以下のような感じ