.WOFF2 ファイルとは?
WOFF2 は、Web Open Font Format (WOFF) をさらに圧縮したフォント ファイル形式です。これは、Web フォントのファイル サイズを小さくする方法として開発されたもので、読み込みを高速化し、帯域幅の使用を抑えます。 WOFF2 は、Brotli と呼ばれる圧縮アルゴリズムを使用してフォント データを圧縮します。これにより、同等の WOFF フォントよりもファイル サイズが大幅に小さくなる可能性があります。この形式は、Chrome、Firefox、Safari、Opera、Edge (バージョン 14 以降) など、ほとんどの最新の Web ブラウザーでサポートされています。
WOFF2 ファイル形式 - 詳細情報
WOFF2 フォント ファイルの内部ファイル構造は、ヘッダー、メタデータ、テーブル ディレクトリ、フォント データ自体など、いくつかの異なる部分で構成されています。
ヘッダーには、ファイル内に存在するバージョン番号やテーブル数など、ファイルの全体的な形式に関する情報が含まれています。
メタデータ セクションには、フォント名、著作権、およびその他のフォント関連情報などの情報が含まれます。
テーブル ディレクトリには、ファイル内の位置や長さなど、フォントを構成するさまざまなテーブルに関する情報が含まれています。
フォント データ自体はいくつかの異なるテーブルに分割されます。各テーブルには、文字や対応するグリフなど、フォントに関する特定の情報が含まれています。これらのテーブルには、次のものが含まれる場合があります。
- ‘glyf’ テーブルには、各文字の形状とサイズを含む実際のフォント アウトラインが含まれています。
- 「head」テーブルには、バージョン番号、デザイン サイズなど、フォントに関する一般的な情報が含まれています。
- 「hmtx」テーブルには、文字の幅や位置など、フォントのメトリックに関する情報が含まれています。
- 各テーブルは、エンコード処理が完了した後、圧縮されて WOFF2 ファイル形式で保存されます。
全体的な構造は、高速な解析とデコードを可能にするように設計されているため、Web ブラウザーは Web サイトでフォントをすばやく効率的に読み込んで表示できます。
WOFF2 ヘッダー
WOFF ヘッダーは、ファイルに含まれるデータの種類を示す識別署名で構成されます。 WOFF ヘッダーとそのフィールドは次のとおりです。
タイプ | フィールド名 | 説明 |
---|---|---|
UInt32 | 署名 | 0x774F4632 ‘wOF2’ |
UInt32 | flavor | |
UInt32 | 長さ | WOFF ファイルの合計サイズ。 |
UInt16 | numTables | フォント テーブルのディレクトリ内のエントリ数。 |
UInt16 | 予約済み | 予約済み;ゼロに設定。 |
UInt32 | totalSfntSize | 圧縮されていないフォント データに必要な合計サイズ。sfnt ヘッダー、ディレクトリ、およびフォント テーブル (パディングを含む) を含みます。 |
UInt32 | totalCompressedSize 圧縮されたデータ ブロックの全長。 | |
UInt16 | majorVersion | WOFF ファイルのメジャー バージョン。 |
UInt16 | minorVersion | WOFF ファイルのマイナー バージョン。 |
UInt32 | metaOffset | |
UInt32 | metaLength | 圧縮されたメタデータ ブロックの長さ。 |
UInt32 | metaOrigLength | メタデータ ブロックの非圧縮サイズ。 |
UInt32 | privOffset | WOFF ファイルの先頭からプライベート データ ブロックまでのオフセット。 |
UInt32 | privLength | プライベート データ ブロックの長さ。 |