将一系列.svg文件作为字形导入FontForge,并输出一个字体fi

2024-06-01 07:32:45 发布

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

我想创建一个有大量字形的字体。想想日本的汉字,数以千计。因此肯定需要一些脚本/批处理。幸运的是FontForge支持python脚本!不幸的是我没能让它工作。[萨达脸]

首先,感谢用户Hoff发布的代码here回答了我的大部分问题。但在运行他的脚本时,我遇到了一些问题,这些问题引发了更多的问题:

Failed to find NameList: AGL For New Fonts
Warning: Font contained no glyphs

更新:

  • “字体不包含标志符号”错误显然是FontForge中的一个错误,当字体包含一个或更少的标志符号时会发生此错误。添加第二个标志符号“B”解决了这个问题。
  • 我发现同样的语法是否可以用于saving.ttf.sfd.otf等
  • 名称列表失败实际上并不阻止写入字体文件。我很高兴发现这一点,但仍然不知道如何提供它想要的名单。

这是霍夫的密码:

import fontforge
font = fontforge.open('blank.sfd')
glyph = font.createMappedChar('A')
glyph.importOutlines('sourceimg.svg')
font.generate('testfont.ttf')

昨天在建造FontForge(Mac上一个令人困惑的过程)的过程中挣扎了5个小时之后。我好像已经把它安装好并运行正常了。我最初安装了一个来自a.dmg的预构建版本,结果发现它缺少python支持。但既然霍夫似乎没有遇到和我一样的错误,我不排除一个构建问题。

不管怎样,我不明白AGL的错误。什么是AGL?I looked it up:“Adobe Glyph List-一个标准的Glyph命名约定”。听起来FontForge试图将Unicode值映射到字形名称,但无法

那么,为什么AGL的名字列表有问题? 提前谢谢你的帮助。


Tags: 脚本名称列表标志错误字体符号ttf