CFF 字体 header 中的 "offSize" 字段适用于哪些偏移量?

Which offsets does the "offSize" field in a CFF font header apply to?

"Compact Font Format Specification" 解释(第 13 页)header 中的 offSize 字段“指定了相对于 CFF 数据开始的所有偏移量 (0) 的大小。 “文档中提到了各种偏移量,但大多数(全部?)它们要么有自己的、单独的 offSize 字段(例如,在第 12 页的 table 7 中),要么它们被编码为字典数据操作数(例如,第 15 页 table 9 中 Top DICT 中的 charset 字段。

哪些偏移量实际使用 header 中的 offSize 字段?

我遵循了 Peter Constable 评论的提示:CFF 的 FreeType 实现读取 offSize 字段,但随后只检查值的有效性,甚至不存储它供以后使用。由此我假设这个字段只是一些奇怪的(历史?)人工制品,实际上并没有被使用。

有问题的代码在文件 src/cff/cffload.c, starting at line 2243 中。变量 absolute_offset 对应规范中的 offSize

{
  FT_Byte  absolute_offset;


  if ( FT_READ_BYTE( absolute_offset ) )
    goto Exit;

  if ( font->version_major != 1 ||
       font->header_size < 4    ||
       absolute_offset > 4      )
  {
    FT_TRACE2(( "  not a CFF font header\n" ));
    error = FT_THROW( Unknown_File_Format );
    goto Exit;
  }
}

更新。 我刚刚发现 offSize 字段已在 version 2 of the CFF format 中删除。这是该字段可能未使用的另一个提示。