sub a b by AB; sub A b by AB; sub A B by AB; sub aacute b by AacuteB; sub Aacute b by AacuteB; sub Aacute B by AacuteB; sub acircumflex b by AcircumflexB; sub Acircumflex b by AcircumflexB; sub Acircumflex B by AcircumflexB; sub adieresis b by AdieresisB; sub Adieresis b by AdieresisB; sub Adieresis B by AdieresisB; sub amacron b by AmacronB; sub Amacron b by AmacronB; sub Amacron B by AmacronB; sub abreve b by AbreveB; sub Abreve b by AbreveB; sub Abreve B by AbreveB; sub aogonek b by AogonekB; sub Aogonek b by AogonekB; sub Aogonek B by AogonekB;
Comments
Once I did that I noticed that a few glyphs like /LE and /LF are already appointed in unicode so I had to keep them as /L_E and /L_F. So now that you've mentioned the convention I'll switch back, and all of these dligs will be consistent in the way they're named.
So by convention, should all 'f' ligatures be separated by an underscore? I feel like I've seen them named with and without.
There is some legacy in the Unicode FB00–FB06 range. One can find the FB00–FB04 ligatures in the Adobe Glyph List still, but these were later omitted in the Adobe Glyph List For New Fonts (AGLFN). In the intro of the AGLFN 1.5 one can read: ‘"ffi" is also omitted, as the AGL maps this to the Alphabetic Presentation Forms Area value FB03, rather than decomposing it to the three-value Unicode sequence 0066,0066,0069.’
In which case, you can use a format like this:
etc.
And yes, this is a prime candidate for generating via Python script. If you name your ligatures according to the convention, with an underscore separating the two components, it’s pretty straightforward to generate from just a list of the ligature glyph names themselves.
If you’re working in RoboFont, you can just work off a selection in the Font window, in place of a ligList variable, by replacing the first line above with the following:
then pick up from before at the indent. Something similar should work for either FontLab or Glyphs, with perhaps some minor app-specific adjustment for getting the selection. Of course, your selection then needs to be comprised of ligatures named in the expected format, or you’ll get an error.
It’s called mixer. It builds text files of permutations by mixing lists together.
In this case, yes, when you compile the font, these bracketed glyphs get enumerated into all relevant combinations which are then structured into GSUB Type 4 [ligature] lookups.
If you crack such a font back into an editor, then these tables will very likely be reinterpreted as separate rules, no longer exhibiting the shortcut convenience of the bracketed format.
In your original post, you asked if there were a way to “condense the code at all.” The bracketed format condenses the instructions. In this case, there are multiple ways in Adobe syntax to express the same set of instructions.
The compiled code itself is what it is.
HTH.