Request for more field generation options in EditGlyphData

At the moment EditGlyphData has only one field generation option. This is the “Add Sort Names” option that allows one to generate sort names for the selected glyphs. With this tool you can choose a prefix, a starting number, the number of digits and the spacing between each increment.

There are currently two additional such features I would like to see added that would greatly accelerate and lessen the time spent adding currently unsupported codepoints to the GlyphData.xml file.

The first one would be an option that would add unicode codepoints to the selected glyphs. If the glyphs were ordered correctly, one would be able to select all and then choose a starting codepoint and have the rest be added by the tool. For this feature only two values would be needed, a starting codepoint and steps. There are scenarios where you would only add every other codepoint, so a “steps” field would be useful here too.

The second would be a tool to automate the name field. Certain sections of hieroglyphs, linear a, linear b and the extended set of variation selectors have simple names that simply increment by one value for each codepoint. For these glyphs, having a way to automate the name generation for the sections where it would be applicable would be very helpful.

A good example for the usecase of these tools would be the Variation Selectors Supplement block. If these tools were to be implemented, one could select them all and generate their names (VS17, VS18, VS19…), generate their unicode values (10080, 10081, 10082…), and lastly add Mark and Nonspacing values to the appropriate fields.

All of this can (and should) be scripted. The API is not well-documented but pretty straight-forward.

I see.

There are some snippets in the snippet menu in the macro window that should get you started.


I saw you put out some updates for the app and I believe I may have only gotten this message after that. Do you know how I could fix this? It works fine in Glyphs 3.

Check the macro window. Not the script menu. And check the Help menu, too.

I meant to get the python message to go away. I want to see if that will cause the custom font script you wrote to start working on my side without crashing the app.

App.previewFonts["cyrillic"] = "/Users/[Name]/Library/Fonts/[Name]-Regular.otf"

Other scripts might not work there before I can get that to go away. Though I don’t have another to test at the moment.

What message?


This one.

Then you have to install python from

That worked, thanks. I thought I already had it installed in this computer already though.

I can run your script without the program crashing now, but now I get an error message instead. Any ideas on what needs to be done now?

Traceback (most recent call last):
  File "<internal>", line 1
ModuleNotFoundError: No module named 'objc'
Traceback (most recent call last):
  File "macro panel", line 1
NameError: name 'App' is not defined

I used the same script that I posted above, just with the proper names filled in.

App.previewFonts["latin"] = "/Users/Deluge/Library/Fonts/Font-Regular.otf"

You also need to install pyobjc for that python. That can most likely be done with this command:

pip3 install pyobjc==8.4

Thanks, that worked. The display font changed to my font for the script I choose at least for some time at least.

EditGlyphData crashed right after, and now, any action other than simply opening the default empty window causes it to crash without any crash report. Reinstalling the program didn’t help.