Kerning groups and missing glyphs

Post Reply
federicoparra
Posts: 6
Joined: 23 Apr 2021

Kerning groups and missing glyphs

Post by federicoparra »

I've been testing Kern On and see a lot of potential in this plugin. I know it might be a bit contradictory but I think it would be nice to retain control over the kerning groups prior to use Kern On (e.g. I would like to have the same kerning for different accentuated A's). I was also wondering how to include characters that Kern On seems to ignore, as the .case variations? I know that I could add "User-set autopairs" but I'd have to add each possible combination.
User avatar
Tim Ahrens
Site Admin
Posts: 407
Joined: 11 Jul 2019

Re: Kerning groups and missing glyphs

Post by Tim Ahrens »

Regarding the missing kerning for the .case variations: They should be generated automatically. What are the pairs you would expect to be generated? Do you have the case feature defined? To determine which pairs are necessary, Kern On applies the OT features in the font, just like they would be applied when the font is used. It ignores the glyph names. Sorry, this information is not in the initial tutorial as I tried to keep it short. I’ll cover it in the next, more in-depth video. Hope this helps for now!

As for the kerning groups, sorry, Kern On doesn’t let you set them manually. One less thing to worry about! Before you push the Kern On button, all pairs are glyph-glyph pairs, and the classes are generated only as the very last step.

The reasoning when generating kerning classes is:
  • Ensure the given kerning data size is not exceeded, and
  • Optimize the kerning so that the important pairs are exported, and have a value close to the ideal value (the precise value determined by autokerning). So, the algorithm aims to minimize the sum of all errors (error means missing pairs or values that deviate from the ideal), considering the pairs’ frequencies.
The result sometimes looks a little unusual for human eyes but keep in mind that the aim is not to have pretty-looking kerning groups, but good results when the font is used.

In the final kerning, are there any pairs you are unhappy with? Anything missing? Any wrong values? Just let me know and I’ll investigate.
federicoparra
Posts: 6
Joined: 23 Apr 2021

Re: Kerning groups and missing glyphs

Post by federicoparra »

It works pretty well after updating the features, as you mentioned. As @Gini did, I also added some pairs with "dcaron" and "lcaron" (mainly accentuated letters) but probably there are no words with those occurrences. One thing that I feel could be useful is the kerning pairs of ".numr" and ".dnom" with "fraction", since this is how I generate fractions.
User avatar
Tim Ahrens
Site Admin
Posts: 407
Joined: 11 Jul 2019

Re: Kerning groups and missing glyphs

Post by Tim Ahrens »

Agreed, the pairs necessary for the fractions would be helpful. Maybe this should be generalized to include all ligature-type composites in the font? I’ll put that on my list.
Philip L
Posts: 5
Joined: 28 Nov 2022

Re: Kerning groups and missing glyphs

Post by Philip L »

When two glyphs have the same base, why would it result in a bigger kerning data size when putting them in the same kerning group? A font export doesn’t split them into glyph-glyph kerning pairs. I haven’t understood the reason why excluding them then so far. Do I worry too much about strange type setting and strange proper names let’s say? Or maybe I need to understand better why (statistically) the KO logic is better. Is the data base and the resulting extent still bigger than I think or than a classic manual group kerning. Sorry, I ought to worry less, but so far the result does not match my expectations so easily. Hopefully I’ll get more into it (without studying or spamming the whole forum).
User avatar
Tim Ahrens
Site Admin
Posts: 407
Joined: 11 Jul 2019

Re: Kerning groups and missing glyphs

Post by Tim Ahrens »

> When two glyphs have the same base

I assume you are referring to two accented glyphs with the same base letter? Since they do not have the same shape (including the accents), combining them in the same kerning group usually leads to additional glyph-glyph pairs (exceptions) while eliminating the cost of one subtable row or column. In total, this may use more space, it may use less space.

> A font export doesn’t split them into glyph-glyph kerning pairs

If you have group-to-glyph kerning pairs (which KO does not generate) then they are expanded into glyph-glyph pairs on export.

> Do I worry too much about strange type setting

Not sure I understand what you mean.

> strange proper names

Are you referring to the names of the kerning groups? They are completely ignored when the font is exported but KO uses the dominant glyph as the basis for the group name so as to quickly give the user an idea of the group members.

> Is the data base and the resulting extent still bigger than I think or than a classic manual group kerning.

Sorry, can you explain in more detail what you mean?
Philip L
Posts: 5
Joined: 28 Nov 2022

Re: Kerning groups and missing glyphs

Post by Philip L »

Thank you for the reply.

> combining them in the same kerning group usually leads to additional glyph-glyph pairs

Okay, too many questions here. I guess for now I skip that part where I try to understand the kern subtable. Google and FontTableViewer couldn’t help me.

> strange type settings

I mean character combinations that the KO character pair data base does not cover. “Proper names“ are just an example of potencial unusual combinations. But I begin to understand the KO character pair data base. If the KO result still covers many more other important kerned character pairs within the same data size than a classic (and kerning group based) kerning process, then it should be fine.

> Is the data base and the resulting extent still bigger than I think or than a classic manual group kerning.

I can see that the KO character pair data base is big. I imagined that the result of kerning with KO is still excluding relevant pairs when using the font. In former projects (with less characters) I used Kernkraft, checked all vector-based and some component glyphs and was lucky with the result. The GPOS table had no error when exporting the font. Now using KO the glyph pairs become mathematically more balanced, but i need to limit the kerning data size and the extent of the result excludes glyph pairs. I don’t know if a classic kerning for my current project would exceed 36 kb of kerning data or if I would have to exclude some pairs to respect the same kerning data size. Maybe KO kerns letter-symbol combinations where readers are used to quirky spaces? Especially in special spacing, I would say, we are used to condone a space being 15 units off (in a 1000 unit em) or so. So what if the KO character pair data base prioritizes letter-symbol combinations (found in wikipedia articles and twitter tweets) over letter-letter combinations existential to minorities? Regarding my question, all the special cases I mention, are they covered by a KO result compared to the result of a classic kerning as mentioned above of the same data size?
Post Reply