Feature request: build ALL auto features at compile

Working around the automatic features Glyphs builds at export is becoming tedious when I work with non-Latin scripts. It would be so much simpler if all features were built when I press the compile button and the code was kept in the Glyphs file. This would allow me to do things like add the mark features and then disable them so that they never get populated with mark code I don’t want to begin with.

If you cannot do that, would you at least add an option to not generate any features when I export? This way I could at least build the features myself from the feature file in the temp directory, leaving out all the ones I don‘t want.

1 Like

What is the actual problem you like to solve?

Mark code needs to be interpolated. That is why it cannot be in the Features tab. But I wonder if you can have a Remove Features parameter for mark and mkmk, and an include() statement in your code, perhaps in the Prefix?

What is the actual problem you like to solve?

As we’ve discussed via email, the automatic mark features can break kerning. Fixing this isn’t to hard for a CFF postscript font—just remove the relevant code from the feature file in the temp directory and run generateFont.command. But I have to do that over and over when I’m editing kerns. The problem is worse for TrueType fonts—the build scripts in the temp directory require extra work to generate TrueType. So if I want a TrueType font hinted in Glyphs exporting it is a huge PITA.

You suggested using the cmd+opt+i menu and setting everything to Letter, Other. But that menu has performance bugs so using it for an entire font could take hours. It also breaks component alignments when it runs, which means hours of work inspecting the font and fixing broken glyphs. This method is also bad for an open source font, because it means other people get source files with odd configurations they might not understand—the same is true for custom GlyphData.xml files.

The problem here is that automatic features are great when they work correctly. But when things go wrong it can get very ugly and waste a lot of time. There needs to be a better way to work around automatic feature generation when it goes wrong.

Mark code needs to be interpolated. That is why it cannot be in the Features tab.

Users could always use File > Generate instances and work with instances directly. I concede that this isn’t a good default, but it might be nice to have the option.

But I wonder if you can have a Remove Features parameter for mark and mkmk…

Remove Features doesn’t work with MARK—generating the font generates a makeOTF error:

Error: "glyph class not defined (text was "@mark_headline")" in Feature abvm in line: 1

The mark feature has nothing to do with it. It is the assigned category/subcategory for some glyphs that brake things as the glyphs are put in the wrong GDEF class. Specifically for this case I added the option to overwrite the this categories. This fixes the kerning.

I fixed the performance. Can you send me a sample where the components are breaking?

Specifically for this case I added the option to overwrite the this categories. This fixes the kerning.

Is this something I can enable in 823?

I fixed the performance.

I noticed the performance is better in 823. It still lags a little with multiple glyphs, but no longer beachballs for extended periods.

Can you send me a sample where the components are breaking?

I just tried it again and this stopped happening in 823.

Select a glyph and press Cmd-Opt-I (Edit > Info For Selection).

You don’t need to anything else then correctly set the subcategories.

Thanks guys. I’ll let you know how it goes.