通过FontForge Python绑定更改字体的em大小

4

我有一个小的Python脚本,可以通过FontForge更改字体:

import fontforge

font = fontforge.open('font.ttf')
font.em = 1000
font.generate('font.svg')
font.close()

重要的一点是:
font.em = 1000

我需要在进一步处理之前将几种字体的em大小标准化。通过GUI在FontForge中进行此操作时,字体可以成功转换:打开字体,设置em大小为1000(此步骤通常需要花费FontForge一些时间),导出为SVG。生成的字体符合预期。然而,通过上述脚本执行此操作会导致混乱的结果,一些字形未缩放,一些带有错位的重音等。脚本存在什么问题?是否有任何方法使FontForge在导出之前正确地缩放字体的em大小?
1个回答

0

EM 大小是上升值加下降值。

不要直接设置一个具体的值。

font.ascent = 860
font.descent = 140
font.em = font.ascent + font.descent

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接