进一步来说,
使用FontTools
,如何将 OpenType 字体与 TrueType 字体合并(或者将 TrueType 字体与 TrueType 字体合并,如果命令中有差异),
“无损“或不调整大小或弄乱任何字形(假设文件大小无关紧要,输出字体供个人使用),
和无需替换 TrueType 字体中的任何字形(仅从 OpenType 字体中添加额外的 unicode 字形)。
输出字体可以是 TrueType 或 OpenType,只要满足上述要求即可,没有偏好。如果可能,请解释是否存在差异。
此外,输出字体的标题/名称应该与 TrueType 字体的标题/名称相同。
merge
更新:我认为这个问题基本已经得到解答。和的行为pyftmerge
似乎比文档中描述的更微妙。通常,相同 Unicode 值的多个字形将被覆盖。所有UnicodeFull
字体,只要它们具有相同的 Em 大小,都应该合并,无论它们是 OpenType 还是 TrueType,而包含UnicodeBmp
字体将导致合并失败,无论该字体是 OpenType 还是 TrueType。
没有选项或参数pyftmerge
,命令始终是:
pyftmerge [Primary font input] [Additional font input]
主字体中现有的 Unicode 值字形将不是将被覆盖,并将优先于任何附加字体的字形。输出字体的名称值将与主字体相同。
答案1
您所询问的事情需要一些初步工作。
来自 fonttools 将多种字体合并为一种(来源中的文本以粗体显示):
所有字体当前都必须具有 TrueType 轮廓(glyf 表)。
这fonttools 项目 另外说:
该项目包括 TTX 工具,该工具可以将 TrueType 和 OpenType 字体转换为 XML 文本格式(也称为 TTX)。它支持 TrueType、OpenType、AFM 以及一定程度上的 Type 1 和一些 Mac 特定格式。
您需要使用 TTX 工具将 OpenType 字体转换为 TTX 格式,以便能够将 TTX 格式转换为 TrueType 字体。
一旦两种字体都采用 TrueType 格式,fonttools 可能就能够将它们合并。