Generating diacritical versions of ligatures


Is there a way to automatise creation of ligatures?
I’m working on a typeface with many dlig’s and I need to create all kind of f.e Aacute_Z; Aogonek_Z etc


Not sure if what I wrote is clear to what I mean.
I have the ligature A_Z and I need to use it as component to create Aacute_Z etc.

There is a script for that in my GitHub repo called Components > Diacritic Ligature Maker which gives you all possible combinations, given you set anchors top_1, top_2 etc. appropriately.

But you will need, like, hundreds or thousands of ligatures. Consider contextual alternates rather than ligatures wherever possible.


Great, thank you.

Is this influencing efficiency of the font? Or is it rather a question of support?

Y0u don’t need precomposed ligatures if you have a halfway decent app (Indesign is only half decent in this regard). Then you would decompose all accented letters into base+combining accent. Then add a liga2Mark feature (build automatically if you have top_1/2/3 anchors) and add lookupflag IgnoreMarks; to the liga feature. The problem in Indesign in that you need to activate the World Ready composer to make it work.

Hi, I’m trying to use your script and having this error, do you know what’s wrong?

Creating variations for T_E.dlig:
Traceback (most recent call last):
  File "Diacritic Ligature", line 100, in <module>
    listOfLigatures = process( thisGlyphName )
  File "Diacritic Ligature", line 75, in process
    diacriticLetterLists = [ [n]+namesOfGlyphsContainingThisComponent(n) for n in namesOfLigatureLetters ]
  File "Diacritic Ligature", line 32, in namesOfGlyphsContainingThisComponent
    listOfGlyphs = selectTool._glyphsContainingComponentWithName_font_masterID_( componentName, thisFont, thisFontMasterID )
AttributeError: 'GSToolSelect' object has no attribute '_glyphsContainingComponentWithName_font_masterID_'

I’ll have a look tomorrow. But please open an issue on the GitHub repository. It is hard for me to follow bugreports here.

The method _glyphsContainingComponentWithName_font_masterID_ is on the font object, not at the tool.

SORRY! I had an older version of the script, I re-downloaded and worked.

1 Like