【问题标题】:Adobe Font Metrics for Standard PDF Fonts in CP1252CP1252 中标准 PDF 字体的 Adobe Font Metrics
【发布时间】:2012-06-07 15:17:12
【问题描述】:
【问题讨论】:
标签:
pdf
fonts
iso-8859-1
cp1252
【解决方案1】:
“Core 14”PDF 字体不知道“CP1252”编码(也不知道“ISO-8859-1”)。
他们使用自己的编码和编码名称,称为:StandardEncoding、MacRomanEncoding、WinAnsiEncoding和PDFDocEncoding( WinAnsiEncoding 主要映射到 CP1252)。
您链接到的字体度量文件都是 Extended Roman 字符集(除了两个符号字体 Symbol 和 ZapfDingbats,它们使用“特殊”字符集)和 AdobeStandardEncoding 编码方案(同样,除了前面提到的两种字体,它们各自使用特定字体方案)。
省略号字符的指标是 NOT MISSING,但它IS包含在这 14 个中的 12 个中AFM 文件(同样,这两种符号字体不包含此字形,因此也未列出其指标)。
要了解有关 14 种核心 PDF 字体使用的编码和字符集的更多信息,请参阅附件 D(规范),标题为“字符集和编码” ,PDF-1.7 specification。
【讨论】:
-
所以基本上我需要在每个.afm 文件中的字体度量和为CP1252 定义的字形之间创建一个查找表@ - WinAnsiEncoding。以ellipsis为例,在helvetica.afm中,其索引为188,在WinAnsiEncoding中,其索引为133。为了得到这个字形的边界框,我可以做类似m#; N ellipsis ; B (.+?) ;# 然后$cp1252[133] = $1