合并两种字体

合并两种字体

我怎样才能自动合并两种字体,以便第一种字体中没有、但第二种字体中可用的字形可以合并到第一种字体中?

答案1

这是一个简单的任务字体

评论附录:合并之前,先在两种字体中单击元素 > 字体信息...,查看 em 大小等值是否匹配。否则,更新任一字体以匹配其他字体的值。这可以防止出现字符大小不同等问题。此信息可能应该添加到答案中。– Cristan

首先,您需要打开缺少字形的字体并选择。在此示例中,和Element -> Merge Fonts的字形是缺少的。 EF元素->合并字体

选择要从中提取字形的字体。系统会询问您是否要保留现有的字距;您很可能要No在此处选择,但如果您得到奇怪的结果,请关闭 fontforge 并使用 重试Yes字距调整对话框

缺失的字形应该很快就会添加:在 Fontforge 主窗口中显示结果

最后,将File -> Generate Fonts字体导出到所需位置。

答案2

还可以看看谷歌的Google Noto 字体项目及其Noto Tools 合并字体.py脚本。

或者使用字体工具项目。旧的无效链接位置是:这里

有关制作/添加字体到 Windows 的更多详细信息,请查看我的其他答案这里

答案3

  1. 安装FontForge
  2. 它通常安装在C:\Program Files (x86)\FontForgeBuilds\bin,因此将其添加到您的路径环境变量中(仅适用于 Windows 用户)。
  3. 将以下代码粘贴到名为mergefonts.ff
#!/usr/local/bin/fontforge
Open($1)
SelectAll()
ScaleToEm(Strtol($3))
Generate("1.ttf")
Close()
Open($2)
SelectAll()
ScaleToEm(Strtol($3))
Generate("2.ttf")
Close()
Open("1.ttf")
MergeFonts("2.ttf")
Generate($4)
Close()
  1. mergefonts.ff 脚本用法:
fontforge -lang=ff -script mergefonts.ff <font1> <font2> <font_size_in_em> <output_merged_font>

例子:

fontforge -lang=ff -script mergefonts.ff font1.ttf font2.ttf 1000 mergedfont.ttf

参考:
链接1
链接2
链接3

相关内容