WOFF

WOFFファイルとは

ウェブ向けに包まれたフォント。WOFF2 に取って代わられましたが、古いブラウザーにはまだ必要です。

WOFF とは何か

WOFF はバイナリ形式です。これを知っているプログラムにしか意味を持ちません。 ウェブのために使われます。

拡張子は .woff、正式名称は Web Open Font Format です。ただしどちらも、そのファイルが中に何を持てるかほどには多くを語りません。このページの残りは、その中身についての話です。

WOFF はどこから来たのか

W3C が 2009 年に公開しました。 仕様は WOFF 1.0 です。

古さが役に立つのは、ごく実務的な理由からです。形式が古いほど、それを覚える時間が多くのプログラムに与えられてきたということだからです。

仕様は公開されています

仕様書がそのまま公開されているので、中身を推し量るのではなく文書を読んで実装できます。この形式が数多くのプログラムに載っているのはそのためであり、20 年前に書かれたファイルが今も開けるのもそのためです。ただし「仕様が公開されている」ことと「使用料が要らない」ことは別の話です。中でコーデックを包んでいる形式では、特許のライセンスは仕様書が答えていない別の問題として残ります。

古い形式です

今もどこでも開けますし、古いプログラムは今もこれを書き出します。ただ、この形式のまわりで新しいものは何も作られていません。残しておきたいものは移してください。そして今日始める仕事には、これを選ばないでください。

捨てられるものはありません

WOFF ファイルは中身をそのまま保存します。保存し直しても何も変わらないので、開いて、直して、また保存する——それを何度繰り返しても劣化は積み上がりません。これが、渡すための形式ではなく作業のための形式である理由です。

WOFF を開けるのは何か

FontForgeとfonttoolsが読めますし、同じ種類のプログラムならたいてい読めます。

ファイルが開かないとき、形式が悪いことはめったにありません。たいていはプログラムのほうが形式より古いのです。もっと古い形式に変換してしまうのが確実な逃げ道で、このサイトの残りの部分はそのためにあります。

ブラウザーで開く

これは今のブラウザーならどれでも読めます。

ですからページに置くのも、メッセージに添えて送るのも、安心してできます。相手が何をインストールしているかを考える必要がありません。

渡すための形式です

WOFF は渡すために作られたもので、中で作業するためのものではありません。編集は可能ですが、快適だったためしはありません。賢い道は、元のファイルへ戻ってもう一度書き出すほうを通ります。

ウェブフォントを当たり前にした形式です

2009 年より前、ウェブページの選択肢は、訪問者のコンピュータにたまたま入っている一握りのフォントか、ほかの誰も実装していなかった Microsoft 専用の形式かのどちらかでした。WOFF がそれを終わらせました。公開された W3C の仕様で、普通の TrueType や OpenType のフォントを圧縮とメタデータブロックで包み、そして肝心なことに、あらゆるブラウザーベンダーが対応に合意しました。

それが変えたのは、技術というより政治でした。フォントベンダーはウェブへの埋め込みに抵抗していました。それは生のフォントファイルを公開サーバーに置くことを意味していたからです。WOFF もそれを防げるわけではありませんが、ウェブのために作られ、ライセンス情報を記録する場所を持つ形式であり、業界がウェブライセンスを売り始めるには十分でした。いまウェブにあるほとんどすべての書体は、その決着があったからこそそこにあります。

ラッパーであって、別のフォントではありません

WOFF の中身は、それを作った TTF や OTF の中にあったのと同じ一連のフォントテーブルです。同じ輪郭、同じカーニング、同じ OpenType のフィーチャー。ラッパーは zlib の圧縮と小さなメタデータのセクションを加えるだけで、ほかは何もしません。

だからフォントを WOFF に変換してまた戻すのは可逆で、WOFF が元より高品質になることも低品質になることもありません。同時に、それはどのオペレーティングシステムもインストールしないということでもあります。中に入っているのは元のフォントがすでに持っていたものだけで、デスクトップのシステムはその元のフォントを求めます。

WOFF2 が変えたこと

圧縮方式だけです。WOFF2 は zlib を Brotli に置き換え、フォントのテーブルをより圧縮しやすい形に並べ替える前処理を加え、合わせておよそさらに三割の容量を削減します。

ほかは何も違いません。同じフォント、同じフィーチャー、同じレンダリング結果で、ダウンロードだけが小さくなります。これがこの移行が速やかに進んだ理由であり、いま古いほうの形式を選ぶ設計上の理由が何もない理由です。

