Ikarus at 40, and a new cadence for the future
I was curious to see what the tools look like today.
First I was surprised, though: five people were on the list of presenters for the workshop!
Frank Blokland and Jürgen Willrodt usually speak at this kind of conference. But this time, Axel Stoltenberg, Michael Hoffmann and Lukas Schneider joined in.
After an introduction, the tools were presented. OT Master was first. It’s a very useful tool that dumps any OpenType font or TrueType collection and displays its structure. You can access any table and edit almost any value in any table. This is the kind of tool that you’d use for post-processing and debugging your OpenType font. For instance, it does not allow you to edit glyphs – it really is a technical tool. It has some useful features that help you to keep values consistent within the font and double check the results of your changes.
URW++ used the Qt framework to build their new generation of tools. Qt is a well known platform-independent programming framework for C/C++ that includes a rendering engine (Freetype) and a shaping engine (Harfbuzz). This enables the preview of OpenType layout features that you create. It also allows you to compare glyphs in the font side by side, while filters allow you to view only the ones that are different. This is especially useful for comparing different versions of a font. An OpenType file export/import function allows you to fix broken layout features in OT Master without having to run through the production process again.
LS Cadencer, the Python spacing plug-in
Next up was Lukas Schneider presenting a new tool: LS Cadencer. Unlike OT Master, LS Cadencer is not based on Qt or C/C++. Lukas developed the Cadencer in Python as a plug-in for Robofont and Glyphs. The plug-in can generate the spacing for a whole font or a subset of characters.
Cadencer is based on the lettermodel that Frank Blokland has investigated. Roughly speaking, the lettermodel describes patterns in the spacing between the character shapes in such an abstract way that it can be applied from one typeface to another as long as the basic letterforms follow the same rules. Hence you have to select a template for the lettermodel you are using before you run the Cadencer. Lukas showed a few of the templates that come with the tool, including an Antiqua model and a Grotesk model. If your typeface doesn’t match any of the models, you can create a new model with an additional tool that Lukas also provides, the LS Cadenculator. You open a font that holds the lettermodel you need, run the tool, and it generates the template for you.
Then you go back to your typeface, select the relevant template, make some adjustments for specific characters like “g” and “f”, and run LS Cadencer. It will space your font automatically, but it will not add kerning. For many type designers, this is a helpful tool that provides an effective first step in the spacing process. However, some type designers are strictly against the use of a tool like Cadencer because they understand the white space between characters as an inherent part of type design.
During the workshop, one designer from the audience provided Lukas with a typeface that he was currently working on. Lukas ran the Antiqua design through his tool and presented the spacing, showing it before and after. The designer was quite impressed with the result.
Foundy Master for URW++/DTL
Michael Hoffman and Alex Stoltenberg presented more tools out of the URW++/DTL package, the most important of which was the Foundry Master. This is the tool DTL and URW++ use for the design and production of their fonts. It was also developed in Qt while the core functionality remains in the Ikarus libraries from 40 years ago. The tool looks more up to date than the old tools package named “Master”. The UI looks organized, though it’s not as sophisticated as type designers are used to from Glyphs or Robofont. One interesting function is the intelligent scaling, which means that the proportion of a glyph is kept consistent throughout the scaling process. The results are rather impressive, even though manual adjustment is still required.
One of the things that makes Foundry Master work well for URW++ and DTL, but not so well for other foundries, is that it is essentially still an Ikarus tool. It handles a number of different outline formats, but then saves those outlines in proprietary file formats, like .be files that hold Bezier outlines. They’re really just simple PostScript outlines, but you can’t open .be files with another editor. You’d have to export to another format that other editors understand. Similarly, the character/glyph set template files follow a proprietary format. After all, adding another tool to the production chain only makes sense if it brings benefits. The additional formats that the Foundry Master brings will make things more complicated and link your production process to a proprietary tool. I’m not sure if designers or foundries will want to be dependent on a proprietary format now that they’ve experienced the freedom that the UFO format brought to the industry. Having said that, I also have to add that the DTL/URW++ tools have a solid base that draws upon 40 years of experience. They work very well, if only for the needs of DTL and URW++. The LS Cadencer is a different story. Since it is implemented as a plug-in in Robofont, it has the potential to be used outside of the DTL/URW++ universe.
After this post was published we received the following message from Frank Blokland:
One small remark: currently FoundryMaster actually does export UFO and the upcoming version (unfortunately not in time ready for the conference) supports the import of UFO too (and so will OTM). I have to admit that we just forgot to mention this during the session.
Written by Atilla Korap