# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= python-fonttools VERSION= 4.61.1 KEYWORDS= python VARIANTS= v13 v14 SDESC[v13]= Tools to manipulate font files (3.13) SDESC[v14]= Tools to manipulate font files (3.14) HOMEPAGE= https://github.com/fonttools/fonttools CONTACT= Python_Automaton[python@ironwolf.systems] DOWNLOAD_GROUPS= main SITES[main]= PYPIWHL/c7/4e/ce75a57ff3aebf6fc1f4e9d508b8e5810618a33d900ad6c19eb30b290b97 DISTFILE[1]= fonttools-4.61.1-py3-none-any.whl:main DIST_SUBDIR= python-src DF_INDEX= 1 SPKGS[v13]= single SPKGS[v14]= single OPTIONS_AVAILABLE= PY313 PY314 OPTIONS_STANDARD= none VOPTS[v13]= PY313=ON PY314=OFF VOPTS[v14]= PY313=OFF PY314=ON DISTNAME= fonttools-4.61.1.dist-info GENERATED= yes [PY313].USES_ON= python:v13,wheel [PY314].USES_ON= python:v14,wheel [FILE:3690:descriptions/desc.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 license `__. | 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.10 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.61.1 (released 2025-12-12) ---------------------------- - [otlLib] buildCoverage: return empty Coverage instead of None (#4003, #4004). - [instancer] bug fix in avar2 full instancing (#4002). - [designspaceLib] Preserve empty conditionsets when serializing to XML (#4001). - [fontBu ilder] Fix FontBuilder ``setupOS2()`` default params globally polluted (#3996, #3997). - [ttFont] Add more typing annotations to ttFont, xmlWriter, sfnt, varLib.models and others (#3952, #3826). - Explicitly test and declare support for Python 3.14, even though we were already shipping pre-built wheels for it (#3990). 4.60.2 (released 2025-12-09) ---------------------------- - **Backport release** Same as 4.61.0 but without "Drop support for EOL Python 3.9" change to allow downstream projects still on Python 3.9 to avail of the security fix for CVE-2025-66034 (#3994, #3999). 4.61.0 (released 2025-11-28) ---------------------------- - [varLib.main]: **SECURITY** Only use basename(vf.filename) to prevent path traversal attacks when running fonttools varLib command, or code which invokes ``fonttools.varLib.main()``. Fixes CVE-2025-66034, see: https://github.com/fonttools/fonttools/security/advisories/GHSA-768j-98cg-p3fv. - [feaLib] Sort BaseLangSysRecords by tag (#3986). - Drop support for EOL Python 3.9 (#3982). - [instancer] Support --remove-overlaps for fonts with CFF2 table (#3975). - [CFF2ToCFF] Add --remove-overlaps option (#3976). - [feaLib] Raise an error for rsub with NULL target (#3979). - [bezierTools] Fix logic bug in curveCurveIntersections (#3963). - [feaLib] Error when condition sets have the same name (#3958). - [cu2qu.ufo] skip processing empty glyphs to support sparse kerning masters (#3956). - [unicodedata] Update to Unicode 17. Require ``unicodedata2 >= 17.0.0`` when installed with 'unicode' extra. 4.60.1 (released 2025-09-29) ---------------------------- - [ufoLib] Reverted accidental method name change in ``UFOReader.getKerningGroupConversionRenameMaps`` that broke compatibility with downstream projects like defcon (#3948, #3947, robotools/defcon#478). - [ufoLib] Added test coverage for getKerningGroupConversionRenameMaps method (#3950). - [subset] Don't try to subset BASE table; pass it through by default instead (#3949). - [subset] Remove empty BaseRecord entries in MarkBasePos lookups (#3897, #3892). - [subset] Add pruning for MarkLigPos and MarkMarkPos lookups (#3946). - [subset] Remove duplicate features when subsetting (#3945). - [Docs] Added documentation for the visitor module (#3944). 4.60.0 (released 2025-09-17) ---------------------------- - [pointPen] Allow reverseFlipped parameter of DecomposingPointPen to take a ReverseFlipped enum value to control whether/how to reverse contour direction of flipped components, in addition to [FILE:123:distinfo] 17d2bf5d541add43822bcf0c43d7d847b160c9bb01d15d5007d84e2217aaa371 1148996 python-src/fonttools-4.61.1-py3-none-any.whl