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。生成的字体与预期的一样。

但是,通过上面的脚本执行此操作会导致结果混淆,一些字形没有缩放,一些有替换的重音等等。

脚本可能有什么问题?有什么办法可以让 FontForgeem在导出之前正确缩放字体大小?

4

1 回答 1

0

EM 大小为上升 + 下降。

不要设置直接值

font.ascent = 860
font.descent = 140
font.em = font.ascent + font.descent
于 2021-09-18T23:44:30.983 回答