我试图了解字体文件中包含的内容,而不会涉及太多细节。
我创建了一个简单的图表来说明我到目前为止的理解,该图包含一个"字形表"它包含字体可用的字形,每个字形都有一个索引来识别它。
字体支持的字符集还有其他表,有一个Unicode表将每个Unicode代码点映射到其对应的字形,并且支持的ANSI代码页还有许多其他表。 / p>
现在,当程序正在读取Unicode文本时,程序(或者是Windows)将从Unicode表中获取每个Unicode代码点的字形并显示它。 当程序读取ANSI文本时,程序将从一个ANSI表中获取每个字符代码的字形(取决于Windows中选定的ANSI代码页)并显示它。
这是图表:
我的理解准确吗?
答案 0 :(得分:1)
OpenType字体可能包含单独的映射表(实际上是cmap table的子表),但对于大多数相对现代的情况,Windows下的代码页/字符集的划分由Windows执行本身(通过Unicode cmap子表)。