Tags: techtonik/fonttools
Tags
3.21.1 - [feaLib] Allow mixed single/multiple substitutions (fonttools#612) - Added missing ``*.afm`` test assets to MAINFEST.in (fonttools#1137). - Fixed dumping ``SVG`` tables containing color palettes (fonttools#1124).
3.21.0 - [cmap] when compiling format6 subtable, don't assume gid0 is always called '.notdef' (1e42224). - [ot] Allow decompiling fonts with bad Coverage format number (1aafae8). - Change FontTools licence to MIT (fonttools#1127). - [post] Prune extra names already in standard Mac set (df1e8c7). - [subset] Delete empty SubrsIndex after subsetting (fonttools#994, fonttools#1118). - [varLib] Don't share points in cvar by default, as it currently fails on some browsers (fonttools#1113). - [afmLib] Make poor old afmLib work on python3.
3.20.1 - [unicodedata] Fixed issue with ``script`` and ``script_extension`` functions returning inconsistent short vs long names. They both return the short four- letter script codes now. Added ``script_name`` and ``script_code`` functions to look up the long human-readable script name from the script code, and viceversa (fonttools#1109, fonttools#1111).
3.20.0 - [unicodedata] Addded new module ``fontTools.unicodedata`` which exports the same interface as the built-in ``unicodedata`` module, with the addition of a few functions that are missing from the latter, such as ``script``, ``script_extension`` and ``block``. Added a ``MetaTools/buildUCD.py`` script to download and parse data files from the Unicode Character Database and generate python modules containing lists of ranges and property values. - [feaLib] Added ``__str__`` method to all ``ast`` elements (delegates to the ``asFea`` method). - [feaLib] ``Parser`` constructor now accepts a ``glyphNames`` iterable instead of ``glyphMap`` dict. The latter still works but with a pending deprecation warning (fonttools#1104). - [bezierTools] Added arc length calculation functions originally from ``pens.perimeterPen`` module (fonttools#1101). - [varLib] Started generating STAT table (8af4309). Right now it just reflects the axes, and even that with certain limitations: * AxisOrdering is set to the order axes are defined, * Name-table entries are not shared with fvar. - [py23] Added backports for ``redirect_stdout`` and ``redirect_stderr`` context managers (fonttools#1097). - [Graphite] Fixed some round-trip bugs (fonttools#1093).
3.19.0 - [varLib] Try set of used points instead of all points when testing whether to share points between tuples (fonttools#1090). - [CFF2] Fixed issue with reading/writing PrivateDict BlueValues to TTX file. Read the commit message 8b02b5a and issue fonttools#1030 for more details. NOTE: this change invalidates all the TTX files containing CFF2 tables that where dumped with previous verisons of fonttools. CFF2 Subr items can have values on the stack after the last operator, thus a ``CFF2Subr`` class was added to accommodate this (fonttools#1091). - [_k_e_r_n] Fixed compilation of AAT kern version=1.0 tables (fonttools#1089, fonttools#1094) - [ttLib] Added getBestCmap() convenience method to TTFont class and cmap table class that returns a preferred Unicode cmap subtable given a list of options (fonttools#1092). - [morx] Emit more meaningful subtable flags. Implement InsertionMorphAction
3.18.0 - [feaLib] Fixed writing back nested glyph classes (fonttools#1086). - [TupleVariation] Reactivated shared points logic, bugfixes (fonttools#1009). - [AAT] Implemented ``morx`` ligature subtables (fonttools#1082). - [reverseContourPen] Keep duplicate lineTo following a moveTo (fonttools#1080, googlefonts/cu2qu#51). - [varLib.mutator] Suport instantiation of GPOS, GDEF and MVAR (fonttools#1079). - [sstruct] Fixed issue with ``unicode_literals`` and ``struct`` module in old versions of python 2.7 (fonttools#993).
3.17.0 - [svgPathPen] Added an ``SVGPathPen`` that translates segment pen commands into SVG path descriptions. Copied from Tal Leming's ``ufo2svg.svgPathPen`` https://github.com/typesupply/ufo2svg/blob/d69f992/Lib/ufo2svg/svgPathPen.py - [reverseContourPen] Added ``ReverseContourPen``, a filter pen that draws contours with the winding direction reversed, while keeping the starting point (fonttools#1071). - [filterPen] Added ``ContourFilterPen`` to manipulate contours as a whole rather than segment by segment. - [arrayTools] Added ``Vector`` class to apply math operations on an array of numbers, and ``pairwise`` function to loop over pairs of items in an iterable. - [varLib] Added support for building and interpolation of ``cvar`` table (f874cf6, a25a401).
3.16.0 - [head] Try using ``SOURCE_DATE_EPOCH`` environment variable when setting the ``head`` modified timestamp to ensure reproducible builds (fonttools#1063). See https://reproducible-builds.org/specs/source-date-epoch/ - [VTT] Decode VTT's ``TSI*`` tables text as UTF-8 (fonttools#1060). - Added support for Graphite font tables: Feat, Glat, Gloc, Silf and Sill. Thanks @mhosken! (fonttools#1054). - [varLib] Default to using axis "name" attribute if "labelname" element is missing (588f524). - [merge] Added support for merging Script records. Remove unused features and lookups after merge (d802580, 556508b). - Added ``fontTools.svgLib`` package. Includes a parser for SVG Paths that supports the Pen protocol (fonttools#1051). Also, added a snippet to convert SVG outlines to UFO GLIF (fonttools#1053). - [AAT] Added support for ``ankr``, ``bsln``, ``mort``, ``morx``, ``gcid``, and ``cidg``. - [subset] Implemented subsetting of ``prop``, ``opbd``, ``bsln``, ``lcar``.
3.15.1 - [otConverters] Implemented ``__add__`` and ``__radd__`` methods on ``otConverters._LazyList`` that decompile a lazy list before adding it to another list or ``_LazyList`` instance. Fixes an ``AttributeError`` in the ``subset`` module when attempting to sum ``_LazyList`` objects (6ef48bd, 1aef168). - [AAT] Support the `opbd` table with optical bounds (a47f658). - [AAT] Support `prop` table with glyph properties (d05617b).
3.15.0 - [AAT] Added support for AAT lookups. The ``lcar`` table can be decompiled and recompiled; futher work needed to handle ``morx`` table (fonttools#1025). - [subset] Keep (empty) DefaultLangSys for Script 'DFLT' (6eb807b). - [subset] Support GSUB/GPOS.FeatureVariations (fe01d87). - [varLib] In ``models.supportScalars``, ignore an axis when its peak value is 0 (fixes fonttools#1020). - [varLib] Add default mappings to all axes in avar to fix rendering issue in some rasterizers (19c4b37, 04eacf1). - [varLib] Flatten multiple tail PairPosFormat2 subtables before merging (c55ef52). - [ttLib] Added support for recalculating font bounding box in ``CFF`` and ``head`` tables, and min/max values in ``hhea`` and ``vhea`` tables (fonttools#970).