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

PDF dictionary encoding

PDF dictionary encodingとは、PDF辞書オブジェクト内で指定される文字エンコーディング方式であり、テキストデータをどのように解釈し表示するかを定義します。

カテゴリ: Text & Fonts
キーワード: pdf dictionary encoding, PDF dictionary encoding

概要

PDF dictionary encodingとは、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 ) において、辞書はキーと値のペアを含む基本的なデータ構造であり、エンコーディングエントリは文字コードと対応するグリフとの間のマッピングを決定します。これは、視覚的な表示とアクセシビリティ機能の両方において適切な文字表現が不可欠なフォント辞書やテキストレンダリング操作において特に重要です。

定義

PDF dictionary encodingは、PDF辞書オブジェクト内で定義されるプロパティであり、最も一般的にはフォント辞書に見られ、文字コードを実際の文字やグリフにマッピングするために使用されるエンコーディング方式を指定します。エンコーディングは、事前定義されたエンコーディング名(WinAnsiEncoding、MacRomanEncoding、MacExpertEncodingなど)、カスタム文字マッピングを定義するエンコーディング辞書、または複雑なスクリプトやマルチバイト文字セット用のCMapへの参照として指定できます。

コンテンツストリーム内でテキストオペレータがバイトシーケンスをどのように解釈するかを扱うコンテンツストリームエンコーディングとは異なり、dictionary encodingはフォントオブジェクトレベルで文字からグリフへのマッピングを具体的に定義します。この区別は重要です。なぜなら、フォント辞書で指定されたエンコーディングによって、同じバイト値が異なる文字を表す可能性があるためです。PDF dictionary encodingは、アプリケーションやシステムレベルではなくPDFオブジェクトレベルで動作する点でUnicodeエンコーディングとは異なりますが、 ( 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 ) で概説されているように、適切なエンコーディング指定はUnicodeマッピングとアクセシビリティ準拠に不可欠です。

重要性

PDF生成、操作、またはテキスト抽出に携わる開発者にとって、PDF dictionary encodingの理解は、いくつかの実務的な理由から不可欠です。第一に、不適切なエンコーディング指定は、文字化け、欠落文字、または視覚的には正しく見えても適切に検索または抽出できないテキストにつながります。第二に、アクセシビリティ要件では、支援技術がドキュメントコンテンツを正確に読み取れるように適切なエンコーディングが義務付けられています ( 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ビューアやプラットフォーム間で正確な文字レンダリングを保証するために適切なエンコーディング方式を指定する必要があります。

開発の観点から、フォント辞書で正しいエンコーディングを設定することで、コピー&ペーストの失敗、テキスト検索機能の破損、アクセシビリティ違反などの一般的な問題を防ぐことができます。これは、Java、JavaScript、その他の言語でライブラリを使用してプログラム的にPDFを生成する場合に特に重要です。デフォルトのエンコーディング設定が意図した文字セットと一致しない可能性があるためです。

仕組み

PDF dictionary encodingは、フォント辞書オブジェクト内の/Encodingエントリを通じて動作します。PDFプロセッサが特定のフォントを参照するテキストに遭遇すると、フォント辞書を検索し、エンコーディング仕様を取得し、それを使用してフォントプログラム内の文字コードをグリフにマッピングします。

シンプルフォント(Type 1およびTrueType)の場合、エンコーディングは3つの方法で指定できます:

  1. 事前定義されたエンコーディング名:PDF仕様で定義された標準エンコーディング方式を参照する/WinAnsiEncoding/MacRomanEncodingなどの名前オブジェクト
  2. エンコーディング辞書:基本エンコーディングに加えて特定の差異を定義する辞書で、文字マッピングのカスタマイズが可能
  3. 暗黙的エンコーディング:エンコーディングが指定されていない場合、フォントの組み込みエンコーディングが使用される

コンポジットフォント(Type 0)の場合、エンコーディングは文字コードからキャラクターID(CID)へのマッピングを定義するCMapリソースを通じて処理され、その後グリフにマッピングされます。この2段階アプローチは、中国語、日本語、韓国語などの複雑なスクリプトや大規模な文字セットをサポートします。

エンコーディング辞書構造には、開始エンコーディング方式を指定する/BaseEncodingエントリと、特定の文字コードマッピングを上書きする/Differences配列が含まれます。このアプローチにより、開発者は標準エンコーディングから開始し、必要な文字位置のみをカスタマイズできるため、特殊文字やシンボルをサポートしながら互換性を維持できます。

Tagged PDF文書では、ActualTextとコンテンツ抽出が正しく動作するために適切なエンコーディングが必要です ( Citation: , (). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) 。これにより、エンコーディング指定はアクセシブルなドキュメント作成の重要な要素となっています。

関連用語

  • Font dictionary(フォント辞書) – エンコーディング、メトリクス、グリフデータを含むフォント特性を定義するPDF辞書オブジェクト
  • Character encoding(文字エンコーディング) – 文字コードを文字表現にマッピングするシステムで、PDF内のテキスト処理の基礎
  • CMap – コンポジットフォントで使用される文字マップで、文字コードとキャラクター識別子との関係を定義
  • Glyph(グリフ) – フォントプログラムで定義された文字の視覚的表現で、エンコーディングマッピングによって決定される
  • ToUnicode CMap – 文字コードからUnicode値への明示的なマッピングを提供する特殊なCMapで、テキスト抽出とアクセシビリティに使用される

出典

(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