2012-06-05 14 views
7

Sto creando un font con script su Fontforge. Tutto va bene, ma ho questo problema Non so come specificare per un glifo selezionato che se altri due glifi vengono visualizzati contemporaneamente mostrano il glifo selezionato. Ho già creato Lookuptable e il sottotabella per questo, ma non conosco la funzione che definirà alcune legature per un glifo specificato. Ecco il codice per creare una tabella e una sottotabella per aggiungere legature a un glifo.Fontforge Scripting come aggiungere legature per un glifo

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

La domanda chiede come aggiungere legature ad un tipo di carattere utilizzando uno script, ma è anche possibile fare nell'interfaccia FontForge GUI. Non so come farlo abbastanza bene da aggiungere una risposta completa, ma andare su ** Elemento> Informazioni sul carattere> Ricerche> GSUB **. Vedere [questa risposta] (http://stackoverflow.com/a/43315958/3681880) su come rimuovere le legature. – Suragch

risposta

0

Dopo aver aggiunto il sottotabella ricerca &, fare questo:

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

È possibile che questo FontForge script aggiungere una legatura fl.

+0

Ciao @Arthaey, questa riga di codice che hai scritto dichiarerà alcune sostituzioni nella tabella di sostituzione che sembra non mostrare "fl" quando sto scrivendo "f" e "l", quindi suppongo di aver bisogno di qualcosa che possa aggiungi alcune informazioni per "fl" nella tabella delle legature per convertire "f" e "l" in "fl" quando compaiono insieme. Hai qualche idea? o almeno lo hai già fatto prima? – Ehsan

4

È necessario specificare la sostituzione della legatura utilizzando una tupla di nomi di glifo esistenti. Un esempio inventato:

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) 
Problemi correlati