Font extraction
フォント抽出とは、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ドキュメントには完全なフォントプログラムまたはフォントのサブセットを埋め込むことができ、抽出によって開発者はこれらのリソースにプログラムでアクセスできるようになります。この機能は、テキストレンダリング、コンテンツ分析、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のフォント辞書、フォントストリーム、および関連オブジェクトの解析が含まれます。
フォント抽出はフォントレンダリングとは異なり、表示ではなく生のフォントデータの取得に焦点を当てています。また、完全なフォント情報を必ずしも保持せずに文字シーケンスを取得するテキスト抽出とも異なります。開発者は、プラットフォーム間での一貫したレンダリングを確保するため、ドキュメント内のフォント使用状況を分析するため、欠落しているフォントを置換するため、またはフォント情報がスクリーンリーダーの解釈に影響を与えるアクセシビリティ標準に準拠するために、さまざまな目的でフォントを抽出する場合があります。
フォント抽出は、PDF処理アプリケーションを扱う開発者にとって重要です。なぜなら、正確なドキュメント再現、コンテンツの再利用、アクセシビリティ準拠を可能にするからです。PDFを他の形式に変換したり、カスタムビューアでレンダリングしたりする場合、元のフォントデータにアクセスできることで、ドキュメント作成者が意図したとおりにテキストが表示されることが保証されます。これは、数学記号、非ラテン文字、ブランドタイポグラフィ用の特殊フォントを含むドキュメントにとって特に重要です。
アクセシビリティアプリケーションの場合、フォント抽出は、支援技術をサポートするための適切なフォントエンコーディングを要求する ( 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のオブジェクト構造をナビゲートしてフォント関連データを特定およびデコードすることによって動作します。このプロセスは通常、フォントオブジェクトを参照するドキュメントのリソース辞書を解析することから始まります。各フォントオブジェクトには、フォントタイプ(Type 1、TrueType、OpenTypeなど)、エンコーディングスキーム、埋め込みフォントプログラムまたはシステムフォントへの参照を指定するエントリを持つフォント辞書が含まれています。
埋め込みフォントの場合、フォントプログラムはPDF内のフォントファイルストリームに保存されます。抽出ツールは、正しいストリームを識別し、必要なフィルター(FlateEncode圧縮など)を適用し、フォントファイルをネイティブ形式で再構築する必要があります。このプロセスでは、ドキュメントで実際に使用されている文字のみが埋め込まれるフォントサブセットも処理する必要があり、開発者はPDF文字コードとサブセットの限定されたグリフコレクション間のマッピングを行う必要があります。
文字エンコーディング情報は、フォントのEncoding辞書と、文字コードとUnicode値間のマッピングを提供する関連するToUnicode CMapストリームから抽出されます。この情報は、適切なテキスト抽出と検索可能性にとって不可欠です。 ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) によると、適切な文字マッピングは、コンテンツが支援技術にアクセス可能でなければならないTagged PDFにおいて特に重要です。
- Font embedding(フォント埋め込み)– 一貫したレンダリングを確保するために、PDFドキュメント内にフォントデータを含めるプロセス
- Font dictionary(フォント辞書)– メタデータとフォントリソースへの参照を含むPDFオブジェクト
- Character encoding(文字エンコーディング)– 文字コードをフォント内の特定のグリフに変換するマッピングシステム
- Font subsetting(フォントサブセット化)– 完全なフォントではなく、ドキュメントで使用されている特定の文字のみを埋め込む手法
- ToUnicode CMap – 適切なテキスト抽出とアクセシビリティのために、文字コードをUnicode値にマッピングする構造
- (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
