Substitution Error due to Functions formatting?

Hey everyone!

I’ve tried to edit some Google fonts – adding some new ligatures + contextual alternates, etc. Although I’ve already done it many times before, todays I hit a new error which I don’t know how to fix. It seems all glyphs in Functions are in unicode, so if I want to make simpler
sub a b c x by x;
– an error pops up : “Unknown glyph…” follows with every glyph I use in latin. If have tried it in unicode, it works OK, so that tells me, it must be some functions-formatting set up, right?


  1. How to change it to use the simpler visual way for substitution
  2. Is it possible to use both
    (preserve all functions already attached and add new ones in latin?)

Thank you for any help.
Some copy+paste from functions if needed:

languagesystem DFLT dflt;
languagesystem latn dflt;
languagesystem latn CAT;
languagesystem latn MOL;
languagesystem latn ROM;

Example of the font with this formatting (static version in .ttf):

I’m attaching the screenshot – just for example of that error (ignore fake smt glyph) and structure of working functions in font:

You have opened the not with option “Keep glyph names from imported files” in (Preference > User Settings). The names for those glyphs in the .ttf are “uni0061” instead of “a”. So you might need to disable that option and re-open the .ttf. Or uncheck the “Use custom naming” (in Font Info > Other). Then select all glyphs and run Glyph > Update glyph info. That will convert all glyph names. So all the existing feature code will be invalid now.

Thank you @GeorgSeifert. Yep, that worked! (with deleting all previous data).

To preserve all functions I was trying to automated a bulk conversion from Glyphs unicode to Unicode to Latin, but without success. At least I’ve succeed in the Python script to rewrite and add thousands contextual alternatives, which was basically the goal of an experiment.