Font descriptor key /Widths
`/Widths`キーは、PDFフォント辞書内の配列エントリで、フォント内の各グリフの水平方向の幅をテキストスペースの1/1000単位で指定します。
/Widthsキーは、PDFフォント辞書内の配列エントリで、フォント内の各グリフの水平方向の幅をテキストスペースの1/1000単位で指定します。このキーは、適切なテキストレイアウトとレンダリングに不可欠であり、PDFプロセッサが各文字がページ上で占める正確なスペースを計算できるようにします
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
。/Widths配列は、他のフォントディスクリプタキーと連携して、テキストレンダリングのための完全なメトリクス情報を提供します。
/Widthsキーには、フォント内の連続した文字コード範囲のグリフ幅を表す数値の配列が含まれます。配列内の各要素は、/FirstCharキーで指定された文字コードから始まり、/LastCharで指定されたコードまで続く、単一文字のアドバンス幅に対応します。これらの幅の値は、グリフスペース単位で表現され、通常、Type 1およびTrueTypeフォントでは1000単位/emスクエアにスケーリングされます。/Widths配列は、シンプルフォント(Type 1、TrueType、Type 3)では必須ですが、複合フォント(Type 0)では異なる方法で処理され、幅情報はCIDFontの/W配列に保存されます。大規模な文字セットを効率的に処理するためにより複雑な形式を使用するCIDFontsの/Wキーとは異なり、/Widthsはシンプルな順次配列構造を提供します。
正確なグリフ幅情報は、PDFレンダリングエンジンがページ上でテキストを正しく配置し、改行、単語間隔、テキスト配置を計算するために不可欠です。適切な/Widthsデータがないと、テキストの間隔が不正確になったり、重なったり、位置がずれたりして、文書レイアウトが崩れ、正確な文字位置に依存するアクセシビリティ機能に影響を与える可能性があります
(
Citation: N.A., 2014
(N.A.).
(2014).
Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1)
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/64599.html
)
。プログラムでPDFを作成または操作する開発者にとって、カスタムフォントの埋め込み、フォントのサブセット化、または異なるビューアアプリケーション間でテキストが正しくリフローすることを保証する際に、/Widthsキーを理解することは不可欠です。不正確または欠落した幅情報は、テキスト抽出、検索機能、および文字境界を理解する必要がある支援技術にも問題を引き起こす可能性があります。
/Widths配列は、文字コードによってインデックス付けされるルックアップテーブルとして機能します。PDFプロセッサがテキストストリーム内で文字に遭遇すると、文字コードから/FirstChar値を減算して、/Widths配列へのインデックスを決定します。たとえば、/FirstCharが32(スペース文字)で、プロセッサが文字コード65(文字’A’)に遭遇した場合、配列のインデックス33(65-32)の幅を検索します。取得した幅の値は、現在のフォントサイズとテキストマトリックスによってスケーリングされ、次の文字をレンダリングする前にテキスト位置を進める実際の距離を決定します。Type 1およびTrueTypeフォントの場合、これらの幅の値は通常、元のフォントプログラムに保存されているメトリクスと一致し、1000単位のemスクエアにスケーリングされます。Type 3フォントは、FontMatrixで定義された任意のグリフスペース単位を使用する場合があります。/Widths配列には、正確に(LastChar - FirstChar + 1)個の要素が含まれている必要があり、欠落しているグリフは通常、幅ゼロまたは.notdef文字の幅で表されます。
- Font Descriptor –
/Widthsキーを含むフォントメトリクスと属性を含む辞書 - FirstChar –
/Widths配列で幅が定義される最初の文字コード - LastChar –
/Widths配列で幅が定義される最後の文字コード - CIDFont – 大規模な文字セットを処理するために
/Widthsの代わりに/Wキーを使用するフォントタイプ - Glyph Metrics – 幅、高さ、ベアリングを含むフォントグリフの空間特性を定義する測定値
- (N.A.) (2020)
- (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
- (N.A.) (2014)
- (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html
