通过FontForge Python绑定更改字体的em大小
我有一个小的Python脚本,用来通过FontForge更改字体:
import fontforge
font = fontforge.open('font.ttf')
font.em = 1000
font.generate('font.svg')
font.close()
关键点是
font.em = 1000
(我需要在进一步处理之前,把几个字体的em大小标准化。)
当我在FontForge的图形界面里做这个时,字体转换得很好:打开字体,设置em
大小为1000
(这一步通常需要FontForge花一点时间),然后导出为SVG。得到的字体效果正如我所期待的那样。
但是,通过上面的脚本来做这个时,结果却很混乱,有些字形没有缩放,有些字形的重音符号位置不对,等等。
这个脚本可能有什么问题呢?有没有什么办法可以让FontForge在导出之前正确地缩放字体的em
大小?
1 个回答
0
EM大小是指字母的上升部分和下降部分的总和。
不要直接给它设置一个具体的数值。
font.ascent = 860
font.descent = 140
font.em = font.ascent + font.descent