Unicode 如何在CFF字体文件中组织编码和字符集表?
CFF规范第11章至第13章对文件中组织的编码和字符集数据进行了粗略描述。这里有一些问题Unicode 如何在CFF字体文件中组织编码和字符集表?,unicode,fonts,opentype,compact-font-format,Unicode,Fonts,Opentype,Compact Font Format,CFF规范第11章至第13章对文件中组织的编码和字符集数据进行了粗略描述。这里有一些问题 考虑到可能存在多字体文件,并且以每种字体的方式访问字符串,相应的索引也应该仅对每种字体有意义。但是,该文件最多只有一个编码和一个字符集表吗?如果是,字形索引如何与字符串的索引相对应?如果没有,它们是否会从访问它们的位置多次出现在TopDict中? (已解决。请参阅下面的答案)。 似乎字符集为每个glyph命名。编码呢?每个数组元素中存储的Card8数据是什么?考虑到256的限制,编码不是很有限制吗?为什么
谢谢我可以从实际的角度做出回应: 关于#1,问题似乎是关于多个CFF字体集,这在OpenType/CFF字体的上下文中是不可能的:只允许/识别一个CFF字体集 关于#2,在OpenType/CFF字体的上下文中,编码问题也有点难以解决,因为编码是由“cmap”表强加的
总之,独立CFF实际上毫无价值,这抵消了多个CFF字体集和内置CFF编码的任何实际或可感知的好处。我可以从实际角度回答: 关于#1,问题似乎是关于多个CFF字体集,这在OpenType/CFF字体的上下文中是不可能的:只允许/识别一个CFF字体集 关于#2,在OpenType/CFF字体的上下文中,编码问题也有点难以解决,因为编码是由“cmap”表强加的
总之,独立CFF实际上毫无价值,这会抵消多个CFF字体集和内置CFF编码的任何实际或可感知的好处。以下是问题1的答案: 认为一个字体文件中只有一个
TopDict
是错误的TopDict
是一种索引结构,它可能包含字体集中每个字体的多个顶部表格。因此,编码
和字符集
的定义自然是每种字体。在规范的数据布局中,Name
和TopDict
没有标记为“每字体”,这有点令人困惑。见第8节
它包含字体集中所有字体的顶级目录
存储在索引结构中。此索引中包含的对象
与名称索引中的顺序和编号对应。每个
对象是对应于顶层的DICT结构
PostScript字体的字典。字体由中的条目标识
名称索引及其数据通过相应的Top访问
格言
以下是对问题1的回答: 认为一个字体文件中只有一个
TopDict
是错误的TopDict
是一种索引结构,它可能包含字体集中每个字体的多个顶部表格。因此,编码
和字符集
的定义自然是每种字体。在规范的数据布局中,Name
和TopDict
没有标记为“每字体”,这有点令人困惑。见第8节
它包含字体集中所有字体的顶级目录
存储在索引结构中。此索引中包含的对象
与名称索引中的顺序和编号对应。每个
对象是对应于顶层的DICT结构
PostScript字体的字典。字体由中的条目标识
名称索引及其数据通过相应的Top访问
格言
我看得出来。但是编码或多字体集使用的初衷是什么?对不起,多字体,而不是多字体集我可以看出这一点。但是编码或多字体集使用的初衷是什么?对不起,多字体,而不是多字体集请注意,CFF是要嵌入的,它们不是独立的字体,因此它们的包装也与此相关。通常,作为字体,您可以在OpenType字体中找到它们,这负责单处理与多处理(OpenType集合)。类似地,在OpenType字体中使用时,编码基本上是不相关的,因为OpenType
cmap
表会处理这个问题。最重要的是,CFF已经被CFF2取代,事实上,CFF2抛弃了所有仍留在CFF中的“OpenType规范已经涵盖了这个”部分。请注意,CFF是为了嵌入的,它们不是独立的字体,因此它们的包装在这里也是相关的。通常,作为字体,您可以在OpenType字体中找到它们,这负责单处理与多处理(OpenType集合)。类似地,在OpenType字体中使用时,编码基本上是不相关的,因为OpenTypecmap
表会处理这个问题。最重要的是,CFF已经被CFF2所取代,事实上,CFF2抛弃了所有仍然留在CFF中的“OpenType规范已经涵盖了这个”部分。