6

我有两个 .ttf 字体文件,其中一个包含我需要合并到另一个字体文件的字形。使用GUI,会有一个对话框说

当要紧缩的字形之一将来自基本字体时,是否要保留所选字体的紧缩信息?

我需要为此选择。生成合并字体后,会出现一条警告,指出该字体使用了非常规的 em 大小。生成的字体应该带有错误,例如Missing points at extrema,没关系。

现在,这一切都是通过 GUI 完成的,我必须合并很多字体文件,所以我选择了编写脚本。

#!/usr/local/bin/fontforge
i = 2
while(i < $argc)
    Open($1)
    MergeFonts($argv[i])
    MergeFeature($1)
    Generate($argv[i])
    i = i + 1
endloop

有了这个,我得到了错误,MergeFeature: Failed to find kern info in file因此无法生成字体。有什么我想念的吗?

4

1 回答 1

0

如果您不希望包含字距调整信息,请删除以下行:

MergeFeature($1)

这最终会调用LoadKerningDataFromMetricsFile,但由于字体文件未包含字距调整指标而失败。

根据文档

此命令将允许您搜索 adobe 功能文件 (.fea) 以获取功能/查找信息,或者搜索包含指定字体的字距调整对的 afm、ofm、tfm、pfm 或 mac 资源文件。在很多情况下它是不需要的,因为当 FontForge 打开一个 .pfa 或 .pfb 字体时,它会自动在同一个地方搜索一个合适的 .afm 文件。

于 2019-04-03T00:59:31.183 回答