Kerning groups best practice

Hello everyone,

I need to understand something about kerning groups. I think I understand the basic concept of it, but what is best practice to put in the same kerning group? As I understand it I would put all A with diacritics in the A group.
Now comes the part where I get confused: let’s take e for example. With my logic I would put all e with diacritics into the e group. But some people would put it in the o group because of shape similarity. Another example: D, is it in the left H, right O group and all D with diacritcs too?

So the question really is, do you make kerning groups based on same exact letters (with diacritics for instance) or loosely based on the same shape? Or is the standard alphabet put in groups of same shapes and diacritic letter glyphs in the same groups as their parent letter?

I’m working on a font with 800+ glyphs right now and could really use some input on how to handle this elegantly as I find myself mixing up these two concepts all the time.


That depends on your design. If o and e are similar enough, you can put them in the same group, why not. BTW the names of the groups are completely arbitrary, you can also call it lowercaseRound or something, it’s just that o is quicker to type.

Did you read the kerning tutorial?

Mekka, I read the kerning tutorial and I used the set kerning groups script.

What confuses me for example is the fact that k is set as h on the left kerning group and k on the right kerning group while h uses h as lkg and n as rkg. Then it gets even more confusing when I see that hdotbelow also is defined like h with h as lkg and n as rkg. Why is that so?
To me it would make sense if h would use h as lkg and rkg and hdotbelow would use h as lkg and rkg.

There is probably something I do not grasp about the kerning group concept.

Here you lost me completely. How can they be arbitrary? Don’t they reference to that particular glyph?

The more I learn the less I know… so frustrating.

Perhaps this will help: the kerning groups are referencing the shape of the respective sides of the key glyph, not the actual letter. That’s why there are different group references for the sides of glyphs such as the /k and the /h; their left sides are the same while their right sides differ in shape.

To simplify, let’s just look at the left side of some glyphs.

  • Method A
    Left side of /h /b /k /l are the same:
    so I give them all /h as lkg value
  • Method B
    Left side of /h /b /k /l are still the same:
    so I could also set the lkg of /b to /h and /k to /b and /l to /h for example

So both these methods would yield the exact same result, am I right or am I wrong?

Yes, you are right. You are also right that you could use Method B, but I would use Method A. Adding another key glyph (kerning group) to do the same job as another just complicates it.

A caution: as regards Method B, I’m not sure if having a nested kerning group as you describe it would cause problems or not. That’s a question to ask Mekkablue or Georg.

What exactly confuses you? It makes sense to have h and k in the same left group, because both look the same on the left. And of course h, hdotbelow and n share the same right group, because they look the same on the right side.

No. The group names are just arbitrary names and do not reference anything. What counts is not the name of the group, but which glyphs share the same group.

no. Method B is wrong. As Rainer explained that are not references to a glyph (as in the metrics keys and in another font editor) but names of the classes. And thous nested kerning groups are not possible.

1 Like

Thank you all for your help!
I got it just before falling asleep last night. I really had the concept wrong thinking it would reference to a particular glyph. [quote=“mekkablue, post:2, topic:3863”]
BTW the names of the groups are completely arbitrary
[/quote] When Mekkablue said that, it didn’t ring a bell but confused me even more. Now I finally see the whole picture and everything you guys said makes sense. Even the locks make sense now. Hurray!

This is exactly it … as in the metrics keys. My brain just assumed that because in the metrics keys you can type in a specific glyph as the sidebearing somehow the kerning groups would behave the same.

Instead of naming a group ‘All the letters that have a tall straight left side’ I can just call them /h for the sake of simplicity. So it is up to me to choose the same name for similar sides of glyphs and by giving them the same name automatically puts them in the same kerning group. And yes, in this case it makes absolutely no sense to put /b in a /h named group and /k in a /b named group as I imagined in my ‘Method B’, it would only create more unnecessary groups, they are all better off in the same group named /h for example.

So again, a conceptual misunderstanding of my part.
Thank you all again for your help and patience to my noob question.

Perhaps we can update the kerning tutorial accordingly. This often confuses people, especially when they do it for the first time.