hTools2 is a collection of tools and objects for type-design & font-production work. It is written in Python and specially tailored for use with RoboFont.

The core Python modules and objects can also be used with FontLab Studio, ‘NoneLab’ (pure Python) and DrawBot.

hTools2 is built with RoboFab and vanilla. It uses the UFO font format to store font sources, and plist files to store different kinds of font data.


hTools2 is organized in three main packages: modules, objects and dialogs.

The additional package extras is used to keep custom modules which are not part of the public distribution of hTools2.


Modules are the base layer of hTools2, and are used to collect and organize low-level, generic, reusable functions.

Each module is dedicated to one aspect of font data – for example interpol contains functions to work with interpolation, anchors deals with anchors, and so on.

hTools2 modules rely heavily on underlying functionality provided by RoboFab and RoboFont to manipulate fonts.

hTools2 also integrates a few third-party external modules in a special extras package, for example colorsys for dealing with color conversions and nudge for special manipulation of bezier points.


hTools2 objects are built on top of the functionality contained in the modules, and provide a simple API for manipulating font files and related data in projects.


Metadata in font projects is stored in standardized plist and plain text files.


Scripts and dialogs make hTools2 objects and modules easily accessible in applications. Current scripts in hTools2 are built specially for use with RoboFont.

In RoboFont, scripts can be accessed with the ‘Extensions’ section of the main application menu, or via keyboard shortcuts (if properly configured).

Table Of Contents

Previous topic


Next topic

Installing hTools2 manually

This Page