PDCIDFontType0
PDCIDFontType0は、Apache PDFBox PDModel APIのクラスであり、PDF文書で中国語、日本語、韓国語(CJK)などの大規模な文字セットをサポートするために使用される複合フォント形式であるType 0 CIDFontを表します。
PDCIDFontType0は、Apache PDFBox PDModel APIのクラスであり、PDF文書で中国語、日本語、韓国語(CJK)などの大規模な文字セットをサポートするために使用される複合フォント形式であるType 0 CIDFontを表します。Type 0 CIDFontは、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 ) において、単純な文字コードではなく文字識別子(CID)を通じて数千のグリフを参照できる文字コレクションベースのフォントとして定義されています。このクラスにより、開発者はPDFBoxを使用する際にCIDFontのプロパティにプログラム的にアクセスし、操作することができます。
PDCIDFontType0は、Apache PDFBoxの高レベルPDModel API階層内のJavaクラスで、Type 0 CIDFontを専門的に扱います。文字コードを直接グリフにマッピングする単純なフォントとは異なり、CIDFontは2段階のマッピングプロセスを使用します。まず文字コードから文字ID(CID)へ、次にCIDから実際のグリフ記述へとマッピングされます。「Type 0」という名称は、CIDFontの内部グリフ記述形式を指しており、Type 1スタイルのフォントプログラムを使用します(CFCを使用するType 2とは対照的です)。
このクラスは、PDFBox内のより広範なCIDFontファミリーを拡張し、CIDSystemInfo辞書、デフォルト幅値、幅配列、縦書きメトリクスなどのフォントプロパティにアクセスするメソッドを提供します。PDCIDFontType0は、基礎となるグリフ表現とレンダリングメカニズムにおいて、PDCIDFontType2(TrueTypeフォント技術に基づく)とは異なります。
国際的なPDF文書、特にCJKテキストを含む文書を扱う開発者にとって、PDCIDFontType0を理解することは、適切なフォント処理とテキスト抽出に不可欠です。アクセシビリティ標準 ( 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を処理する際、CIDFont構造を正しく解釈することで、支援技術が多言語コンテンツを正確にレンダリングできるようになります。
このクラスは、以下のような場合に特に重要になります:
- 大規模な文字セットを必要とする複雑なスクリプトを含むPDFからテキストを抽出する場合
- 国際的な文書におけるフォント埋め込みを検証する場合
- 数千の固有文字を表示する必要があるPDFを作成または変更する場合
- アジア言語コンテンツを含む文書のフォント関連レンダリング問題をデバッグする場合
- 文書のアクセシビリティとTagged PDF構造 ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) のための適切な文字マッピングを保証する場合
PDCIDFontType0は、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文書にType 0 CIDFontが含まれている場合、PDFBoxはフォント辞書を解析し、PDCIDFontType0インスタンスを作成してそのプロパティへのプログラム的なアクセスを提供します。
このクラスは、いくつかの重要なコンポーネントへのアクセスを提供します:
CIDSystemInfo:この辞書は、フォントが使用する文字コレクション(Adobe-Japan1やAdobe-GB1など)と順序システムを識別します。開発者はこの情報を照会して、フォントがサポートする文字セットを判断できます。
幅情報:CIDFontには様々な幅を持つ数千のグリフが含まれる可能性があるため、このクラスはデフォルト幅値と、CID範囲を特定のグリフ幅にマッピングする幅配列を取得するメソッドを提供します。これは、正確なテキストレイアウトと位置計算に不可欠です。
グリフマッピング:このクラスは、PDFコンテンツストリーム内の文字コードからCIDへのマッピングを定義するCMap(文字マップ)オブジェクトと連携して動作します。PDCIDFontType0は、これらのCIDを使用して適切なグリフ記述にアクセスします。
子孫フォント:Type 0フォントは、子孫CIDFontを参照する複合フォントです。PDCIDFontType0はこの子孫フォントを表し、その内部のType 1スタイルのフォントプログラムデータへのアクセスを提供します。
開発者は通常、テキストを抽出したりフォントリソースを分析したりする際に、高レベルのPDFBox APIを通じてPDCIDFontType0と間接的に対話しますが、高度なフォント操作シナリオでは直接アクセスも可能です。
- PDFont – Apache PDFBoxのPDModel APIにおけるすべてのフォントタイプの基底クラス
- PDCIDFontType2 – Type 1ではなくTrueTypeフォント技術に基づくCIDFontクラス
- CIDFont – PDF文書で大規模な文字セットに使用される文字識別子フォント形式
- CMap – 複合フォントにおいて文字コードをCIDに変換する文字マッピングオブジェクト
- PDType0Font – 子孫フォントとしてCIDFontを含む複合フォントクラス
- (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
