我有一个小的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大小,需要做些什么吗?
发布于 2021-09-18 23:44:31
EM大小为上升+下降。
不要设置为直接值
font.ascent = 860
font.descent = 140
font.em = font.ascent + font.descenthttps://stackoverflow.com/questions/23127560
复制相似问题