single |
|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
licence `__.
| Among other things this means you can use it free of charge.
[User documentation] and
[developer documentation]
are available at [Read the Docs].
Installation
~~~~~~~~~~~~
FontTools requires [Python] 3.8
or later. We try to follow the same schedule of minimum Python version
support as
NumPy (see [NEP 29]).
The package is listed in the Python Package Index (PyPI), so you can
install it with [pip]:
Changelog
~~~~~~~~~
4.55.7 (released 2025-01-28)
----------------------------
- Shorten the changelog included in PyPI package description to accommodate
maximum length limit imposed by Azure DevOps. No actual code changes since
v4.55.6 (#3754).
4.55.6 (released 2025-01-24)
----------------------------
- [glyf] Fixed regression introduced in 4.55.5 when computing bounds of
nested composite glyphs with transformed components (#3752).
4.55.5 (released 2025-01-23)
----------------------------
- [glyf] Fixed recalcBounds of transformed components with unrounded
coordinates (#3750).
- [feaLib] Allow duplicate script/language statements (#3749).
4.55.4 (released 2025-01-21)
----------------------------
- [bezierTools] Fixed splitCubicAtT sometimes not returning identical
start/end points as result of numerical precision (#3742, #3743).
- [feaLib/ast] Fixed docstring of AlternateSubstStatement (#3735).
- [transform] Typing fixes (#3734).
4.55.3 (released 2024-12-10)
----------------------------
- [Docs] fill out ttLib table section [#3716]
- [feaLib] More efficient inline format 4 lookups [#3726]
4.55.2 (released 2024-12-05)
----------------------------
- [Docs] update Sphinx config (#3712)
- [designspaceLib] Allow axisOrdering to be set to zero (#3715)
- [feaLib] Don’t modify variable anchors in place (#3717)
4.55.1 (released 2024-12-02)
----------------------------
- [ttGlyphSet] Support VARC CFF2 fonts (#3683)
- [DecomposedTransform] Document and implement always skewY == 0 (#3697)
- [varLib] "Fix" cython iup issue? (#3704)
- Cython minor refactor (#3705)
4.55.0 (released 2024-11-14)
----------------------------
- [cffLib.specializer] Adjust stack use calculation (#3689)
- [varLib] Lets not add mac names if the rest of name doesn't have them
(#3688)
- [ttLib.reorderGlyphs] Update CFF table charstrings and charset (#3682)
- [cffLib.specializer] Add cmdline to specialize a CFF2 font (#3675, #3679)
- [CFF2] Lift uint16 VariationStore.length limitation (#3674)
- [subset] consider variation selectors subsetting cmap14 (#3672)
- [varLib.interpolatable] Support CFF2 fonts (#3670)
- Set isfinal to true in XML parser for proper resource cleanup (#3669)
- [removeOverlaps] Fix CFF CharString width (#3659)
- [glyf] Add optimizeSize option (#3657)
- Python 3.13 support (#3656)
- [TupleVariation] Optimize for loading speed, not size (#3650, #3653)
4.54.1 (released 2024-09-24)
----------------------------
|