如何理解CFF字体格式的DICT数据

时间:2017-03-28 07:36:45

标签: pdf fonts

问题

我试图解析OTF / CFF字体并且正在努力应对顶级DICT部分,更具体地说是顶级DICT数据部分。

CFF文件

CFF表enter image description here的开头在十六进制编辑器中如下所示:

顶部DICT从偏移0xC2的第二行开始,00 01"顶部DICT INDEX计数",01"顶部DICT INDEX offsetsize",01 77"顶部DICT INDEX抵消"。

大黄色部分是DICT的数据部分,但我根本无法理解它。我引用了:https://typekit.files.wordpress.com/2013/05/5176.cff.pdf http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/font/pdfs/T1_SPEC.pdf

我尝试过的事情

  1. 由于顶级DICT以版本,通知,版权为SID开头,因此我尝试查找偏移的字符串,但它们远离字符串。
  2. 我尝试使用CFF参考pdf的第10页中的表3对它们进行编码,基本上采用两个字节b0,b1和计算值,但这些值似乎无关。
  3. 更多信息

    我似乎很难理解表3和表4.因此,DICT数据应该是1或2字节运算符和可变大小的操作数,这些是在整个数据中连接的吗?一些例子会有所帮助。

1 个答案:

答案 0 :(得分:0)

我误解了编码程序。您需要从头开始,并根据第一个字节,需要找到它使用的编码,整数编码,实际编码或指令等。 顺便说一下,这个字体有CIDFont Operator Extensions,例如F8 1B F8 1C 8D 0C 1E,这意味着它是一个CID字体。所以它没有编码偏移,不要浪费时间像我试图找到一个!

enter image description here