规范(http://www.microsoft.com/typography/otspec/cmap.htm)只有platformID 3(windows)和platformID 1(Mac)以及windows平台中的encodingID。 Windows旁边的其他平台和其他编码怎么样?
我使用ttfdump
转储其中一个adobe字体,它给了我:
'cmap' Table - Character to Glyph Index Mapping Table
-----------------------------------------------------
'cmap' version: 0
number of encodings: 5
number of subtables: 3
Encoding 0. PlatformID: 0
EcodingID: 3
SubTable: 0, Offset: 0x00000a0e
Encoding 1. PlatformID: 0
EcodingID: 4
SubTable: 1, Offset: 0x0000cc26
Encoding 2. PlatformID: 1
EcodingID: 25
SubTable: 2, Offset: 0x0000002c
Encoding 3. PlatformID: 3
EcodingID: 1
SubTable: 0, Offset: 0x00000a0e
Encoding 4. PlatformID: 3
EcodingID: 10
SubTable: 1, Offset: 0x0000cc26
所以它确实有其他平台和编码,但在哪里可以找到定义?
答案 0 :(得分:3)
Platform ID | Platform name | Platform-specific encoding IDs | Language IDs
-------------|---------------|---------------------------------|--------------
0 | Unicode | Various | Various
1 | Macintosh | Script manager code | Various
2 | ISO [deprec] | ISO encoding [deprecated] | None
3 | Windows | Windows encoding | Various
4 | Custom | Custom | None
关于非标准编码ID:
如果是新的,将分配Unicode平台的新编码ID Unicode版本移动字符,以便正确指定 字符代码语义。(由于Unicode稳定性策略,如此 不需要预期。)Unicode之间的区别 特定于平台的编码ID 1和2仅用于历史原因; 事实上,Unicode标准在曲目和编码方面是相同的 ISO 10646。对于当前字体的所有实际用途, 编码ID 0,1和2提供的区别并不重要, 因此不推荐使用这些编码ID。
新的编码ID 新cmap子表时有时也会分配Unicode平台 格式被添加到规范中,以便允许 与现有解析器的兼容性。例如,当cmap子表时 格式10和12被添加到规范中,编码ID 4是 添加了,当cmap子表格式13添加到 规范,编码ID 6被添加。 cmap子表格式 上表中列出的是唯一可用于 相应的编码ID。
答案 1 :(得分:1)
您错过了在http://www.microsoft.com/typography/otspec/name.htm上的名称表文档中提供更多信息的文本,其中包含每个平台支持的编码和语言的(长)列表。