Python wrapper for ttfautohint, a free auto-hinter for TrueType fonts

pip install ttfautohint-py==0.5.1


Github CI Status PyPI Codecov


ttfautohint-py is a Python wrapper for ttfautohint, a free auto-hinter for TrueType fonts created by Werner Lemberg (@lemzwerg).

It uses ctypes to load the libttfautohint shared library and call the TTF_autohint function.

Binary "wheel" packages are available for Linux (manylinux1), macOS and Windows, for both Python 2.7 and Python 3.x, with 32 and 64 bit architecture. They can be installed from the Python Package Index (PyPI) using the pip installer.

$ pip install ttfautohint-py

The wheels include a precompiled (*.dylib on macOS, or *.dll on Windows) shared library which has no other dependency apart from system libraries. The FreeType and the HarfBuzz libraries are compiled from source as static libraries and embedded in libttfautohint.

To compile the libttfautohint.dll from source on Windows, you need to install MSYS2 and the latest MinGW-w64 toolchain. This is because the ttfautohint build system is based on autotools and thus requires a Unix-like environment.

A Makefile is used to build the library and its static dependencies, thus the GNU make executable must be on the $PATH, as this is called upon by the script.

Because we build freetype, harfbuzz and ttfautohint from their git source (checked in as git submodules), some relatively recent versions of the following development tools are also required: autoconf, automake, libtool, flex, bison and ragel. Please check the respective documentation of these libraries for more information.