Unclear on TTF kerning pair limit. Old style kerning tables

I’m working on a font that needs to kern in PowerPoint. It needs to be truetype with oldstyle kerning table so PowerPoint can kern it.

This is part of a family of fonts (6 weighs in total).

As I understand it, you can’t have too many kerning pairs in old style kerning tables.

As I understand it, you can’t use kerning groups – you have to “flatten” them to individual pairs, which means more pairs. I don’t know the limit of kerning pairs that I can have.

I have the full set of diacritics, so that may result in a bunch of kerning pairs.

QUESTION 1: Kerning diacritics
Some letters, such as i-acute (í) have too much space on the right because of the angle of the accent and the width of the letter i. So I set the right sidebearing to a negative number. It looks good next to, say, lowercase o, but it crashes into lowercase l, h, j, etc.

Do I keep the negative right sidebearing on i-acute? Then I need to add positive kerning to fix i-acute next to lowercase l, h, j, etc.

Or Do I make i-acute have positive right side bearing and then negative kern between i-acute and all lowercase letters that stop around the x-height?


QUESTION 2: How many kerning pairs exactly can I get in old style TTF kerning tables?

QUESTION 3: If I use extension kerning in custom parameters, can I get more pairs? If so, will it remain compatible with PowerPoint on PC/Mac? If so, how many more?

QUESTION 4: Do I kern every possible diacritic? Like, just taking one combination of T and o, when you add up the diacritics, that’s a lot of pairs! If I need to do kerning pairs for all (or many) or the diacritics, I might wind up with too many pairs and get an error on export.

It’s a shame that PowerPoint doesn’t offer good OpenType support, but this is the reality. How do I make it work?

Lots of screencaps are attached.

Everyone is using the current Office 365 PowerPoint 16.70
I’m using Glyphs 3.1.1
This needs to work on both Mac and PC. PowerPoint and Word.

Thanks to everyone in this great community!

That are a lot questions in one thread. Next time maybe post each question in its own post.

  1. Always use automatic alignment for accented glyphs. That way you don’t need to deal with the spacing of all those glyphs. I suppose that most combination are with glyphs that are only inside the x-height and so don’t cause problems. And then add kerning for all the ones that do.

(You might use a bit steeper acute and move it to the left a tiny bit. That way you avoid a lot of the problems/collisions.)

  1. In Glyphs 3.2 I increased the number of possible pairs in the kern table. You should be able to have 50.000 to 100.000 pairs (I didn’t test the maximum, yet). In Glyphs 3.1 and before, the limit was ~10.000.

  2. use extension kerning is only for GPOS lookups. Has nothing to do with the kern table.

  3. You should kern your font normally, using classes and add all pairs that you need. Then, when you export the fonts that need a kern table, filter it down to a manageable amount. That can be done with a script e.g. Kern Flattener.py

Ah, sorry! Too many questions in one. And thank you for your kind reply!

I’ve found that exporting truetype without kerning classes results in proper kerning in PowerPoint.

Where I’m not clear about is how many kerning pairs I can have in an old style kerning table in truetype. If it’s too many you get an error on export. Is this limit because truetype/powerpoint can only have a limited number of pairs, or does the export from Glyphs only support a certain number of pairs?

I appreciate the suggestion about the accent characters - I’ll give that a go. And it sounds like the script you mentioned may solve a lot of my problems. Thank you for the info!

Please try Glyphs 3.2. You can get it by activating “Show cutting edge versions” in Preferences > Updates (keep a copy of the app if you need the stable version for production work).