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

Encoding

PDFにおけるEncodingは、シンプルフォント用に文字コード(数値)とグリフ名または文字識別子との対応関係を定義します 。

カテゴリ: Text & Fonts
キーワード: encoding, Encoding

概要

PDFにおけるEncodingは、シンプルフォント用に文字コード(数値)とグリフ名または文字識別子との対応関係を定義します ( 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文書から確実に抽出できるようにするためには、適切なエンコーディング設定が不可欠です。

定義

EncodingとはPDF文書内のシンプルフォント(Type 1、TrueType、Type 3フォント)で使用される参照機構です。PDFファイルに格納された数値コードを、フォント内の特定のグリフを識別する参照情報に変換する変換テーブルとして機能します。より複雑な文字識別システムを使用する複合フォント(CIDFont)とは異なり、シンプルフォントは各1バイトコード(0〜255)を特定のグリフ名にマッピングする直接的なエンコーディングマッピングに依存しています。

PDFはStandardEncoding、MacRomanEncoding、WinAnsiEncodingなどの定義済みエンコーディングスキームに加え、開発者が特定の文字とグリフのマッピングを定義できるカスタムEncodingディクショナリもサポートしています ( 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生成や操作を行う開発者にとって、エンコーディングの理解はいくつかの理由から重要です。第一に、エンコーディングが正しくないと、テキストが誤った文字として表示されたり、まったく表示されなかったりして、文字化けやコンテンツの欠落につながります。第二に、エンコーディングはテキスト抽出と検索性に直接影響します。エンコーディングが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 )

プログラムでPDFを生成する際、開発者は指定されたエンコーディングがコンテンツストリームに書き込まれる実際の文字コードと一致していることを確認する必要があります。これは国際化、特殊文字、文書のアクセシビリティ準拠を維持する上で特に重要です。エンコーディングの不一致は、PDF実装におけるテキスト関連のバグの最も一般的な原因の1つです。

仕組み

PDFプロセッサがコンテンツストリーム内のテキストに遭遇すると、現在のフォントのエンコーディングを使用して各バイト値を解釈します。このプロセスは次の手順で進行します:

  1. コード取得: プロセッサがテキスト文字列からバイト値(マルチバイトエンコーディングの場合はバイト列)を読み取ります
  2. エンコーディング参照: バイト値が現在のフォントに関連付けられたエンコーディングテーブルへのインデックスとして使用されます
  3. グリフ識別: エンコーディングテーブルがグリフ名(“A”、“eacute”、“copyright"など)または文字識別子を返します
  4. グリフ選択: フォントプログラムがこのグリフ名を使用して実際のグリフ形状を特定し、レンダリングします

定義済みエンコーディングの場合、これらのマッピングは標準化されています。たとえば、WinAnsiEncodingではバイト値65がグリフ名"A"にマッピングされます。カスタムエンコーディングでは、開発者がベースエンコーディングを定義し、特定のコードポイントを代替グリフ名でオーバーライドする「Differences」配列を指定できます ( 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 )

エンコーディングはToUnicodeマッピングでも重要な役割を果たし、フォント固有のエンコーディングとUnicode値の橋渡しを行い、適切なテキスト抽出とアクセシビリティサポートを提供します。

関連用語

  • Simple Font – 1バイトエンコーディングスキームを使用するフォントタイプ(Type 1、TrueType、Type 3)
  • CIDFont – シンプルなエンコーディングテーブルの代わりに文字識別子を使用する複合フォントタイプ
  • ToUnicode CMap – テキスト抽出のために文字コードをUnicode値に変換するマッピングテーブル
  • Glyph – フォントプログラムで定義される文字の視覚的表現
  • Character Code – エンコーディングを通じて文字を参照するために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
(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