「合并两种字体」

  CREATED BY JENKINSBOT

字体所需要的软件

使用fontforge进行字体合并。

安装及详细的使用方法参考:FontForge

准备要合并的两种字体

这里以Courier10 BTMicrosoft YaHei为例。

请自行下载两种字体。其中Courier10 BT提供英文字符显示,而Microsoft YaHei提供中文显示。

创建字体合并脚本

# 一下为脚本内容,脚本名为:

# Courier字体
# 其中courier.ttf,为字体文件名。
Open(“courier.ttf”)
SelectAll()
ScaleToEm(1024)
Generate(“Temporary-A.ttf”, “”, 0x14)
Close()

# Microsoft YaHei字体
# 其中yahei.ttf,为字体文件名。
Open(“yahei.ttf”)
SelectAll()
ScaleToEm(1024)
Generate(“Temporary-B.otf”, “”, 0x14)
Close()

# 合并两种字体
# Monaco_Linux.ttf 为 A 字体
# PowerlineSymbols.otf 为 B 字体
# Monaco for Powerline.otf 为合成字体
# SetFontNames(“Monaco_for_Powerline”, “Monaco for Powerline”, “Monaco”, “Regolare”, “”)
# Monaco_for_Powerline 为 PostScript 名称
# Monaco for Powerline 为全名
# Monaco 为家族名
# Regolare 为样式
Open(“Temporary-A.ttf”)
MergeFonts(“Temporary-B.otf”)
SetFontNames(“Courier_And_Yahei”, “Courier And Yahei”)
Generate(“courier-yahei.otf”, “”, 0x14)
Close()

使用脚本进行合成

执行命令生成字体:

# fontforge -script courier-yahei.pe

上述命令会生成courier-yahei.otf字体文件。

参考文献

Merging two fonts: https://superuser.com/questions/490922/merging-two-fonts
在 Linux 下字体合成: https://dctm.github.io/blog/skill/linux-font-matge.html