いまも両方を配信する必要がありますか

不要です。WOFF2 はもう何年も、更新を受けているすべてのブラウザーで対応されていて、Safari とすべてのモバイルブラウザーも含みます。フォールバックとして WOFF も配信するのは、事実上いなくなった訪問者のために、書体ごとに二つ目のコピーを送っているようなものです。

例外は正確に言っておく必要があります。過剰に適用されないためです。2016 年ごろより前のブラウザーに固定された環境 ── 一部のキオスク端末、一部の組み込みシステム、方針で凍結された一部の企業端末 ── です。それが本当にあなたの訪問者なら、両方を配信してください。確信がないなら、誰のためでもないファイルを維持していることになります。

手元の WOFF をどう扱うか

ウェブサイトに載せるなら、WOFF2 に変換してそちらを配信してください。この変換はどちらの向きでも可逆です。どちらも同じテーブルを包んだラッパーだからで、結果は何の手間もなく三分の一小さくなります。

その書体を自分のコンピュータに入れたいなら、TTF か OTF に変換してそちらをインストールしてください。WOFF はインストールできません。そしてそのファイルがほかの誰かのウェブサイトから取ってきたものなら、どちらよりも先にライセンスの問題があります。ページから回収したフォントは、あなたが使ってよいフォントではなく、とくにウェブライセンスは特定のドメインとトラフィック量に紐づいていることが多いものです。

メタデータは誰も使わなかった部分です

WOFF は任意の XML ブロックを含み、そこにファウンドリー名、ライセンス、ベンダー、説明を記録できました。サーバー上で見つかったフォントが自分の条件を自分で述べられる仕組みです。

実際にはほとんど誰もそれを書かず、ほとんど誰もそれを読みません。フォントサービスはそれを取り除き、生成ツールは省略し、ブラウザーは無視します。ライセンス問題はファイルの中で解こうとしても静かに回避されるものだったという、Embedded OpenType のドメインロックと同じ現実に敗れた、理にかなった発想の一つです。ライセンスは形式の問題というより契約の問題だったのです。

二世代目がこれほど完全に一世代目を置き換えた理由

WOFF は ZIP ファイルと同じ圧縮でフォントを包みます。WOFF2 は Brotli で包み、さらにフォントのテーブルを理解した専用の変換を加え、合わせておよそさらに三割の容量を削減します。同じ仕事を違う値段でこなすので、両方を配信する理由はほとんどありません。

サイトが現実に対応すべきどのブラウザーも WOFF2 を読めるので、フォールバックに WOFF を挙げているページは、たいてい何年も前に使われなくなったブラウザーのためにそれを運んでいます。その前提を確かめるのに一分かける価値があります。フォールバックが使われるたびに一回のリクエストのコストがかかるからです。

基本情報

WOFFフォーマットの識別子と出自。
拡張子.woff
メディアタイプfont/woff
公開元W3C
初版2009
仕様WOFF 1.0

WOFF ファイルについてよくある質問

WOFF と WOFF2 の違いは何ですか

圧縮だけです。WOFF は zlib を使い、WOFF2 はフォントデータに合わせた前処理を伴う Brotli を使い、およそ 30% 小さくなります。同じフォント、同じフィーチャー、同じレンダリング結果で、ダウンロードだけが小さくなります。

いまも WOFF のフォールバックが要りますか

ほとんどの場合は不要です。いまも更新を受けているすべてのブラウザーは WOFF2 を読めるので、WOFF も配信すると事実上誰もいない相手のために各書体の二つ目のコピーを送ることになります。例外は 2016 年ごろより前のブラウザーに意図的に固定された環境です。

WOFF フォントを自分のコンピュータにインストールできますか

できません。オペレーティングシステムはこれを受け付けません。ウェブ配信のためのラッパーです。TTF か OTF に変換してそちらをインストールしてください。ラッパーはまさにそれらのテーブルを含んでいるので、何も失われません。

WOFF を WOFF2 に変換すると画質は落ちますか

落ちません。どちらも同じフォントのテーブルを包んだラッパーなので、どちらの向きでも変換は可逆です。輪郭、カーニング、OpenType のフィーチャーは同一のままで、違うのは圧縮だけです。

ウェブサイトで見つけた WOFF ファイルを使えますか

技術的には動きますが、法的にはたいてい使えません。ウェブフォントのライセンスは特定のドメインとトラフィック量に紐づいていることが多く、ファイルをダウンロードしても何も移りません。SIL Open Font License の書体は例外で、自由に自己ホストできます。