Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

PDSimpleFont

PDSimpleFontは、Apache PDFBox PDModel APIのクラスで、PDF文書におけるシンプルフォント(simple font)タイプを表現します。

キーワード: pdsimplefont, PDSimpleFont

概要

PDSimpleFontは、Apache PDFBox PDModel APIのクラスで、PDF文書におけるシンプルフォント(simple font)タイプを表現します。 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されているように、PDFにおけるシンプルフォントは、単一バイトの文字コードを使用してグリフを選択します。これにより、マルチバイトエンコーディングを使用する複合フォント(composite font)とは区別されます。このクラスは、Javaデベロッパーに対して、PDFのページ、フォーム、注釈を扱う際に、エンコーディング、メトリクス、グリフマッピングなどのシンプルフォントプロパティにアクセスし操作するための高レベルなメソッドを提供します。

定義

PDSimpleFontは、Apache PDFBoxにおける抽象クラスで、Type 1フォント(PDType1Font)、TrueTypeフォント(PDTrueTypeFont)、Type 3フォント(PDType3Font)、および14種類のPDF標準フォントを含む、PDFシンプルフォントタイプの親クラスとして機能します。 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) によると、シンプルフォントは0から255の範囲の単一バイト文字コードを使用してグリフを定義し、各コードはエンコーディングスキームを通じて単一のグリフにマッピングされます。複合フォント(Type 0フォントとCIDFont descendantsなど)とは異なり、シンプルフォントは、フォントのサブセット化や複数のフォントインスタンスを使用しない限り、256個を超えるグリフの文字セットを直接表現することはできません。PDSimpleFontは、フォントディスクリプタ、エンコーディング情報、文字幅、バウンディングボックスを取得するメソッドなど、すべてのシンプルフォントタイプに共通する機能を提供します。

重要性

PDSimpleFontの理解は、テキスト抽出、フォント埋め込み、またはPDF/UAアクセシビリティ準拠に取り組むデベロッパーにとって不可欠です。 ( Citation: N.A., (N.A.). (). 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を作成する際、デベロッパーは適切なエンコーディングとToUnicodeマッピングを確保する必要があり、これらはPDSimpleFontのようなフォントオブジェクトを通じて管理されます。このクラスにより、デベロッパーはフォントプロパティを検査して、テキストが正しくレンダリングされるかを判断したり、欠落しているグリフを特定したり、支援技術のために文字からUnicodeへのマッピングが存在することを確認したりできます。PDF文書を生成または修正するアプリケーションにとって、PDSimpleFontは、フォントを正しく埋め込み、エンコーディングスキームを設定し、テキストコンテンツが視覚的に正確かつ意味的にアクセシブルであることを保証するためのインターフェースを提供します。

仕組み

PDSimpleFontは、 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されたPDF構造へのオブジェクト指向アクセスを提供するPDFBox PDModelレイヤー内で動作します。PDFが読み込まれると、PDFBoxはフォント辞書を解析し、フォントのSubtypeエントリに基づいて適切なPDSimpleFontサブクラスをインスタンス化します。デベロッパーは、getEncoding()でフォントのエンコーディングスキームを取得したり、getStringWidth()でテキストの寸法を計算したり、encode()でUnicode文字列をフォントのエンコーディングを使用してバイト配列に変換したりするなどのメソッドを通じて、PDSimpleFontインスタンスと対話します。このクラスは、異なるエンコーディングスキーム(StandardEncoding、WinAnsiEncoding、MacRomanEncoding、またはカスタムエンコーディング)の複雑さを処理し、アセント、ディセント、キャップハイト、イタリック角度などのメトリクスを含むフォントディスクリプタへのアクセスを提供します。 ( Citation: , (). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) で概説されているベストプラクティスに従ったTagged PDFの場合、PDSimpleFontは、アクセシビリティのためにActualTextまたはToUnicodeエントリがグリフに適切に関連付けられることを保証するのに役立ちます。

関連用語

  • PDFont – PDFBoxにおけるすべてのフォントタイプ(シンプルフォントと複合フォントの両方を含む)の親抽象クラス
  • PDType1Font – Type 1フォント(14種類のPDF標準フォントを含む)を表すPDSimpleFontのサブクラス
  • Font Encoding – シンプルフォントにおいて文字コードをグリフ識別子に変換するマッピングスキーム
  • ToUnicode CMap – グリフに対してUnicode値を提供するマッピングテーブルで、テキスト抽出とアクセシビリティに不可欠
  • Font Descriptor – フォント名、ウェイト、バウンディングボックスなどのフォントメトリクスと属性を含むPDF辞書

出典

(N.A.) (2020)
(N.A.). (). 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)
(). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
(N.A.) (2014)
(N.A.). (). 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