PDMMType1Font
PDMMType1Fontは、Apache PDFBoxのPDModel APIに含まれるクラスで、PDF文書内のType 1フォントを表現します。
PDMMType1Fontは、Apache PDFBoxのPDModel APIに含まれるクラスで、PDF文書内のType 1フォントを表現します。Type 1フォントは、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 ) でサポートされている元々のフォント形式の一つで、PostScriptアウトラインを使用して文字形状を定義します。このクラスは、PDF文書をプログラム的に読み取ったり操作したりする際に、フォントメトリクス、エンコーディング情報、グリフデータにアクセスするためのメソッドを開発者に提供します。
PDMMType1Fontは、org.apache.pdfbox.pdmodel.fontパッケージ内のJavaクラスで、PDF文書に埋め込まれている、または参照されているType 1フォントの高レベル表現として機能します。
(
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フォントは、3次ベジェ曲線を使用して文字アウトラインを記述し、小さいサイズでのレンダリング向上のためにPostScriptのヒンティング機構をサポートします。このクラスは、PDType0Font(コンポジットフォント用)やPDTrueTypeFont(TrueTypeフォント用)などの他のPDFBoxフォントクラスとは異なり、Type 1フォント形式特有の特性(エンコーディングスキームやフォントメトリクス構造を含む)を専門的に処理します。このクラスはPDSimpleFont親クラスを拡張し、Type 1フォント固有のフォント置換、文字幅計算、グリフレンダリングのためのメソッドを実装しています。
PDF文書を扱う開発者にとって、PDMMType1Fontは、レガシーPDFファイルやPostScriptベースのフォントを使用する文書を処理する際に不可欠です。このクラスを理解することで、正確な文字認識によるテキスト抽出、既存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 ) で概説されているアクセシビリティ準拠の確保などのシナリオにおいて、適切なフォント処理が可能になります。Type 1フォントは、専門的に組版された文書、科学出版物、古い出版システムで作成された文書において今なお一般的であり、包括的なPDF処理アプリケーションにとってこのクラスは極めて重要です。Type 1フォントの適切な処理は、テキスト抽出、検索機能、コンテンツリフロー操作が多様なPDF文書全体で正しく動作することも保証します。
PDMMType1Fontは、PDFのリソース構造内のフォント辞書とフォント記述子エントリを解析することで動作します。PDF文書が読み込まれると、PDFBoxはフォントのエンコーディング(文字コードをグリフ名にマッピング)、メトリクス(文字幅やバウンディングボックスを含む)、そして埋め込みフォントプログラムまたは標準14フォントのいずれかへの参照を読み取ります。このクラスは、Unicode文字列をフォントの内部エンコーディングに変換するencode()、レイアウト計算のための文字メトリクスを取得するgetWidth()、個々のグリフのベクターアウトラインを取得するgetPath()などのメソッドを提供します。埋め込みType 1フォントの場合、クラスはPDF内に格納されたバイナリフォントデータにアクセスでき、標準フォントの場合は組み込みメトリクスを使用します。テキストのレンダリングまたは抽出時には、PDMMType1Fontは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
)
仕様に従って文字が適切にデコードされることを保証し、Type 1フォントが通常使用するシングルバイトおよびカスタムエンコーディングスキームの両方をサポートします。
- PDFont – Apache PDFBoxのPDModel APIにおけるすべてのフォントタイプの抽象基底クラス
- PDSimpleFont – Type 1、TrueType、Type 3フォントを含む単純フォントタイプの親クラス
- PDType0Font – CJK言語などのマルチバイト文字エンコーディングをサポートするコンポジットフォント(Type 0)を表すクラス
- Font Encoding – フォント内の文字コードを特定のグリフに変換するマッピングシステム
- 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
- (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
