Fonttools

Latest version: v4.55.3

Safety actively analyzes 688896 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 13 of 37

4.26.2

Not secure
----------------------------

- [otTables] Added missing ``CompositeMode.PLUS`` operator (2390).

4.26.1

Not secure
----------------------------

- [transform] Added ``transformVector`` and ``transformVectors`` methods to the
``Transform`` class. Similar to ``transformPoint`` but ignore the translation
part (2386).

4.26.0

Not secure
----------------------------

- [xmlWriter] Default to ``"\n"`` for ``newlinestr`` instead of platform-specific
``os.linesep`` (2384).
- [otData] Define COLRv1 ClipList and ClipBox (2379).
- [removeOverlaps/instancer] Added --ignore-overlap-errors option to work around
Skia PathOps.Simplify bug (2382, 2363, google/fonts3365).
- NOTE: This will be the last version to support Python 3.6. FontTools will require
Python 3.7 or above from the next release (2350)

4.25.2

Not secure
----------------------------

- [COLRv1] Various changes to sync with the latest CORLv1 draft spec. In particular:
define COLR.VarIndexMap, remove/inline ColorIndex struct, add VarIndexBase to ``PaintVar*`` tables (2372);
add reduced-precicion specialized transform Paints;
define Angle as fraction of half circle encoded as F2Dot14;
use FWORD (int16) for all Paint center coordinates;
change PaintTransform to have an offset to Affine2x3;
- [ttLib] when importing XML, only set sfntVersion if the font has no reader and is empty (2376)

4.25.1

Not secure
----------------------------

- [ttGlyphPen] Fixed bug in ``TTGlyphPointPen``, whereby open contours (i.e. starting
with segmentType "move") would throw ``NotImplementedError``. They are now treated
as if they are closed, like with the ``TTGlyphPen`` (2364, 2366).

4.25.0

Not secure
----------------------------

- [tfmLib] Added new library for parsing TeX Font Metric (TFM) files (2354).
- [TupleVariation] Make shared tuples order deterministic on python < 3.7 where
Counter (subclass of dict) doesn't remember insertion order (2351, 2353).
- [otData] Renamed COLRv1 structs to remove 'v1' suffix and match the updated draft
spec: 'LayerV1List' -> 'LayerList', 'BaseGlyphV1List' -> 'BaseGlyphList',
'BaseGlyphV1Record' -> 'BaseGlyphPaintRecord' (2346).
Added 8 new ``PaintScale*`` tables: with/without centers, uniform vs non-uniform.
Added ``*AroundCenter`` variants to ``PaintRotate`` and ``PaintSkew``: the default
versions no longer have centerX/Y, but default to origin.
``PaintRotate``, ``PaintSkew`` and ``PaintComposite`` formats were re-numbered.
NOTE: these are breaking changes; clients using the experimental COLRv1 API will
have to be updated (2348).
- [pointPens] Allow ``GuessSmoothPointPen`` to accept a tolerance. Fixed call to
``math.atan2`` with x/y parameters inverted. Sync the code with fontPens (2344).
- [post] Fixed parsing ``post`` table format 2.0 when it contains extra garbage
at the end of the stringData array (2314).
- [subset] drop empty features unless 'size' with FeatureParams table (2324).
- [otlLib] Added ``otlLib.optimize`` module; added GPOS compaction algorithm.
The compaction can be run on existing fonts with ``fonttools otlLib.optimize``
or using the snippet ``compact_gpos.py``. There's experimental support for
compacting fonts at compilation time using an environment variable, but that
might be removed later (2326).

Page 13 of 37

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.