8

我正在使用 Fontforge 上的脚本制作字体。一切顺利,但我有这个问题我不知道如何为选定的字形指定如果同时出现其他两个字形则显示选定的字形。我已经为此制作了 Lookuptable 和子表,但我不知道将为指定字形定义一些连字的函数。这是制作表格和子表格以将连字添加到字形的代码。

AddLookup("Ligatures","GSUB_ligature",9,[["rlig",[["arab",["dflt"]]]]])
AddLookupSubtable("Ligatures","Ligatureshi")
4

2 回答 2

6

您需要使用现有 Glyph 名称的元组指定连字替换。

一个人为的例子:

#!/usr/bin/env python3
import fontforge

# load your font, etc…

ligature_name = 'f_l'
ligature_tuple = ('f', 'l')
font.addLookup('ligatures','gsub_ligature', (),[['rlig',[['arab',['dflt']]]]])
font.addLookupSubtable('ligatures', 'ligatureshi')
glyph = font.createChar(-1, ligature_name)
glyph.addPosSub('ligatureshi', ligature_tuple)
于 2016-02-17T19:49:48.250 回答
0

添加查找和子表后,执行以下操作:

Select("fl")
AddPosSub("LigatureSubtableName", "f l")

上面的 FontForge 脚本将添加一个 fl 连字。

于 2013-01-12T07:48:45.133 回答