FontInfo
FontInfoは、Apache PDFBoxのユーティリティクラスで、PDFドキュメントに埋め込まれている、または参照されているフォントに関する詳細情報を提供します。
FontInfoは、Apache PDFBoxのユーティリティクラスで、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 ) で定義された低レベルのフォントデータ構造とJavaアプリケーション層との橋渡し役を果たし、開発者がフォントプロパティの照会、テキストレンダリング特性の分析、およびアクセシビリティや処理目的のためのフォントメタデータの抽出を可能にします。
FontInfoは、Apache PDFBoxライブラリ内のJavaクラスで、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ファイル構造内に格納される生のフォント辞書やストリームとは異なり、FontInfoは、フォント名、タイプ(Type 1、TrueType、OpenType、CID)、エンコーディングスキーム、埋め込み状態、文字マッピング情報などのフォント属性にアクセスするための開発者にとって使いやすいインターフェースを提供します。
このクラスは、フォントレンダリング操作を実行するのではなく、フォント情報の抽出と提示に特化している点で、PDFont(PDFBoxにおける主要なフォント表現クラス)とは異なります。PDFontがグリフの描画とテキストレイアウトを処理するのに対し、FontInfoは、テキスト抽出、フォント置換の決定、およびアクセシビリティ分析にとって重要なフォント特性を公開することに集中しています。これは、 ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) で説明されているTagged PDF構造を扱う際に特に重要です。
PDFドキュメントを扱う開発者にとって、フォント特性を理解することは、いくつかの実用的な理由から不可欠です。
テキスト抽出の精度: フォントエンコーディングと文字マッピングの違いは、PDFコンテンツストリームからテキストを抽出する際の解釈方法に直接影響します。FontInfoは、文字化けや不正確なテキスト出力につながる可能性のあるエンコーディング問題を開発者が特定するのに役立ちます。
アクセシビリティコンプライアンス: PDF/UA準拠のドキュメント ( 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 ) を作成または検証する際、開発者はフォントが適切に埋め込まれ、Unicodeマッピングが利用可能であることを確認する必要があります。FontInfoは、これらの要件をプログラムで検証するために必要なメタデータを提供します。
フォント置換: PDFがターゲットシステムで利用できないフォントを参照している場合、アプリケーションは適切な置換判断を行う必要があります。FontInfoは、フォントファミリー、ウェイト、スタイルなどの特性を公開し、インテリジェントなフォールバック選択を可能にします。
ドキュメント分析: 法務、コンプライアンス、およびアーカイブワークフローでは、ドキュメントが特定の基準を満たしていることを確認するために、詳細なフォント監査が必要になることがよくあります。FontInfoは、ドキュメントコレクション全体にわたるフォント使用パターンの自動分析を容易にします。
FontInfoは、PDFドキュメント構造からフォント関連オブジェクトを解析し、アクセス可能なJavaメソッドを通じてそれらを提示することで動作します。特定のフォント用にインスタンス化されると、複数のソースからデータを読み取ります。
フォント辞書の解析: このクラスは、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 ) で定義されているフォント辞書の標準エントリ(BaseFont、Subtype、Encoding、FontDescriptor)から値を抽出します。
エンコーディング分析: FontInfoは、コンテンツストリーム内のバイトコードが実際の文字にどのようにマッピングされるかを決定するフォントのエンコーディングを検査します。これには、定義済みエンコーディング(WinAnsiEncodingやMacRomanEncodingなど)、カスタムEncoding辞書、およびCIDフォントに使用されるIdentity-H/Vエンコーディングの区別が含まれます。
埋め込み検出: このクラスは、フォントプログラムがPDF内に埋め込まれているか(FontFile、FontFile2、またはFontFile3ストリーム経由)、単に名前で参照されているかをチェックします。これは、移植性とレンダリングの一貫性に影響します。
Unicodeマッピング: 適切なテキスト抽出とアクセシビリティのため、FontInfoは利用可能な場合にToUnicode CMapデータにアクセスし、文字コードからUnicode値への変換を可能にします。これは、Tagged PDF構造 ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) にとって重要です。
Descriptorプロパティ: FontDescriptorが存在する場合、FontInfoは、アセント、ディセント、キャップハイト、およびセリフ/サンセリフ、シンボリック/非シンボリック、スクリプト特性を示すフラグなどのメトリクスを公開します。
開発者は通常、PDFBoxのフォント反復メカニズムを通じてFontInfoを使用し、ドキュメントで使用される各フォントを検査してレポートを作成したり、コンプライアンスを検証したり、テキスト抽出の問題をトラブルシューティングしたりします。
- PDFont – フォントオブジェクトを表現し、テキストレンダリング操作を処理するApache PDFBoxの主要クラス
- Font Encoding – PDFコンテンツストリーム内のバイトコードと実際の文字グリフ間のマッピングメカニズム
- Font Embedding – 一貫したレンダリングを保証するために、PDFファイル内に完全なフォントプログラムを含める慣行
- ToUnicode CMap – 適切なテキスト抽出とアクセシビリティのために文字コードをUnicode値にマッピングするPDFオブジェクト
- Font Descriptor – PDF仕様で定義されている詳細なフォントメトリクスと特性を含む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
