Tags: farik92/fonttools
Tags
4.27.1 - [otlLib] Fixed error when chained contextual lookup builder overflows (fonttools#2404, fonttools#2411). - [bezierTools] Fixed two floating-point bugs: one when computing `t` for a point lying on an almost horizontal/vertical line; another when computing the intersection point between a curve and a line (fonttools#2413).
4.27.0 - [ttLib/otTables] Cleaned up virtual GID handling: allow virtual GIDs in ``Coverage`` and ``ClassDef`` readers; removed unused ``allowVID`` argument from ``TTFont`` constructor, and ``requireReal`` argument in ``TTFont.getGlyphID`` method. Make ``TTFont.setGlyphOrder`` clear reverse glyphOrder map, and assume ``glyphOrder`` internal attribute is never modified outside setGlyphOrder; added ``TTFont.getGlyphNameMany`` and ``getGlyphIDMany`` (fonttools#1536, fonttools#1654, fonttools#2334, fonttools#2398). - [py23] Dropped internal use of ``fontTools.py23`` module to fix deprecation warnings in client code that imports from fontTools (fonttools#2234, fonttools#2399, fonttools#2400). - [subset] Fix subsetting COLRv1 clip boxes when font is loaded lazily (fonttools#2408).
4.26.2 - [otTables] Added missing ``CompositeMode.PLUS`` operator (fonttools#2390).
4.26.1 - [transform] Added ``transformVector`` and ``transformVectors`` methods to the ``Transform`` class. Similar to ``transformPoint`` but ignore the translation part (fonttools#2386).
4.26.0 - [xmlWriter] Default to ``"\n"`` for ``newlinestr`` instead of platform-specific ``os.linesep`` (fonttools#2384). - [otData] Define COLRv1 ClipList and ClipBox (fonttools#2379). - [removeOverlaps/instancer] Added --ignore-overlap-errors option to work around Skia PathOps.Simplify bug (fonttools#2382, fonttools#2363, google/fonts#3365). - NOTE: This will be the last version to support Python 3.6. FontTools will require Python 3.7 or above from the next release (fonttools#2350)
4.25.2 - [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 (fonttools#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 (fonttools#2376)
4.25.1 - [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`` (fonttools#2364, fonttools#2366).
4.25.0 - [tfmLib] Added new library for parsing TeX Font Metric (TFM) files (fonttools#2354). - [TupleVariation] Make shared tuples order deterministic on python < 3.7 where Counter (subclass of dict) doesn't remember insertion order (fonttools#2351, fonttools#2353). - [otData] Renamed COLRv1 structs to remove 'v1' suffix and match the updated draft spec: 'LayerV1List' -> 'LayerList', 'BaseGlyphV1List' -> 'BaseGlyphList', 'BaseGlyphV1Record' -> 'BaseGlyphPaintRecord' (fonttools#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 (fonttools#2348). - [pointPens] Allow ``GuessSmoothPointPen`` to accept a tolerance. Fixed call to ``math.atan2`` with x/y parameters inverted. Sync the code with fontPens (fonttools#2344). - [post] Fixed parsing ``post`` table format 2.0 when it contains extra garbage at the end of the stringData array (fonttools#2314). - [subset] drop empty features unless 'size' with FeatureParams table (fonttools#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 (fonttools#2326).
4.24.4 - [subset/instancer] Fixed ``AttributeError`` when instantiating a VF that contains GPOS ValueRecords with ``Device`` tables but without the respective non-Device values (e.g. ``XAdvDevice`` without ``XAdvance``). When not explicitly set, the latter are assumed to be 0 (fonttools#2323).
4.24.3 - [otTables] Fixed ``AttributeError`` in methods that split LigatureSubst, MultipleSubst and AlternateSubst subtables when an offset overflow occurs. The ``Format`` attribute was removed in v4.22.0 (fonttools#2319).
PreviousNext