背景
我正在尝试使用以下 fontforge 脚本将Google Noto Sans JP字体从 a.otf
转换为 a .ttf
:
#!/usr/bin/env fontforge
Open($1)
CIDFlatten()
Generate($1:r + ".ttf")
Close()
当我调用Open
时.otf
,我收到一堆错误,说有很多缺失的字形:
No glyph with unicode U+07d22 in font
No glyph with unicode U+07d2f in font
No glyph with unicode U+07da0 in font
...
我的脚本将 转换.otf
为 a.ttf
但是,果然,当我加载字体时,这些字符不会被渲染(它们看起来像这样:)[X]
。
所以我想填补空白并将相同的字形复制到丢失的插槽中。
问题
因此,我运行以下脚本来尝试将丢失的字形之一(U+7d22)替换为相同的字形( U +f96a):
#!/usr/bin/env fontforge
Open($1)
CIDFlatten()
Select(0uf96a)
Copy()
Select(0u7d22)
Paste()
SelectNone()
Generate($1:r + ".ttf")
Close()
然而 fontforge 无法选择不存在的字符 U+7d22:
Select: Character not found: U+7D22
有谁知道如何将字形复制到没有字形的代码点?
或者换句话说,有谁知道如何填补这种字体的空白?