fonttools 4.63.0 — Tools to manipulate font files
Author: Just van Rossum
License: MIT 
Requires Python: >=3.10
Dependencies: lxml>=4.0; extra == "lxml", brotli>=1.0.1; platform_python_implementation == "CPython" and extra == "woff", brotlicffi>=0.8.0; platform_python_implementation != "CPython" and extra == "woff", zopfli>=0.1.4; extra == "woff", unicodedata2>=17.0.0; python_version <= "3.14" and extra == "unicode", lz4>=1.7.4.2; extra == "graphite", scipy; platform_python_implementation != "PyPy" and extra == "interpolatable", munkres; platform_python_implementation == "PyPy" and extra == "interpolatable", pycairo; extra == "interpolatable", matplotlib; extra == "plot", sympy; extra == "symfont", xattr; sys_platform == "darwin" and extra == "type1", skia-pathops>=0.5.0; extra == "pathops", uharfbuzz>=0.45.0; extra == "repacker", lxml>=4.0; extra == "all", brotli>=1.0.1; platform_python_implementation == "CPython" and extra == "all", brotlicffi>=0.8.0; platform_python_implementation != "CPython" and extra == "all", zopfli>=0.1.4; extra == "all", unicodedata2>=17.0.0; python_version <= "3.14" and extra == "all", lz4>=1.7.4.2; extra == "all", scipy; platform_python_implementation != "PyPy" and extra == "all", munkres; platform_python_implementation == "PyPy" and extra == "all", pycairo; extra == "all", matplotlib; extra == "all", sympy; extra == "all", xattr; sys_platform == "darwin" and extra == "all", skia-pathops>=0.5.0; extra == "all", uharfbuzz>=0.45.0; extra == "all"

|CI Build Status| |Coverage Status| |PyPI| |Gitter Chat|

What is this?
~~~~~~~~~~~~~

| fontTools is a library for manipulating fonts, written in Python. The
  project includes the TTX tool, that can convert TrueType and OpenType
  fonts to and from an XML text format, which is also called TTX. It
  supports TrueType, OpenType, AFM and to an extent Type 1 and some
  Mac-specific formats. The project has an `MIT open-source
  license <LICENSE>`__.
| Among other things this means you can use it free of charge.

`User documentation <https://fonttools.readthedocs.io/en/latest/>`_ and
`developer documentation <https://fonttools.readthedocs.io/en/latest/developer.html>`_
are available at `Read the Docs <https://fonttools.readthedocs.io/>`_.

Installation
~~~~~~~~~~~~

FontTools requires `Python <http://www.python.org/download/>`__ 3.10
or later. We try to follow the same schedule of minimum Python version support as
NumPy (see `NEP 29 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`__).

The package is listed in the Python Package Index (PyPI), so you can
install it with `pip <https://pip.pypa.io>`__:

.. code:: sh

    pip install fonttools

If you would like to contribute to its development, you can clone the
repository from GitHub, install the package in 'editable' mode and
modify the source code in place. We recommend creating a virtual
environment, using `virtualenv <https://virtualenv.pypa.io>`__ or
Python 3 `venv <https://docs.python.org/3/library/venv.html>`__ module.

.. code:: sh

    # download the source code to 'fonttools' folder
    git clone https://github.com/fonttools/fonttools.git
    cd fonttools

    # create new virtual environment called e.g. 'fonttools-venv', or anything you like
    python -m virtualenv fonttools-venv

    # source the `activate` shell script to enter the environment (Unix-like); to exit, just type `deactivate`
    . fonttools-venv/bin/activate

    # to activate the virtual environment in Windows `cmd.exe`, do
    fontt