aspose.info
JA

WOFF - Web Open File Format

更新日

.WOFF オプション番号

拡張子が .woff のファイルは、Web Open Font Format (WOFF) に基づく Web フォント ファイルです。 TrueType (.TTF) または OpenType (.OTT) フォント タイプに基づく、形式固有の圧縮コンテナーがあります。 WOFF は、Web フォントをデスクトップ アプリケーションで使用されるフォント ファイルと区別することを目的として導入されました。さらに、この形式は、ネットワークを介してサーバーからクライアントのコンピューターにフォントを転送する際の待ち時間を短縮することを目的としています。 WOFF ファイルを TTF やその他のフォント ファイル形式に変換できるツールがいくつかあります。

WOFF ファイル形式

WOFF フォント形式は、TrueType、OpenType、Open Font Format などのさまざまなフォント タイプで使用されるテーブル ベースの sfnt 構造体のフォント データ テーブルを圧縮します。これは、これらのフォント タイプのコンテナーのようなものであり、コンテナーに含まれるフォントのメタデータと私用データを含める余地もあります。コンバーターは sfnt ファイルを使用して WOFF 形式のファイルにし、ユーザー エージェントはエンコードされたファイルを Web ドキュメントで使用するために復元します。復元されたフォント データは、すべての面で入力フォント形式と正確に一致することに注意してください。

WOFF ファイル ユーティリティには、グリフのサブセット化、検証、フォント機能の追加などの追加機能が含まれていることがよくありますが、必須ではありません。作成者と使用エージェントの両方が、基礎となるフォント データの有効性が保持されていることを確認する必要があります。

WOFF ファイルの構造

WOFF ファイルの構造は、sfnt フォントの構造に似ています。これは、各フォント データ テーブルへの長さとオフセットを含むテーブル ディレクトリに基づいています。すべての表は、この初期情報の後に続きます。このファイルには、元のフォントと同じフォント データベースが含まれています。テーブルの順序も同じですが、それぞれが圧縮されている場合があります。ただし、元のテーブル ディレクトリは WOFF テーブル ディレクトリに置き換えられます。

WOFF ファイルは次のもので構成されます。

  • WOFFHeader - 基本的なフォント タイプとバージョンを含むファイル ヘッダーと、メタデータおよびプライベート データ ブロックへのオフセット。
  • TableDirectory - 元のサイズ、圧縮サイズ、および WOFF ファイル内の各テーブルの場所を示すフォント テーブルのディレクトリ。
  • FontTables - 必要な帯域幅を削減するために圧縮された、入力 sfnt フォントからのフォント データ テーブル。
  • ExtendedMetadata - 拡張メタデータのオプション ブロック。XML 形式で表され、WOFF ファイルに保存するために圧縮されます。
  • PrivateData - フォント デザイナー、ファウンドリ、またはベンダーが使用するプライベート データのオプション ブロック。

WOFFヘッダー

WOFF ヘッダーは、ファイルに含まれるデータの種類を示す識別署名で構成されます。 WOFF ヘッダーとそのフィールドは次のとおりです。

タイプフィールド名説明
UInt32署名0x774F4646 ‘wOFF’
UInt32flavor
UInt32長さWOFF ファイルの合計サイズ。
UInt16numTablesフォント テーブルのディレクトリ内のエントリ数。
UInt16予約済み予約済み;ゼロに設定。
UInt32totalSfntSize圧縮されていないフォント データに必要な合計サイズ。sfnt ヘッダー、ディレクトリ、およびフォント テーブル (パディングを含む) を含みます。
UInt16majorVersionWOFF ファイルのメジャー バージョン。
UInt16minorVersionWOFF ファイルのマイナー バージョン。
UInt32metaOffsetWOFF ファイルの先頭からメタデータ ブロックまでのオフセット。
UInt32metaLength圧縮されたメタデータ ブロックの長さ。
UInt32metaOrigLengthメタデータ ブロックの非圧縮サイズ。
UInt32privOffsetWOFF ファイルの先頭からプライベート データ ブロックまでのオフセット。
UInt32privLengthプライベート データ ブロックの長さ。

参考文献

関連項目