読者です 読者をやめる 読者になる 読者になる

しろもじメモランダム

文字についてあれこれと。

f のリガチャがきかない (2)

昨日の手順で 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の仕様] にチェックの入った状態。