CIDFontMapping
CIDFontMappingは、PDFドキュメント内の文字識別子(CID)とフォントグリフ間のマッピングを処理するApache PDFBoxのクラスです。
CIDFontMappingは、PDFドキュメント内の文字識別子(CID)とフォントグリフ間のマッピングを処理するApache PDFBoxのクラスです。このクラスは、 ( 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 ) で定義されている複雑な表記体系やマルチバイト文字エンコーディングに一般的に使用されるCIDキー付きフォントを処理する上で不可欠です。PDFBoxは、中国語、日本語、韓国語(CJK)フォントなど、大規模な文字セットを含むフォントを扱う際に、適切なテキスト抽出とレンダリングを可能にするためにCIDFontMappingを使用します。
CIDFontMappingは、Apache PDFBoxライブラリ内のJavaクラスで、CIDを実際の文字コードとグリフに変換するメカニズムを提供します。直接的なバイトから文字へのマッピングを使用する単純なフォントエンコーディングとは異なり、CIDキー付きフォントは文字選択とグリフ記述を分離しており、中間マッピング層を必要とします。CIDFontMappingクラスは、PDFコンテンツストリームで使用される文字コードとフォントからグリフを選択するために使用されるCIDの関係を定義するCMapリソース(文字マップ)を管理することで、この層を実装します。この抽象化により、PDFBoxは数千のグリフを持つフォントを効率的に処理でき、 ( 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サポートとアクセシビリティ準拠に必要な機能を実現します。
PDFテキスト抽出、フォント置換、またはドキュメントレンダリングを扱う開発者にとって、国際文書や複雑なタイポグラフィを扱う際にCIDFontMappingを理解することは極めて重要です。適切なCIDマッピングがなければ、テキスト抽出は文字化けした出力、不正確な文字列、またはグリフの欠落を生成する可能性があり、これはアクセシビリティツールやスクリーンリーダーにとって特に問題となります。このクラスにより、PDFBoxはマルチバイト文字エンコーディングを正しく解釈および処理でき、抽出されたテキストが意味的な意味と適切な文字表現を維持することを保証します。これは、正確なテキスト抽出がアクセシビリティ基準を満たすために不可欠なTagged PDFドキュメントを扱う際に特に重要です。
CIDFontMappingは、PDFドキュメントに埋め込まれているか参照されているCMapリソースをロードして解釈することで動作します。PDFBoxがドキュメント処理中にCIDキー付きフォントに遭遇すると、CIDFontMappingを使用して2段階のルックアッププロセスを解決します。まずCMapを使用して入力文字コードをCIDにマッピングし、次にそれらのCIDをフォントプログラム内の実際のグリフ記述にマッピングします。このクラスは、 ( 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 ) で定義されているさまざまな事前定義CMapと、カスタム埋め込みCMapの両方をサポートします。横書きと縦書きの両方の書字方向を処理し、複合フォント構造を処理し、特定のマッピングが利用できない場合のフォールバックシナリオを管理します。このクラスは、PDFBoxのフォントサブシステムと統合され、コンテンツストリーム内のテキスト演算子が抽出用のUnicode文字列に正しくデコードされるか、出力デバイスに適切にレンダリングされることを保証します。
- CIDFont – グリフ選択に文字コードではなく文字識別子を使用するフォントタイプ
- CMap – CIDキー付きフォントで文字コードをCIDにマッピングするリソース
- Type0Font – CIDFontを子孫として使用するPDFの複合フォント形式
- Font Encoding – 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
- (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
