Swa*_*oop 3 pdf embedded-fonts
Type1字体/Differences编码在值的映射中使用字符串,例如1个字符被编码为'one'。它仅用于数字和特殊字符。
使用这些编码的标准方法是什么?
我应该如何从使用这种编码的PDF解码字符串?
文件链接:http : //www.filedropper.com/open
这是/Differences文件中的数组(老实说,您应该刚刚发布了这个数组,而不是链接到skeevy下载页面):
/Differences [
24 /breve/caron/circumflex/dotaccent/hungarumlaut/ogonek/ring/tilde
39 /quotesingle
96 /grave
128 /bullet/dagger/daggerdbl/ellipsis...
]
Run Code Online (Sandbox Code Playgroud)
这种工作方式是该字体还具有与其关联的编码(例如/MacRoman或/WinANSI)。对于Type 1字体,该字体内置了一种编码。然后,给定该编码的副本,则将差异应用于该编码。从数字开始(您的第一个是24),将条目24-31(含)更改为/breve,/circumflex依此类推。
在Type 1字体中,有一个名为的字典/CharStrings,它是字形名称与将呈现它的数据/代码的关联。例如,如果您得到一个代码为26的字符,则在编码数组(对于Type 1字体应为256个元素的数组)中查找该字符,并应用差异,得到名称/circumflex。然后,您可以在CharStrings字典中查找该字形,并提取字形数据并进行渲染。应设置编码中不存在的任何字符,/.notdef然后将其呈现为代表未定义字符的形状(通常是一个空框)。
现在可能您的问题是,如何将这些字形名称转换为更有用的名称,例如Unicode?
如果您查看附件D,将会看到一组表,这些表定义了标准拉丁编码的字符集。您将创建一个查找表,将Adobe标准名称映射到Unicode。不幸的是,附件D中的表格不完整。幸运的是,Adobe 在此处为您定义了所有文件。该文件中有一个链接,该链接现在已失效,但是很可能原本应该放在这里。
| 归档时间: |
|
| 查看次数: |
707 次 |
| 最近记录: |