fontforge-合并字体以添加字形的脚本

sam*_*i0l 5 merge fonts truetype fontforge

我有两个.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
Run Code Online (Sandbox Code Playgroud)

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

小智 1

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

MergeFeature($1)
Run Code Online (Sandbox Code Playgroud)

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

根据文档

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