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

时间:2017-07-19 05:48:10

标签: fonts merge true-type-fonts 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

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

1 个答案:

答案 0 :(得分:0)

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

MergeFeature($1)

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

根据documentation

  

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