TYPO Labs: RoboFont – Maybe there is no magic?

During the TYPO Labs, Frederik Berlaen presented a new set of features shipped with the last Robofont version released just in time for TYPO Labs. There is brand new stuff under the hood and it is much faster.

– –

by Roberto Arista

Robofont is well known in the field for its radical philosophy in terms of scripting accessibility and the avoidance of pre-built solutions, which makes it at the same time highly extendable and a little bit frustrating. As noticed by any user, you will not find a primitive drawing tool in the native app, you have to install an extension to do so. Why? Because according to Frederik Berlaen, the one and only Robofont developer, his oval is maybe not your oval. By the way, the shape tool is here and it is easy to install thanks to Mechanic, no panic.

After a year of work and more than a hundred beta versions, RoboFont 1.7 has been released a few days before the TYPO Labs conference. During his talk, Frederik took his time to present the most important features which are delivered with this version.

TYPO Labs 2016 Frederik Berlaen, Robofont

No fancy stuff, but a lot of routines rewriting – which made the graphics a lot faster– and improvements at the API level. Unfortunately UFO3 is still not supported, for that we will probably have to wait the 1.8.

On the Robofont website there is a full list of improvements in detail, but as you continue to read I will just point out some of the most interesting:

  • there is a new set of notifications available for developers. Frederik used a nice analogy to describe what actually a notification does on a coding level: it is like a mailman deliverying periodicals you subscribed. It allows developers to get delivered by Robofont some specific information related to an event: “each time you –Robofont– open a font, please ring a bell and give me some data”. Those new notifications are not listed in the API docs, but if you are eager to test them, just search the term “notification” in the version history list, you should be able to find them.
  • “/!” meta character is now supported in the space center and it allows to quickly show multiple selection or groups
  • there is now an official lib key for the GlyphOrderAndAliasDB data in order to store a specific list to deal with production names on a UFO level. When compiling a new font, Robofont will look for production names there. Thumbs up.
  • It is now possible to add vanilla controls directly to the glyph window. Especially if you often work without a couple of extra screens where to keep the dozen of plugins you use to draw –which it is often the case with Robofont–, maybe this could be a nice solution to keep things in order.
  • Frederik added the CAPS LOCK as modifier for drawing interactions in the glyph window. This features has been shown in detail during the RoboChitChat, basically if the CAPS LOCK is active, arrow keys behave like the mouse. It sounds pretty abstract, but with a few attempts should be easy to get the difference. Definitely waiting for a screencast.

Those improvements are strictly related to the application itself, but in the last year there have been a few things happening around the application too.

If you have been involved in type for a while, you should know that naming glyphs –which looks actually as a quite straightforward operation– can easily get troublesome. Robofont does not provide any turnkey solution, but Frederik, with the help of Erik van Blokland, is trying the make easier for users to extend their support to other scripts. They worked together to the GNFUL (please, read it with the flemish ‘G’) list which is automatically generated thanks to a Python lib straight from unicode data. The list is then easy to implement as glyph set in any font application.

Then Frederik presented a Python module developed by Tal Leming which has been implemented into Robofont 1.7: feaPyFoFum. It is a compiler for the FeaPy sintax, a backwards compatible addition to the .fea sintax developed by Adobe. With FeaPy you can make .fea file dynamic, a bit like what php does with html. Whoa! Thanks Tal.

Other than Robofont, Frederik takes care also of the active development of Drawbot, which was released by Just van Rossum and Erik van Blokland in 2004 with educational purposes inspired by Design by Numbers by John Maeda. Frederik took over a couple of years ago porting the app to version 3 after a complete rewrite. Drawbot is completely integrated with Robofont and permits to easily plot data from UFO files into a PDF canvas.

You can install Drawbot as an extension in Robofont, Mechanic will take care of the updates. In the last year Frederik implemented a nice set of new features as tabs, openTypeFeatures for text rendering, formatted strings and testInstall of fonts. For the ones eager to get their hands dirty with what they have seen during Jens Kutilek’s demo in the game center, just take into account that BezierPath is now fully compatible with the pen protocol and ready to use.


Robofont gives to the user a lot of freedom, but also a lot of responsability. This is maybe why many beginners are struggling with it and go for different solutions. But to question your tools has never been effortless.

Photographs by Norman Posselt / Monotype