私の以前の質問のフォローアップとして、CGPDF* 関数を使用して PDF ファイルからテキストを抽出しようとすると、次のようになります。
CGPDFStringRef pdfString
次のような文字コードの配列に変換できることがわかりました。
const unsigned char *characterCodes = CGPDFStringGetBytePtr(pdfString);
今、私が抽出しようとしているテキストは、PDF自体にエンコードされていない14のタイプ1ベースフォントの1つで書かれています。そのため、そのフォントに関連する AFM ファイルを解析して、文字コードからグリフ名へのマッピングと、次のような寸法を取得しました。
C 61 ; WX 600 ; N equal ; B 80 138 520 376 ;
C 63 ; WX 600 ; N question ; B 129 -15 492 572 ;
C 64 ; WX 600 ; N at ; B 77 -15 533 622 ;
C 65 ; WX 600 ; N A ; B 3 0 597 562 ;
C 66 ; WX 600 ; N B ; B 43 0 559 562 ;
私の質問は、文字コードを知っているということです。「61」 、グリフ名「等しい」からNSString @"="にするにはどうすればよいですか。特に、その文字コードが別のグリフ名に再マップされた場合、たとえば、PDF のフォント エンコーディング オプションによって「質問」のようになります。