An open API service indexing awesome lists of open source software.

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

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