17

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.

11

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:

    uuuuuuuuuuuuuuuuuuuuuuuxuuuuuuuuuuuuuuuuuuuuuuu
    uıuunımnuınuınınuımunxuınuımuınuınuımuınuınmu

    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]
    shuffle(pairs)
    
    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 kerningtest.py) and then calling python3 kerningtest.py 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.

4

There are some good and helpful resources to help you with your kerning (and also answer your question about common kerning pairs):

Briem.net by Gunnlaugur SE Briem has a section dedicated to spacing (and kerning) and provides some methods to achieve good kerning. Also take note of all the sub-sections of the Spacing section.

The site Kern King collects lots of words with problematic kerning pairs and is intended to be printed, corrected, printed again, corrected again and so on.

Emil Ruder has a list of words to test during the spacing process of your font design in his book Typography. The list is rather short though, so I am not sure how much it would add to the Kern King list.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.