FontTools正在生成一些具有这种结构中各种细节的 XML
<cmap>
<tableVersion version="0"/>
<cmap_format_4 platformID="0" platEncID="3" language="0">
<map code="0x20" name="space"/><!-- SPACE -->
<!--many, many more characters-->
</cmap_format_4>
<cmap_format_0 platformID="1" platEncID="0" language="0">
<map code="0x0" name=".notdef"/>
<!--many, many more characters again-->
</cmap_format_0>
<cmap_format_4 platformID="0" platEncID="3" language="0"> <!--"cmap_format_4" again-->
<map code="0x20" name="space"/><!-- SPACE -->
<!--more "map" nodes-->
</cmap_format_4>
</cmap>
我试图找出这个字体支持的每个字符,所以这些code
属性是我感兴趣的。我相信我认为所有 code
属性都是 UTF-8 值是正确的:这是正确的吗?我很好奇为什么有两个节点cmap_format_4
(它们似乎是相同的,但我还没有用大量的字体测试过,所以如果熟悉这个模块的人肯定知道,那是我的第一个问题)。
为了确保我看到字体中包含的所有字符,我需要组合所有code
属性值,还是只需要一个或两个。FontTools 会始终生成这三个 XML 节点,还是数量可变?知道为什么吗?文档有点模糊。