PDCIDFont
PDCIDFontは、Apache PDFBox PDModel API内のクラスで、PDF文書内のCIDFont(Character Identifier Font)を表現します。
PDCIDFontは、Apache PDFBox PDModel API内のクラスで、PDF文書内のCIDFont(Character Identifier Font)を表現します。CIDFontは、 ( 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 ) で定義されているように、中国語、日本語、韓国語などのアジア言語において大規模な文字セットを扱うために設計された複合フォントタイプです。このクラスは、フォント記述子、文字マッピング、エンコーディング情報を含むCIDFontプロパティの読み取りと操作を、開発者がプログラムで行えるようにします。
PDCIDFontは、Apache PDFBoxのPDModel APIレイヤー内の高レベルJavaクラスで、PDF文書内に存在するCIDFontオブジェクトをカプセル化します。文字コードをグリフに直接マッピングする単純なフォントとは異なり、CIDFontは2段階のマッピングプロセスを使用します。まず文字コードからCharacter Identifier(CID)へ、次にCIDから実際のグリフへとマッピングします。このアーキテクチャにより、CIDFontは数千から数万の文字を含む文字セットをサポートでき、大規模な文字レパートリーを持つ言語に不可欠です。
PDCIDFontクラスは、基盤となるCOS(Carousel Object Structure)レイヤーオブジェクトのラッパーとして機能し、開発者により直感的で型安全なインターフェースを提供します。このクラスはPDFBox内の基本フォントクラスを継承し、CIDSystemInfo辞書へのアクセス、グリフのデフォルト幅の取得、東アジアの組版で一般的な縦書きモードの操作など、CIDFont固有の操作メソッドを実装しています。
PDCIDFontの理解は、国際化された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 ) で概説されているアクセシビリティ準拠のための適切なフォント埋め込みを確保したりするアプリケーションを構築する際、開発者はテキスト抽出エラー、レンダリング問題、アクセシビリティの問題を回避するために、CIDFontを正しく処理する必要があります。
PDCIDFontは、フォントプロパティの検査、レイアウト計算のための文字幅の決定、フォントが適切に埋め込まれているか参照されているかの確認に必要なツールを提供します。これは、 ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) で説明されているTagged PDF文書を扱う際に特に重要で、正しいフォント処理により支援技術が文書コンテンツを適切に解釈できるようになります。適切なCIDFont処理がなければ、アプリケーションは文書を正しく処理できず、文字化け、文字の欠落、コンプライアンス違反につながる可能性があります。
Apache PDFBoxがPDF文書内でCIDFontに遭遇すると、フォントのプロパティとメソッドへのアクセスを提供するPDCIDFontオブジェクトをインスタンス化します。このクラスは、PDF構造からフォント辞書を読み取ります。フォント辞書には、BaseFont名、CIDSystemInfo辞書(Registry、Ordering、Supplement値を含む)、フォント記述子などの重要な情報が含まれています。
PDCIDFontクラスは、文字メトリクスを取得するメソッドを実装しており、その中にはCIDを指定して文字の幅を計算するgetWidth()メソッドがあります。明示的な幅エントリを持たない文字については、クラスはフォント辞書で指定されたデフォルト幅(DW)値にフォールバックします。また、このクラスはCIDToGIDMapも処理します。これはTrueTypeベースのCIDFontにおいて、CIDをグリフ識別子にマッピングします。
開発者は主に、ページのコンテンツストリームを処理する際にPDCIDFontオブジェクトと対話します。コンテンツストリームでは、テキスト表示演算子がページのリソース辞書からフォントを参照します。PDFBoxのテキスト抽出フレームワークは、PDCIDFontを使用してコンテンツストリームから文字コードをデコードし、フォントのToUnicodeマッピングを通じてUnicode値にマッピングし、レイアウト解析のためのメトリクスを取得します。このクラスは、縦書きテキストの適切なレンダリングに必要な縦書きメトリクスと代替グリフ配置情報にアクセスするメソッドを通じて、縦書きモードもサポートしています。
- CIDFont – 2段階の文字からグリフへのマッピングプロセスを通じて大規模な文字セットをサポートするために設計された複合フォントタイプ
- PDFont – Apache PDFBoxにおけるすべてのPDFフォントタイプの基底クラスで、共通のフォント操作を提供
- COS(Carousel Object Structure) – PDFBoxにおける低レベルオブジェクトモデルで、PDFファイル構造を直接表現
- ToUnicode CMap – 文字コードまたはCIDをテキスト抽出のためのUnicode値に変換するマッピングテーブル
- Font Descriptor – フォントの視覚的特性を記述するメトリクスとプロパティを含む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
