QA@IT

Webフォントのダイナミック・サブセッティングを実現するオープンソースのものはありますか?

4560 PV

Webフォントを日本語環境で使う場合には
ページ上で使われている文字のフォントのみをダウンロードする
ダイナミックサブセッティングという技術が使われているそうですが、

この技術は現時点ではクローズドで開発されているものしかないのでしょうか?

再配布可のフォントと自分の管理するサーバー上に
オープンソースのソフトをインストールすることで使えるなら試してみたいのですが。

回答

"webfont cjk" などで検索してみると、Ruby 用のライブラリがありました。

https://bitbucket.org/hxgdzyuyi/cjk-subsetter/overview

実装をみると下記のように動作するようです (なお、このライブラリは Rack ミドルウェアとして働きます。Rack ミドルウェアについては説明しません)。

  1. HTML 中の、特定のクラスのついた要素を探す。
  2. 1 で探した要素で使われている文字を収集する。
  3. sfntly ( https://code.google.com/p/sfntly/ ) を使って、2 の文字を含むサブセットを生成、保存。
  4. 3 で生成したフォントを参照するようレスポンスに style 要素を追加して返す。

非常にシンプルな実装なので、参考になると思います。

ちなみに http://fontsubsetter.com/http://typesquare.com/sample/travel/ では、上記の 1, 2 部分を JS で行っているようです。たぶんそのほうがいいでしょうね。

ただ、下記の記事をみると、Monotype 社が Dynamic Subsetting に関わる特許を出願しているようです。関係があるかわかりませんが、気をつける必要があるかもしれません。

Web Fonts and Reserved Font Names
http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web_fonts_and_RFNs#ee8ae9d1

編集 履歴 (0)
  • 詳しい解説有り難うございます。特許のことまでは全く頭が回っていませんでした。重ねてありがとうございます。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。