要約

  • W3Cは2010年7月27日にWOFF 1.0の最初の公開作業草案を出した。既存の表形式フォントをウェブ向けに包み、表の圧縮や別枠のメタデータを扱う。2012年12月13日にWOFF 1.0は勧告となった。
  • WOFF2の最初の公開草案は2014年5月8日、勧告は2018年3月1日。フォントの構造を踏まえた前処理とBrotliによる圧縮で、同じ役目のデータをより効率よく運べるようにした。

題字の書体は雑誌の声を決める。線の太さや文字幅が変われば、同じ名前でも別の調子で読める。制作室では完璧に見えた題字が、読者の端末で代替書体になったら、誌面は急に借り物の服を着る。CSSには@font-faceがあり、ページからフォントを呼べる。それでも、作り手とブラウザーが共通に扱えるファイルの包み方がなければ、依頼状だけが先に届く。

当時のW3CのWOFF FAQは、まさにその隙間を説明した。CSSでフォントを結び付ける仕組みは以前から存在した一方、相互運用できるフォント形式をめぐる合意は難しかった。ブラウザー開発者、書体設計者、フォント会社、ウェブ制作者が同じ荷物を受け渡せる必要があった。誰が字を描くかと、どう配送するかは違う話である。

2010年7月27日のWOFF 1.0最初の公開作業草案は、TrueTypeやOpenTypeなどに使われる表形式のフォントを容器に包んだ。表データを圧縮でき、メタデータや私用データは別の場所へ載せられる。ブラウザーは受け取った包みを解いてページに使う。文字を間引く、輪郭を修正する、機能を足すといった編集は、包む前の元フォントで行う別の仕事だ。

この仕切りがあるから、題字の責任もはっきりする。書体設計者が字形を作り、出版社が採用を決め、WOFFはその結果を運ぶ。付属するメタデータには使用条件などの情報を含められるが、表示する字の姿は変えない。荷札は大切でも、荷札を読んで文字の曲線が変わるわけではない。

2012年12月13日のWOFF 1.0勧告は、この荷造りを正式な参照先にした。@font-faceで結び付けたフォントは、その文書で使われる。端末全体へインストールされ、ほかのアプリにも開放される扱いではない。出版社が一つの部屋へ送った鞄を、建物中の人へ配るような仕組みにはしなかった。

共通の鞄ができても、通信には重さがある。2014年5月8日のWOFF2最初の公開草案は、フォントの構造に沿ってデータを先に整え、さらにBrotliで圧縮する方式を示した。文字を細く描き直して容量を稼いだのではない。表の中にある重複を減らし、運ぶための並べ方を工夫した。題字の書体は、出発前に選んだもののままである。

2018年3月1日のWOFF 2.0勧告は、旧版のFlate圧縮より効率的に包む狙いを明確にした。解凍されたフォントは元の機能を保つが、表の並びや一部の変換によって出力ファイルのバイト列まで必ず一致するとは限らない。題字の表示を確かめる作業と、二つのファイルの完全一致を調べる作業には別の物差しが要る。

WOFF2でも配送先はページだ。出版社は誌面に必要な声を選び、ブラウザーはその文書のために包みを開ける。端末全体の書体棚を勝手に入れ替える仕事はしていない。この限られた役割が、既存フォントをウェブへ運びやすくした。

2010年と2012年で共通の鞄を決め、2014年と2018年で荷物をより小さくまとめた。技術の成果は、フォントが自分の字形を保って読者のページへ届くことにある。旅の終わりには鞄の姿が見えなくてもいい。題字がいつもの声なら、配送は成功だ。