I’m currently creating a connecting Brush script font. Im currently using lots of ligatures to resolve problems with difficult connections like b_r.liga , v_r.liga , w_x.liga etc (I’m using .liga to force them to be default). I’m also using lots of positional alternates like a.fina, a.init etc. (mekkablue’s ‘Build positional calt feature’ is coming in very handy for this).
My question is, what is the best way to add language support, should I just make many variations of each ligature and positional alternate with the different diacritical marks (eg b_rcaron.liga, aacute.fina etc) or is there a better way?
A large amount of ligatures will make good language support difficult, if not impossible. If you want all diacritics as ligatures Better to work with contextual alternates as much as possible. See if you can split your ligatures into alternates:
Instead of s_e, you could try:
sub @s_before_e_0' @e_after_s_0 by @s_before_e_1;
sub @s_before_e_1 @e_after_s_0' by @e_after_s_1;
The 0 classes are the letters to be replaced (e.g. s sacute scaron) , the 1 classes are the respective alternates (s.beforee sacute.beforee scaron.beforee). And that way, you have all alternates covered, and probably saved some 50 ligatures by creating 13 alternates, just for s and e.
Your other option is the Diacritic Ligature Maker in my script repository.
You also can try to decompose the accents and the use the mark feature to position them on the ligatures. It might not work in all environments but would simplify the font a lot. Firefox and Chrome and the latest version of Safari should be fine. Indesign might need to Global composer to make it work (accessible from the OpenType drop down in CS6 and later). Office should work too, if you get the OpenType feature to work at all.