Making Diacritics for ligatures creates errors

If I create a_b glyph, add anchors and then run the script Diacritics Ligature maker it only creates the first glyph’s marks and generates errors for the other? (plus the first mark is not aligned to the anchor)

Could not create ‘aacute_b’ in all masters. Does ‘a_b’ have all necessary anchors?

The anchors are top_1 top_2 etc…

It works if I add via glyphs/add glyphs but it does not use the ligature a_b but rather the normal a and b

I don’t know about that script, but there are two things you could try:
Use recipe: If you want to make diacritic ligatures from a_b and combining marks, you type like this in Generate Glyphs dialogue:
a_b+acutecomb=aacute_b
a_b+gravecomb=agrave_b
See the Handbook 8.1.3 for more details.

If a base ligature glyph has multiple anchors (hopefully named like “top_1”, “top_2”), you can choose which anchor to attached to. It may not be positioned to the right one when you’ve just made the glyph from the dialogue, but you can easily change that, by selecting the diacritic component, and clicking the anchor icon in the grey info box.
See the Handbook 8.1.6 for more details.

Admittedly both are semi-manual work. I could help you further if you could give me the details of the script you mentioned.

The script is GitHub - mekkablue/Glyphs-Scripts: Python scripts for the Glyphs font editor

Components/Diacritic Ligature Maker

I will try what you suggest

The script needs an update. One moment please.

Edit: just updated; please redownload, or sync in your git client.

Awesome, getting new version now. Many thanks.

Works now, saved so much time, thank you.

I guess the script needs an update? Or is it me doing something wrong again?
Here is the error message I’m getting:

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

This line

listOfGlyphs = selectTool._glyphsContainingComponentWithName_font_masterID_( componentName, thisFont, thisFontMasterID )

has to be changed to:

listOfGlyphs = thisFont.glyphsContainingComponentWithName_masterID_( componentName, thisFontMasterID )

It would be better to report problems like this in the GitHub repository.

1 Like

Fixed.

Thank you!