Feature suggestion: kerning subclasses

Hi, I m not sure if I already suggested this some time ago but I was dealing with a project and again I thought it would be a nice feature to have in Glyphs.
I think it would be a pretty good thing to have kerning subclasses where you could group many letters that usually need kind of the same adjustment over and over in some scenarios but have different contours and require very different adjustment in others. For example you could have different classes for one.superior, two.superior, three.superior… to kern them between each other, but then a bigger subclass called “superiors” where you could add all the number.superiors + asterisk + ordfemenine + ordmasculine + quotes… and kern that huge group with A, L, a.sc, l.sc… in a single move (although it might require some minor individual adjustments later). I can think of other scenarios like T with all the small caps for example, etc etc.
Regarding the design and the UI of this… that s another story :slight_smile:



They would have to be “Delta” classes, where the values add up to normal kerning. (like FontLab 4.5 some decades ago did). It should also be possible to modify kerning values through the cpsp feature; when capital spacing is activated, different adjustments must often be made to the individual pairs. Technically possible, Karsten Lücke (KLTF) did it long ago. Capital spacing can also be seen as additional (Delta) kerning between all capitals.
I agree a UI is necessary for these things.

1 Like

Yes, please add subclasses to Glyphs!

What specific issue are you trying to solve?

Any suggestions how to select what class should be used when you set the kerning?

one example are the various letters with the same base form but different dots in arabic (sorry, I don’t have the correct description on hand)

the main kerning class could be used for all of them. And the sub(exception) class could be used for all of them with dots behind. This one would only override the main class, if a kerning value is existent.

In this case, you simply use two different classes for the ones with and without dots. The duplication of work from adding some pairs twice is minimal. Otherwise you would need to double check twice that you used the right class for each pair. Because that is the biggest problem with the multiple class setup. How to select the class for each pair.

If one could simply add more than 1 kerning class name, Glyphs would use the second one, if a value is present, and the first one, if not :slight_smile:

But then the first one would never be used and that would not be useful.

I have an idea how it could work. But I suspect that it would mess up a few things.

If Glyphs only uses the second class, if a value is present and processes the exceptions as single „classless“ kerning Values, it should work…

No. Because how to tell it to add a pair with the second class initially. I’m speaking about the moment when you decide: ‘ok here I need a pair with the second class’. How to switch to that second class. That is the big question. How to process them later is doable.

Could this be done similar to the feature of when multiple anchors are present there is a drop-down menu that allows you to select which anchor you want to attach to?

So if a glyph can have multiple kerning classes, then at the moment of kerning a pair, you can select which class to kern with.

This was my idea, too. I’ll put that on my list.

1 Like