No kerning in Office

Hi everyone, first message on this forum, nice to meet you all ;).
I’m in the same situation than everyone here : Trying to generate a .ttf font file that works well, with kerning on Powerpoint and Word.

Here is what I did :
• I reduced a lot the kerning pairs.
• Removed with “Remove Glyphs” custom parameter all the glyphs without unicode. (and updated Functions).
• Removed the “DFLT” line on top of the languagesystem.
• Added the custom parameter “Write Kern Table” in the instances’ custom parameter.
• Exported as a TTF.

Here are the problems I noted :
• Kerning doesn’t work on Word and Powerpoint.
• I still have the Kerning groups in the fonts, I have no idea about how to flatten this.
• When the font is exported, Cubic curves are translated to quadratic : In my case, each glyph has double nodes (red alert). Is there a way to convert from cubic to quadratic, and clear the path before the “save as TrueType” line?

The double nodes are an import problem. The .ttf is fine.

Can you confirm that other fonts show kerning? Have you activated it in the settings of the apps (why it is still off by default???)?

Hey Georg, thank’s for your answer, first : kerning option is activated in powerpoint, and other fonts show kerning (Arial.ttf for example).

I made new tests this morning :

Tested an other font, with a very few number of glyphs, only a few pairs of kerning, and the most important : no kerning classes.
I cc all the custom parameters of the main project to this test font.
Result is : Kerning works great on power point, but there is still all the double nodes.

Back to the main project : Used the great script made by JAF to erase all kerning group : https://github.com/justanotherfoundry/freemix-glyphsapp/blob/master/Expand%20Kerning.py
Exported and tested on power point : not working.

I’m about to test some arrangements :
Reduce glyphset (maybe onesuperiors &others, diacritics and fractions are a problem for PP)
Reduce small kerning pairs (to have less pairs)
Reduce the amount of big kerning pairs (maybe there is a limitation of kerning? any idea?)

I’ll come back with the results of the tests.

Removing glyphs shouldn’t be an issue. Several times the solution was to add some. Not having all glyphs from the Windows 1252 encoding caused problems before.

Plus, as another test, try removing kerning for glyphs that do not have Unicode values (or simply remove these glyphs, or give them PUA values). For me, this has solved kerning problems in MS before but it was quite long ago.

2 Likes

Thank’s for your answers.

There is something really weird that happens : All glyphs have names and unicodes, and the Windows 1252 is complete, but :
After exporting, when I open the .ttf in glyphs, a lot of glyphs inside the font are not detected by smart filters. The missing glyphs have a unicode, but lost their names, and the diacritics have a zero width.

On export, some glyph names are converted to production names. You can make Glyphs to convert them back on import. But importing a font is not a good way to debug a font. Too much interpretation of the data and some details are lost.
And all marks that are marked as Nonspacing in Unicode need to be zero with. Glyphs is doing that automatically on export.

Hey there, I’m coming back with some updates :

I needed to remove some custom filters, informations below :
(1: the original filter list that didn’t work, 2: the latest filter list that worked, 3: the filter I had to remove)

1 :
Remove Glyphs : List
or Keep Glyphs : List
Scale to UPM : 2048
Filter : Remove Overlap
Write Kern Table : V
Remove Classes : Class
Remove Features : feature
Update Features : V
Save as TrueType : V

2 :
Scale to UPM : 2048
Filter : Remove Overlap;
Write Kern Table : V
Save as True Type : V

3 :
Remove Glyphs : List
or Keep Glyphs : List
Remove Classes : Class
Remove Features : feature
Update Features : V

Now it works, thanks for your help.

What glyphs did you remove in with the Remove Glyphs filter?

First I only wanted to remove Old style or tabular figures, some stylistic alternates, case sensitive punctuation, to make the file smaller. Honestly I tryed to remove so many different glyphs, I don’t think that a glyph is involved in the problem.

I have an update about a problem I encountered:
I made fonts for powerpoint with the “Write Kern Feature”. Most of kerning pairs were working, but some didn’t, and for no apparent reason.

If you use the “Write Kern Feature” custom parameter, you can’t have unexported glyphs with unicode in your file: you need to erase them from the glyphs file. It seems that some feature mention the missing glyphs with unicode, and ruin the kern table.

Hey guys, I can’t find the ‘Write Kern Feature’ among the Custom Parameters. How should I generated old style Kern tables in Glyphs in 2020?

Thanks in advance.

Hi Ramiro, it’s a hidden parameter, you have to add a new, and name it : “Write Kern Table”.

I see now. Thanks!. Please take notice that the ‘autocomplete’ recommendation made in this thread does not currently work, hence my problem.

Sorry for the late reply, I must have overlooked the post back then.

Careful: Write Kern Table (not feature). Kern tables were used before the advent OpenType (with its kern feature in the GPOS table), hence we refer to it as ‘legacy’ or ‘old-style’.

Most of kerning pairs were working, but some didn’t, and for no apparent reason.

There actually is an apparent reason. The legacy kern table did not (properly) support group kerning (a.k.a. ‘class kerning’) where you can kern a group of letters against another group of letters, only character to character. But dissolving group kerning into singleton kern pairs leads to a lot of kern pairs. But you can only put a limited number of pairs into an old kern table, so if you have a lot of kerning or large kerning groups to begin with, only a part of that can fit into the legacy kern table. What you can do to control what goes in and what not is to make a duplicate of your .glyphs file and make your own subsetting of the kerning. The kerning scripts in the mekkablue and freemix repositories may help.

Actually PowerPoint supports GPOS kerning from PostScript OpenType quite well. (as long as the word “lookup” is not used in the feature I believe).

‘Quite well’ :laughing:

So you say it can only support GPOS if it has exactly one lookup? That should be the case if you have very little kerning. It has been a while, but I am pretty sure I tried that, and the test fonts never showed any kerning. I’ll try again.

I just opened an .otf with 1550 glyphs, whose kerning works in PowerPoint, and it expands to around 50000 pairs, which is not very little. If I remember correctly, anything that compiles in FLS5 worked, including kerning for unencoded glyphs, and subtable;s. Of course those unencoded glyphs are not available in PowerPoint, but they don’t spoil kerning for the rest either.

Is it GPOS kerning or is it a kern table?

Pure GPOS, lookup type 2. Kern table in .otf is forbidden by me :wink:

1 Like