FontFormat
FontFormatは、Apache PDFBoxにおいて、JavaアプリケーションでのPDF文書処理におけるフォント関連の操作を扱うクラスです。
FontFormatは、Apache PDFBoxにおいて、Javaアプリケーションでの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文書で定義された複雑なフォント構造と、Javaのテキスト処理機能との橋渡し役を果たします。
FontFormatは、Apache PDFBoxライブラリ内の特化したユーティリティクラスであり、PDFフォントとそれに関連する文字エンコーディングを扱うためのロジックをカプセル化しています。JavaのAWTや他のグラフィックスライブラリにある一般的なフォントレンダリングクラスとは異なり、FontFormatは、 ( 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 ) で定義されているType 1、TrueType、Type 3、およびCIDフォントのサポートを含む、PDFフォント処理の固有の要件に特化して対応しています。このクラスは、PDFコンテンツストリーム内の文字コードと実際のUnicode文字とのマッピングを処理し、正確なテキスト抽出と操作に不可欠な役割を果たします。FontFormatは、フォントリソース管理ではなく、フォーマットとエンコーディングの側面に焦点を当てている点で、PDFont(PDFBoxの主要なフォントクラス)とは異なります。
PDF文書を扱う開発者にとって、適切なフォント処理はいくつかの重要なシナリオで不可欠です。第一に、正確なテキスト抽出はフォントエンコーディングの正しい解釈に依存しており、FontFormatがこれを促進します。これは特に ( 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文書を作成または修正する際、開発者は、異なる閲覧プラットフォーム間で文書の忠実性を維持するために、テキストレンダリングが適切なフォント形式とエンコーディングを使用していることを確認する必要があります。第三に、Tagged PDF ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) を扱う際、適切なフォント処理により、構造要素が正しい視覚的表現とともに意味的な意味を維持することが保証されます。適切なフォント形式処理がなければ、開発者は文字化けしたテキスト抽出、不正確な文字表示、またはアクセシビリティの失敗などの問題に直面する可能性があります。
FontFormatは、PDF文書内に存在するフォント辞書エントリとエンコーディングスキームを解釈することで動作します。PDFを処理する際、このクラスは、フォントタイプ、エンコーディングスキーム(WinAnsiEncoding、MacRomanEncoding、またはカスタムエンコーディングなど)、および文字マッピングなどの特性を指定するフォント記述子を読み取ります。シンプルフォントの場合、FontFormatは単一バイトの文字コードをグリフにマッピングし、コンポジットフォント(CIDフォント)の場合は、マルチバイト文字シーケンスを処理します。このクラスは、PDF文字コードとUnicode値との間の変換を行うメソッドを提供し、明示的なマッピング情報を提供するToUnicode CMapが存在する場合はそれを考慮します。テキスト抽出時には、FontFormatはPDFBoxのテキストストリッパークラスと連携して、コンテンツストリームからのバイトシーケンスが読み取り可能なテキストとして正しく解釈されることを保証します。フォント埋め込みおよびサブセット化操作では、FontFormatは、どのグリフを含める必要があるか、および出力PDFでどのようにエンコードすべきかを決定するのに役立ち、ファイルサイズを最適化しながらPDF標準への準拠を確保します。
- PDFont – PDFフォントリソースとそのプロパティを表すApache PDFBoxの主要クラス
- Character Encoding(文字エンコーディング) – 文字コードを特定の文字にマッピングするスキームで、PDFにおけるテキスト解釈に不可欠
- ToUnicode CMap – 文字コードからUnicode値への明示的な変換を提供する、PDF文書内のマッピングテーブル
- Font Descriptor(フォント記述子) – メトリクスや特性を含む、フォントに関するメタデータを含む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
