Toshi
Omagari

BubbleKern

Name: BubbleKern
Type: GlyphsApp Plugin
First release: 2015
See BubbleKern on GitHub

There are two kinds of spacing adjustments in typography: tracking and kerning. The former is universal space that is inserted between every letter, and very frequently miscalled as kerning. The latter, the true kerning, is an adjustment between exceptional cases such as very wide LT pair. It’s a tedious task that is done on the side of the type designer, and we often wonder how we can do it more efficiently.

But why do we need kerning in the first place? This goes back to the fact that metal type was laid out in rectangles and digital fonts inherited the same principle. Rectangle is a crude approximation of letter spacing, and sometimes result in large gaps and near collisions which need local adjustment, as explained above. But wouldn’t it be possible to avoid this altogether if the spacing was not defined by the rectangle model? I was certainly not the first to have this question, and you can find earlier example in the older type editor called Calamus Type Art and Microsoft’s implementation of Cambria Math typeface.

This leads to BubbleKern, a set of GlyphsApp’s plugin and scripts that tries a different approach to kerning. Instead of entering kerning values, you draw outlines that represent non-rectangle space around letterforms, which I call bubbles. Once you do, the BubbleKern script kerns the typeface automatically based on how a bubble would make a contact with the neighbouring one.

In my experience, 80–90% can be done with automatic kerning, and the rest needs to be done manually. I hoped it could reduce time spent on kerning, but that seems to be not quite the case. It was instead an invaluable learning experience, and made me question how spacing had been taught in schools and books. Moreover, it convinced me that this approach is more versatile and has a bigger potential as a part of font format. Fonts with bubbles can be kerned between each other (you cannot kern across fonts currently), and complex non-Latin scripts like Nastaliq Arabic could be kerned finally. Being outline-based, embedded bubbles should prove friendly with variable fonts.

For more details, please watch my ATypI presentation video.