Type-design and font-production involve many repetitive tasks. Tools that automate such tasks are invaluable ressources to designers, allowing them to focus on what’s essential: designing typefaces.
hTools is a small toolkit I have been developing during the last few years to assist in my type-design and font-production workflow. It is a package of Python scripts and dialogs that add useful functionality to RoboFont and FontLab Studio.
hTools is built on top of fundamental libraries by LettError and TypeSupply (RoboFab, dialogKit, vanilla & co.), which are included in RoboFont by default, and can be added to FontLab.
Some useful tools included in this release:
- batch generate and transform fonts
- batch transform glyphs and glyph names
- move, scale and skew sets of glyphs
- adjust vertical metrics interactively
- copy side-bearings and widths between fonts
- batch set and transform side-bearings and widths
- rename anchors, transfer anchors between fonts
Background
Work on hTools started around 2006/07, after my studies at Type&Media and the first RoboThon conference. I began writing scripts to automate parts of my workflow, and to collect common functions in shared modules. Production of Elementar, which contains hundreds of single fonts, was only possible thanks to these custom scripts and tools.
This first set of tools worked well enough for me, and I still use them for several tasks today. But the code is not very well-written, contains parts borrowed from third-party scripts, and is not general enough to be useful to others – so it didn't make much sense for me to release it. This has changed now with hTools2.
hTools 2
hTools2 is a rewrite of hTools from scratch for RoboFont. It is being developed in collaboration with Nikola Djurek (Typonine), another Type&Media friend and a very experienced type-designer who is also moving his production from FontLab to RoboFont. Nikola approached me in October to commission a first set of scripts for RoboFont, covering some of the functionality I had already implemented in hTools – so it was natural to use it a starting point.
Working with Nikola has been very exciting. Besides formulating the briefing and requesting features, his work on testing the tools, giving feedback and suggesting improvements is essential to keep me and the project going. I cannot understate the importance of having someone of his calibre to exchange ideas with. And last but not least, Typonine is also funding part of my work writing the code.
hTools2 is available under the same BSD licence as RoboFab, vanilla and the other existing open-source UFO libraries. We believe that these tools will be useful for other designers working with RoboFont, and hope to make a small contribution to the existing ecosystem of UFO-based type-design & font-production tools.
Plans
Work on hTools2 continues, with several new dialogs and features planned for version 0.2. We are interested in getting feedback from users, and adding more functionality on demand (as a paid service).
Keep an eye on this blog for major updates, or subscribe to the projects’s RSS feed on github to follow granular changes.
Special thanks to Frederik Berlaen (TypeMyType) for his great work on RoboFont, and for patiently answering questions and pointing me in the right direction.
For a preview of hTools in action, have a look at the screencasts.