CMap(文字マッピング)

PDF の CMap

CMap(Character Map)は、PDF コンテンツストリーム内の文字コードを Unicode コードポイントまたはグリフ名にマッピングします。CMap リソースは、PDF 文書におけるテキスト抽出、検索、アクセシビリティに使用されます(ISO 32000-1:2008、§9.10)。

AdobeGlyphList

AdobeGlyphList は、Adobe のグリフ名から Unicode コードポイントへの静的マッピングを提供します:

int unicode = AdobeGlyphList.getUnicode("bullet");  // returns 0x2022
boolean exists = AdobeGlyphList.contains("copyright");  // true

これは、Adobe 標準のグリフ命名規則を使用する Type 1 および TrueType フォントからグリフ名をデコードする際に使用されます。

テキストエンコーディング

PDF のテキストエンコーディングは、フォントの Encoding 辞書、ToUnicode CMap、そしてフォントの文字幅テーブルの組み合わせによって文字コードをグリフにマッピングします。信頼性の高いテキスト抽出を行うには、正確な CMap の取り扱いが不可欠です。

参照

 日本語