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 の取り扱いが不可欠です。