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.51.0 (released 2024-04-05)
----------------------------
- [ttLib] Optimization on loading aux fields (#3464).
- [ttFont] Add reorderGlyphs (#3468).
4.50.0 (released 2024-03-15)
----------------------------
- [pens] Added decomposing filter pens that draw components as regular
contours (#3460).
- [instancer] Drop explicit no-op axes from TupleVariations (#3457).
- [cu2qu/ufo] Return set of modified glyph names from fonts_to_quadratic
(#3456).
4.49.0 (released 2024-02-15)
----------------------------
- [otlLib] Add API for building MATH table (#3446)
4.48.1 (released 2024-02-06)
----------------------------
- Fixed uploading wheels to PyPI, no code changes since v4.48.0.
4.48.0 (released 2024-02-06)
----------------------------
- [varLib] Do not log when there are no OTL tables to be merged.
- [setup.py] Do not restrict lxml<5 any more, tests pass just fine with
lxml>=5.
- [feaLib] Remove glyph and class names length restrictions in FEA (#3424).
- [roundingPens] Added transformRoundFunc parameter to the rounding pens to
allow
for custom rounding of the components' transforms (#3426).
- [feaLib] Keep declaration order of ligature components within a ligature
set, instead
of sorting by glyph name (#3429).
- [feaLib] Fixed ordering of alternates in aalt lookups, following the
declaration
order of feature references within the aalt feature block (#3430).
- [varLib.instancer] Fixed a bug in the instancer's IUP optimization
(#3432).
- [sbix] Support sbix glyphs with new graphicType "flip" (#3433).
- [svgPathPen] Added ``--glyphs`` option to dump the SVG paths for the
named glyphs
in the font (0572f78).
- [designspaceLib] Added "description" attribute to `` and
``
elements, and allow multiple `` elements to group ``
elements
that are logically related (#3435, #3437).
- [otlLib] Correctly choose the most compact GSUB contextual lookup format
(#3439).
4.47.2 (released 2024-01-11)
----------------------------
Minor release to fix uploading wheels to PyPI.
4.47.1 (released 2024-01-11)
----------------------------
- [merge] Improve help message and add standard command line options
(#3408)
- [otlLib] Pass ttFont to ``name.addName in buildStatTable`` (#3406)
- [featureVars] Re-use FeatureVariationRecord's when possible (#3413)
4.47.0 (released 2023-12-18)
|