字体文件是否为每个字符集都有一个单独的表?

时间:2014-10-31 19:59:14

标签: windows unicode fonts ansi

我试图了解字体文件中包含的内容,而不会涉及太多细节。

我创建了一个简单的图表来说明我到目前为止的理解,该图包含一个"字形表"它包含字体可用的字形,每个字形都有一个索引来识别它。

字体支持的字符集还有其他表,有一个Unicode表将每个Unicode代码点映射到其对应的字形,并且支持的ANSI代码页还有许多其他表。 / p>

现在,当程序正在读取Unicode文本时,程序(或者是Windows)将从Unicode表中获取每个Unicode代码点的字形并显示它。 当程序读取ANSI文本时,程序将从一个ANSI表中获取每个字符代码的字形(取决于Windows中选定的ANSI代码页)并显示它。

这是图表:

enter image description here

我的理解准确吗?

1 个答案:

答案 0 :(得分:1)

OpenType字体可能包含单独的映射表(实际上是cmap table的子表),但对于大多数相对现代的情况,Windows下的代码页/字符集的划分由Windows执行本身(通过Unicode cmap子表)。