What are some common kerning pairs?


Setting up good kerning is one of the most important parts of designing a typeface. Cheap or free fonts often have bad or non existent kerning and it gets incredibly tedious having to manually kern texts.

There are some obvious common kerning pairs like KO, AV, LT, TA.

An illustration of some common kerning pairs with and without kerning:

enter image description here

Kerning by eye can be a long and laborious process and my process at the moment is very haphazard—so what I'm looking for is some common kerning pairs and general strings to work with when kerning.

Obviously every typeface will be different but something to use as a starting point would be incredibly useful.

3/9/2016 10:40:00 AM

Accepted Answer

While this may not directly answer your titular question, I hope that it somewhat solves your problem: The following techniques helped me reducing the work on manually kerning a font (which was blackletter; so standard kerning pairs did not apply):

  • By far the most important one: Use kerning classes. While your font may have a lot of glyphs, many of them are identical with respect to kerning in one direction. For example, the right-kerning of m and n should be identical in every or almost every typeface. So, before you start kerning, group all your glyphs together into reasonable kerning classes and you massively reduce the work, you’ll have to do. Any reasonable font editor should support kerning classes.

    Depending on your typeface, the effectiveness of kerning classes can be boosted by using different kerning classes for different situations. For example à and a will have the same left-kerning with respect to most lowercase letters, but not with respect to some uppercase letters and f. For my font, I had different kerning tables with different kerning classes for the following cases:

    • lowercase without f, Å¿, ľ, ï, … – lowercase;

    • f, Å¿, ľ, ï, … – lowercase;

    • uppercase – lowercase;

    • uppercase – uppercase;

    • lowercase – lowercase.

  • Put effort into tuning the bearings, i.e., a glyph’s default (unkerned) distances to the right and left. If a glyph’s bearing is chosen badly, this means that you have to kern almost each pair containing this glyph. On the other hand, if your bearings are good, you do not have to kern much and you directly see where you have to kern.

  • A trick to adjust the bearings and kernings is to look at something like the following:


    If xu needs kerning, you should notice by looking at this.

  • Grow your pool of glyphs with adjusted horizontal metrics systematically and thoroughly. Start with adjusting the horizontal metrics (bearings and kernings) of “simple letters” like i, m, n, and u. Make sure that words like minimum, aluminium or immunity look good, ideally without using any kerning between the aforementioned letters. Then add other lowercase letters to the pool and make sure that they have good bearings and kerning where necessary. If your pool contains all lowercase letters, add uppercase letters and only care about their right bearing; and so on …

  • Once you have that pool, read lots of text in your font to find some pairs that you might have missed. Looking at text upside down also helps.

    Finally, you can generate yourself a text that contains every possible letter pair and check it. For example, the following Python 3 script will do the job for lowercase letters:

    from random import shuffle
    s = "abcdefghijklmnopqrstuvwxyzßþðə"
    pairs = [(c,d) for c in s for d in s]
    for i, pair in enumerate(pairs):
        print("".join(pair), end=("" if i%3 else " "))

    (This can be easily run on Unixoid systems (mainly everything but Windows) by saving it into a file (say and then calling python3 from a terminal in the respective folder.)

  • Worry about what is actually used first. The most important kernings are lowercase–lowercase and uppercase–lowercase. Uppercase–uppercase and lowercase–uppercase is for exceptional uses only; depending on your typeface it may not be important at all, e.g., because all-caps is just a pretty bad idea with a calligraphic script. Hopefully nobody needs cyrillic–latin or roman-numeral–currency-symbol kerning pairs.

However, even with all those tricks, performing a good manual kerning is some long and boring work.

3/10/2016 8:56:00 AM