Kerning information is used to adjust the space between specific pairs or groups of glyphs, to account for interactions between different glyph elements, such as “Av”, “LT” or “To”. As you can see in the following picture some glyphs may be well spaced with just the sidebearings, but others are not and need adjustment to account for how their shapes interact.

With kerning Without kerning

Older font formats (Type 1, MM, TrueType without OpenType tables) implement kerning using kerning pair lists. Each kerning pair defines the number of font units (usually negative) by which the right sidebearing of the first glyph in a pair should be horizontally shifted when the glyph is followed by a specified second glyph.

A problem of the kerning pair list approach is that due to accented characters, many duplicate pairs need to be included in the font. For example, the pairs “Av”, “Äv”, “Áv” etc. usually should be kerned by the same amount, yet each of them needs to be included separately in the font—otherwise it will not be kerned. Even some different letters may share an outer shape on one or both sides, so they could get the same kerning values (such as VW, vw, and the left sides of CGO). This duplication results in large tables that increase the size of the font file, and may hamper the performance of some applications. Therefore, for OpenType fonts, a more sophisticated kerning approach called Class Kerning was developed to help address this problem. Class kerning is defined in the GPOS (glyph positioning) OpenType feature ‘kern’.

For details on editing kerning, see Editing Kerning.