Fontforge Scripting how to add ligatures for a glyph

烂漫一生 提交于 2019-12-07 01:35:49

问题


I'm making a font with scripting on Fontforge. Everything goes well, but I have this problem I don't know how to specify for a selected glyph that if two other glyphs came simultaneously show the selected glyph. I have already made the Lookuptable and the subtable for that but I don't know the function that would define some ligatures for a specified glyph. Here is the code for making table and subtable for adding ligatures to a glyph.

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

回答1:


You need to specify the Ligature substitution using a tuple of existing Glyph names. A contrived example:

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)



回答2:


After you've added the lookup & subtable, do this:

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

The above FontForge script will add a fl ligature.



来源:https://stackoverflow.com/questions/10902593/fontforge-scripting-how-to-add-ligatures-for-a-glyph

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!