PDType1Font
PDType1Fontは、Apache PDFBoxライブラリにおけるJavaクラスで、PDF文書のリソース構造内のType 1フォントを表現します。
PDType1Fontは、Apache PDFBoxライブラリにおけるJavaクラスで、PDF文書のリソース構造内のType 1フォントを表現します。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 ) で定義されている複数のフォントタイプの1つであり、PDType1FontはPDFBoxアプリケーションでこれらのフォントを扱うためのJava表現として機能します。
PDType1Fontは、Apache PDFBoxのorg.apache.pdfbox.pdmodel.fontパッケージ内の具象実装クラスです。このクラスはPDSimpleFont抽象クラスを継承し、特にType 1フォントを処理します。Type 1フォントは、3次ベジェ曲線を使用して文字のアウトラインを定義するPostScriptベースのフォントプログラムです。TrueTypeフォント(PDFBoxではPDType0FontまたはPDTrueTypeFontで表現)とは異なり、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 ) で定義される異なる内部構造とエンコーディングメカニズムを持ちます。
このクラスは、テキストのレンダリングと抽出に必要なフォントメトリクス、エンコーディング情報、文字マッピングにアクセスする機能を提供します。PDType1Fontは、14種類の標準PDFフォント(Helvetica、Times-Roman、Courierなど)とカスタム埋め込みType 1フォントの両方を扱うことができます。標準フォントを使用する場合、PDFBoxは実際のフォントデータを埋め込むことなくそれらを参照できるため、ファイルサイズを削減できます。
PDType1Fontの理解は、PDFテキスト操作を行うJava開発者にとって重要です。フォント処理はテキストのレンダリング品質、文書のアクセシビリティ、PDF/UA ( 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標準への準拠に直接影響を与えるためです。適切なフォント管理により、テキストが異なる表示プラットフォームで正しく表示され、テキスト抽出操作が正確な結果を返すことが保証されます。
アクセシブルなPDFを作成する開発者にとって、PDType1Fontのようなクラスを通じてフォントを選択し適切に実装することは、支援技術が文書コンテンツをどのように解釈するかに影響します。フォントのエンコーディングと文字マッピングは、スクリーンリーダーがテキストコンテンツを正しく読み上げられるかどうかに影響するため、フォント選択はPDF/UA準拠 ( 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がType 1フォントに依存しているため、Type 1フォントの処理はレガシーPDF文書の保守に不可欠です。開発者はこれらの文書を読み取り、変更、または変換する際に、下位互換性を確保するためにPDType1Fontを必要とします。
PDType1Fontは、基礎となるPDFフォント辞書をラップし、フォントプロパティにアクセスするJavaメソッドを提供することで動作します。既存のPDFを読み取る際、PDFBoxはPDFのリソース構造からフォント辞書を解析し、フォントのサブタイプと特性に基づいて適切なPDType1Fontオブジェクトをインスタンス化します。
コードでPDType1Fontを使用する場合、開発者は通常、静的定数(PDType1Font.HELVETICAやPDType1Font.TIMES_ROMANなど)を通じて標準14フォントの1つを参照するか、ファイルからカスタムType 1フォントを読み込みます。PDFページにテキストを追加する際、フォントオブジェクトはリソースとして設定され、PDFBoxはテキスト文字列のフォント文字セットへのエンコーディングを処理します。
このクラスは、フォントのエンコーディング(バイト値と文字のマッピング方法)、メトリクス(文字幅、バウンディングボックス)、ディスクリプタ(太さ、スタイル、フラグなどのフォント属性)に関する情報を保持します。PDType1Fontを使用してテキストが描画される際、PDFBoxはこれらのプロパティを使用してテキストの配置と間隔を計算します。テキスト抽出操作では、PDType1Fontは逆マッピングを提供し、エンコードされたバイトをアプリケーションで使用するUnicode文字に変換します。
内部的には、PDType1Fontは埋め込みフォントを扱う際にフォントプログラムデータ(実際のグリフ定義)を管理し、表示システムにインストールされているフォントに関係なく、フォントが一貫してレンダリングされることを保証します。
- PDFont – Type 1、TrueType、CIDフォントを含む、Apache PDFBoxのすべてのフォントタイプの抽象基底クラス
- PDFontDescriptor – フォント名、ファミリー、太さ、バウンディングボックス情報などのフォントメトリクスと属性を含むオブジェクト
- PDResources – PDType1Fontオブジェクトが登録される、フォント、画像、グラフィックス状態を含むページレベルのリソースのコンテナクラス
- Font Encoding – PDFコンテンツストリーム内のバイト値をフォント内の特定の文字に変換するマッピングシステム
- Standard 14 Fonts – すべてのPDFリーダーがサポートする必要がある組み込みフォントのセット。PDType1Fontは埋め込みなしでこれらを参照できる
- (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
