昨日の手順で Lookup の設定をし、改めてデフォルト*1で TTF を出力してみたらうまくいった。でもなんか失敗するときもあるような…。FontForge を再起動すると直るようだけど。
フォントを開いて下のスクリプトを動かせば、手で操作するのととりあえずは全く同じになるはず……と思って動かしてみたが、同じにならない。生成されたフォントの ‘liga’ のサブテーブルを見てみると、中身が空になってしまっている。
#!/usr/bin/fontforge -script
lookup = "'liga' 標準の合字 lookup 0"
subtable = "'liga' 標準の合字 lookup 0-1"
AddLookup(lookup, "gsub_ligature", 0,\
[["liga", [["DFLT", ["dflt"]],\
["grek", ["dflt"]],\
["cyrl", ["dflt"]],\
["thai", ["dflt"]],\
["kana", ["dflt"]],\
["hani", ["dflt"]],\
["latn", ["dflt"]]]]])
AddLookupSubtable(lookup, subtable)
Select(0uFB00); AddPosSub(subtable, "f f")
Select(0uFB01); AddPosSub(subtable, "f i")
Select(0uFB02); AddPosSub(subtable, "f l")
Select(0uFB03); AddPosSub(subtable, "f f i")
Select(0uFB04); AddPosSub(subtable, "f f l")
Generate("test.ttf", "", -1)ようわからんです。
*1:SFNT の [TrueType Hints], [PostScriptグリフ名], [OpenTypeの仕様] にチェックの入った状態。