在跟进我之前的问题时,尝试使用 CGPDF* 函数从 PDF 文件中提取文本,具有:
CGPDFStringRef pdfString
我发现它可以转换为这样的字符代码数组:
const unsigned char *characterCodes = CGPDFStringGetBytePtr(pdfString);
现在,我试图提取的文本是用 14 种类型 1 基本字体之一编写的,它在 PDF 本身中没有编码。因此,我已经解析了该字体的相关 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 字体编码选项的“问题”。
上一个问题: iOS PDF 解析 Type 1 Fonts metrics和 iOS PDF to plain text parser