Python使用fontforge库是否可以添加CID TTF名称?

2024-04-25 11:47:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我真的需要添加/更改“首选系列”和“首选样式”到TTF Names表到CID font info元数据中。你知道吗

下面的代码成功地编辑了标准字体信息和cid字体信息,但是名称表保持不变。我怀疑appendSFNTName()方法试图更改标准字体信息的TTF名称,而不是CID字体信息。问题是fontforge团队是否只实现了标准的字体信息而忽略了其余的CID信息数据,因为我在他们的文档中找不到太多。你知道吗

import fontforge
import string
import sys
font = fontforge.open(sys.argv[1])

family_name = sys.argv[2]
style_name = sys.argv[3]

font.familyname = family_name
font.fullname = family_name + " " + style_name
font.fontname = family_name.replace(" ","")+ "-" + style_name
font.weight=style_name
font.cidfamilyname = family_name
font.cidfullname = family_name + " " + style_name
font.cidfontname = family_name.replace(" ","")+ "-" + style_name
font.cidweight=style_name
font.appendSFNTName("English (US)","Preferred Family",family_name)
font.appendSFNTName("English (US)","Preferred Styles",style_name)

font.generate(sys.argv[1].replace(".otf","_edited.otf"), flags=("opentype"))

Tags: nameimport信息标准stylesys字体ttf