https://github.com/fonttools/ttfautohint-py
Python wrapper for ttfautohint, a free auto-hinter for TrueType fonts
https://github.com/fonttools/ttfautohint-py
Last synced: 5 months ago
JSON representation
Python wrapper for ttfautohint, a free auto-hinter for TrueType fonts
- Host: GitHub
- URL: https://github.com/fonttools/ttfautohint-py
- Owner: fonttools
- License: mit
- Created: 2017-12-08T16:07:17.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2025-08-01T14:25:38.000Z (6 months ago)
- Last Synced: 2025-08-08T12:52:39.051Z (5 months ago)
- Language: Python
- Homepage: https://www.freetype.org/ttfautohint/
- Size: 375 KB
- Stars: 32
- Watchers: 5
- Forks: 8
- Open Issues: 3
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
|GitHub CI Status| |PyPI| |Codecov|
ttfautohint-py
~~~~~~~~~~~~~~
``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.
.. code:: sh
$ pip install ttfautohint-py
The wheels include a precompiled ``libttfautohint.so`` (``*.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 ``setup.py`` 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.
.. |Github CI Status| image:: https://img.shields.io/github/workflow/status/fonttools/ttfautohint-py/ci.yml?branch=main
:target: https://github.com/fonttools/ttfautohint-py/actions/workflows/ci.yml?branch=main
.. |PyPI| image:: https://img.shields.io/pypi/v/ttfautohint-py.svg
:target: https://pypi.python.org/pypi/ttfautohint-py
.. |Codecov| image:: https://codecov.io/gh/fonttools/ttfautohint-py/branch/master/graph/badge.svg
:target: https://codecov.io/gh/fonttools/ttfautohint-py