Tag Archives: RoboFab

Optical kerning demo

I’ve finally found the time to get the RoboFab libraries for Python working for me, and I’ve coded the core of the optical kerning algorithm that’s been rattling around in my head for a few years. My test input font consists of six characters meant to imitate A, V, H, O, t, X and a diamond shape. I was only expecting the algorithm to generate approximate kernings that would need to be tweaked by hand, but surprise, surprise; it’s almost perfect:

optical_kerning.png

The only problem really is the tXt kerning, and that’s more an artifact of the too-regular, sans-serif shape of the glyphs.

The algorithm takes 1.7 2.6 seconds (wall time) to generate kern pairs for the 49 36 combinations of these seven six glyphs (including the time to read the font off disk, and convert it to UFO, and write that back to disk). That works out to faster than 0.036 0.072 seconds per glyph pair. Implementing the algorithm in C and caching the most common digraphs/kerning pairs might make it fast enough to use in a text-editing or layout program. (Struck out items are from before I added the diamond glyph and re-wrote some parts of the algorithm to be cleverer.)

Next step is to clean it up into a real application and run it on a full set of glyphs from a serif font, and compare the result with the font’s hand-kerning.

A good, fast optical kerning algorithm would even let you kern together different faces and different sizes. Wow, this is exciting.

Sunday evening typography: RoboFab, Ljubljana

RoboFab looks interesting but unfortunately seems to be abandonware. The docs imply it should work under Unix, but nearly everything I try to do tracebacks with a message about GUI elements only working on MacOS or Windows. An email to the info address on their webpage bounced back undelivered after a few days. The wiki is busted, and the Google group lists three messages total, two of which are test messages. And the licensing situation is complicated, which would discourage me from contributing improvements to RoboFab or releasing any program I wrote using it. It’s not an initially inspiring project to get involved with, but I’m going to keep hacking, as there are a myriad font-creation tasks that could be partially or completely automated with something like RoboFab.

t.26 has two nice modern blackletter faces, Wexford Oakley and Nightjar, plus one just plain crazy face, Tonic In Gear.

I’ve posted on Typophile work in progress on Ljubljana, a face I started working on in 2005 during my European trip which began in the city of the same name.

sample.png