Font navigation
Font navigationとは、PDF文書の構造内でフォントリソースを走査し、アクセスするプロセスを指します。
Font navigationとは、PDF文書の構造内でフォントリソースを走査し、アクセスするプロセスを指します。これにより、開発者はプログラムでフォント定義とそれに関連するプロパティを特定、検査、操作できるようになります。アクセシブルなPDFにおいては、適切なfont navigationは、支援技術がテキストコンテンツを正しく解釈するために不可欠であり、これはアクセシビリティ標準 ( 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 ) で定められています。この機能は、フォント分析、テキスト抽出、文書検証ワークフローなどのタスクにおいて基本的なものです。
Font navigationは、PDF文書構造内のフォント辞書階層を走査するためのプログラマティックなインターフェースまたは方法論です。グリフを表示する単純なフォントレンダリングや、フォントファイルをパッケージ化するフォント埋め込みとは異なり、font navigationはPDFのリソース辞書で定義されたフォントのメタデータ、エンコーディング情報、構造的関係へのアクセスに焦点を当てています。これには、親フォントと子孫フォント間の移動、文字エンコーディングマップ(CMap)へのアクセス、メトリクスと属性を含むフォント記述子の取得が含まれます。このプロセスは通常、PDFの内部オブジェクト参照を解析してフォントオブジェクトを特定し、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 ) で定義されているフォントタイプ、ベースフォント名、エンコーディングスキーム、グリフ幅情報などのプロパティを抽出することを含みます。
PDF生成、検証、またはアクセシビリティ準拠に取り組む開発者にとって、font navigation機能はいくつかの実用的なアプリケーションにおいて重要です。アクセシビリティ機能を実装する際、開発者はフォント構造を走査して、Unicodeマッピングが正しいこと、およびスクリーンリーダーや他の支援技術によってテキストが適切に抽出できることを確認する必要があります ( 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 ) 。Font navigationはまた、フォントがPDF標準に従って適切に埋め込まれ、サブセット化され、または参照されているかをチェックする文書検証ツールにとっても不可欠です。さらに、テキスト抽出アルゴリズムは、特にカスタムエンコーディングやコンポジットフォントを扱う際に、文字コードを読み取り可能なテキストに正しくデコードするためにfont navigationに依存しています。堅牢なfont navigationがなければ、開発者はフォント使用状況を確実に監査したり、レンダリングの問題をトラブルシューティングしたり、文書が長期アーカイブやアクセシビリティのコンプライアンス要件を満たしていることを保証することができません。
Font navigationは、PDFドキュメントのリソース階層を通じて動作します。ここでは、フォントはページリソースまたはコンテンツストリームから参照される辞書オブジェクトとして定義されています。このプロセスは、ページのリソース辞書にアクセスすることから始まります。これには、フォント名をフォントオブジェクトにマッピングする/Fontエントリが含まれています。各フォントオブジェクトは通常、/Type、/Subtype、/BaseFont、/Encoding、/FontDescriptorなどのエントリを含むフォント辞書を指す間接参照です。Unicodeテキストに一般的に使用されるType 0(コンポジット)フォントの場合、navigationには、文字からグリフへのマッピングを定義するCIDFont辞書とCMapリソースを含む追加のレイヤーを下降する必要があります
(
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
)
。開発者は、これらのオブジェクト参照を順次参照解決し、辞書エントリを解析し、間接オブジェクトポインタをたどってフォントのプロパティの完全な全体像を構築することで、font navigationを実装します。Tagged PDF文書では、font navigationは構造ツリーと交差する場合もあります。ここでは、特定のセマンティック要素に適用されるフォントを判断するために、マークされたコンテンツの参照を解決する必要があります
(
Citation: PDF Association, 2023
PDF Association(2023). Retrieved from
https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
)
。
- Font embedding(フォント埋め込み) – 一貫したレンダリングを確保するために、完全またはサブセット化されたフォントデータをPDFファイル内に含めるプロセス
- Font descriptor(フォント記述子) – アセント、ディセント、文字幅などのフォントに関する詳細なメトリクスと属性を含むPDF辞書オブジェクト
- CMap – コンポジットフォントにおける文字コードと文字識別子間の関係を定義する文字マッピングリソース
- Font dictionary(フォント辞書) – フォントリソースを定義する主要なPDFオブジェクトで、タイプ情報、エンコーディング、フォントプログラムへの参照を含む
- Text extraction(テキスト抽出) – エンコードされた文字ストリームとフォントマッピングを解釈することで、PDF文書から人間が読めるテキストコンテンツを取得するプロセス
- (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
- PDF Association (2023)
- PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
- (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
