字体编辑器FontForge:已定义字形的数量

3
我对FontForge相当陌生,我只想将两个字体合并以满足我的特定需求。
我知道如何从这个问题中合并两个字体,并且我知道TTF... 65535查找限制,因此我尝试分离和删除字形...一些字形范围,为此:
我需要知道定义了多少个字形,以便决定要分离和删除哪个范围。 这似乎是非常简单的信息,但我无法找到它在哪里显示。 在FontForge中是否有任何菜单或宏可以显示已定义的当前字形数量?
3个回答

4

我也在寻找同样的信息。以下代码可以快速获取已定义字形的数量:

fontforge -lang=ff \
   -c 'Open($1); SelectWorthOutputting(); Print($selection)' "$FONTFILE" \
   2>/dev/null |tr -d '][' |tr , '\n' |grep -c 1

SelectWorthOutputting()函数会针对每个已定义的字形填充一个数组,因此我们可以打印出来并进行过滤以获取计数。


4

我认为找到了一个答案,但这可能不是最好的方法。由于FontForge将项目保存为纯文本文件,我们可以在保存的项目文件(project_name.sfd)中搜索StartChar:关键字。每个以StartChar:开头的部分都定义了字体项目中的一个字形。因此,如果我们计算它们,就可以知道字体文件中定义了多少字形。例如,在bash中,命令如下:

grep -E "^StartChar\:" project_name.sfd | wc -l

请问需要翻译的内容是什么语言呢?

1
这个问题是Google的首个搜索结果,所以我将为后人提供这个答案,但正确的代码答案来自@Jerry Penner
从程序GUI中也可以通过快速脏方式获取信息:
  1. 通过编码 > 紧凑菜单减少显示的字形数量
  2. 选择字体中的最后一个字形
  3. 在菜单下方右上角将显示从0开始的字形“编号”(因此在下面的图片示例中,总数为270)。
注意:显示的数字是当前紧凑视图的数字,而不是字体中实际的字形编号。

enter image description here


请注意,如果您使用此方法,您必须选择“编码 > 重新编码 > 字形顺序”并选择“编码 > 紧凑”。当您选择“编码 > 重新编码 > ISO-10646-1(Unicode,完整)”并选择“编码 > 紧凑”时,它显示的数字比实际的字形数量要大。例如,在我的环境中,对于Noto Sans CJK JP,它显示的是66163,而不是实际的65535。 - undefined

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