Tags: zhenhappy/fonttools
Tags
3.39.0 - [ttLib/glyf] Raise more specific error when encountering recursive component references (fonttools#1545, fonttools#1546). - [Doc/designspaceLib] Defined new ``public.skipExportGlyphs`` lib key (fonttools#1534, unified-font-object/ufo-spec#84). - [varLib] Use ``vmtx`` to compute vertical phantom points; or ``hhea.ascent`` and ``head.unitsPerEM`` if ``vmtx`` is missing (fonttools#1528). - [gvar/cvar] Sort XML element's min/value/max attributes in TupleVariation toXML to improve readability of TTX dump (fonttools#1527). - [varLib.plot] Added support for 2D plots with only 1 variation axis (fonttools#1522). - [designspaceLib] Use axes maps when normalizing locations in DesignSpaceDocument (fonttools#1226, fonttools#1521), and when finding default source (fonttools#1535). - [mutator] Set ``OVERLAP_SIMPLE`` and ``OVERLAP_COMPOUND`` glyf flags by default in ``instantiateVariableFont``. Added ``--no-overlap`` cli option to disable this (fonttools#1518). - [subset] Fixed subsetting ``VVAR`` table (fonttools#1516, fonttools#1517). Fixed subsetting an ``HVAR`` table that has an ``AdvanceWidthMap`` when the option ``--retain-gids`` is used. - [feaLib] Added ``forceChained`` in MultipleSubstStatement (fonttools#1511). Fixed double indentation of ``subtable`` statement (fonttools#1512). Added support for ``subtable`` statement in more places than just PairPos lookups (fonttools#1520). Handle lookupflag 0 and lookupflag without a value (fonttools#1540). - [varLib] In ``load_designspace``, provide a default English name for the ``ital`` axis tag. - Remove pyftinspect because it is unmaintained and bitrotted.
3.38.0 - [cffLib] Fixed RecursionError when unpickling or deepcopying TTFont with CFF table (fonttools#1488, 649dc49). - [subset] Fixed AttributeError when using --desubroutinize option (fonttools#1490). Also, fixed desubroutinizing bug when subrs contain hints (fonttools#1499). - [CPAL] Make Color a subclass of namedtuple (173a0f5). - [feaLib] Allow hyphen in glyph class names. - [feaLib] Added 'tables' option to __main__.py (fonttools#1497). - [feaLib] Add support for special-case contextual positioning formatting (fonttools#1501). - [svgLib] Support converting SVG basic shapes (rect, circle, etc.) into equivalent SVG paths (fonttools#1500, fonttools#1508). - [Snippets] Added name-viewer.ipynb Jupyter notebook.
3.37.1 - [varLib] ``load_masters()`` now actually assigns the fonts it loads to the source.font attributes. - [varLib] Fixed an MVAR table generation crash when sparse masters were involved. - [voltLib] ``parse_coverage_()`` returns a tuple instead of an ast.Enum. - [feaLib] A MarkClassDefinition inside a block is no longer doubly indented compared to the rest of the block.
3.37.0 - [svgLib] Added support for converting elliptical arcs to cubic bezier curves (fonttools#1464). - [py23] Added backport for ``math.isfinite``. - [varLib] Apply HIDDEN flag to fvar axis if designspace axis has attribute ``hidden=1``. - Fixed "DeprecationWarning: invalid escape sequence" in Python 3.7. - [voltLib] Fixed parsing glyph groups. Distinguish different PROCESS_MARKS. Accept COMPONENT glyph type. - [feaLib] Distinguish missing value and explicit ``<NULL>`` for PairPos2 format A (fonttools#1459). Round-trip ``useExtension`` keyword. Implemented ``ValueRecord.asFea`` method. - [subset] Insert empty widths into hdmx when retaining gids (fonttools#1458).
3.36.0 - [ttx] Added ``--no-recalc-timestamp`` option to keep the original font's ``head.modified`` timestamp (fonttools#1455, fonttools#46). - [ttx/psCharStrings] Fixed issues while dumping and round-tripping CFF2 table with ttx (fonttools#1451, fonttools#1452, fonttools#1456). - [voltLib] Fixed check for duplicate anchors (fonttools#1450). Don't try to read past the ``END`` operator in .vtp file (fonttools#1453). - [varLib] Use sentinel value -0x8000 (-32768) to ignore post.underlineThickness and post.underlinePosition when generating MVAR deltas (fonttools#1449, googlefonts/ufo2ft#308). - [subset] Added ``--retain-gids`` option to subset font without modifying the current glyph indices (fonttools#1443, fonttools#1447). - [ufoLib] Replace deprecated calls to ``getbytes`` and ``setbytes`` with new equivalent ``readbytes`` and ``writebytes`` calls. ``fs`` >= 2.2 no required. - [varLib] Allow loading masters from TTX files as well (fonttools#1441).
3.35.2 - [hmtx/vmtx]: Allow to compile/decompile ``hmtx`` and ``vmtx`` tables even without the corresponding (required) metrics header tables, ``hhea`` and ``vhea`` (fonttools#1439). - [varLib] Added support for localized axes' ``labelname`` and named instances' ``stylename`` (fonttools#1438).
3.35.0 - [psCharStrings] In ``encodeFloat`` function, use float's "general format" with 8 digits of precision (i.e. ``%8g``) instead of ``str()``. This works around a macOS rendering issue when real numbers in CFF table are too long, and also makes sure that floats are encoded with the same precision in python 2.7 and 3.x (fonttools#1430, googlefonts/ufo2ft#306). - [_n_a_m_e/fontBuilder] Make ``_n_a_m_e_table.addMultilingualName`` also add Macintosh (platformID=1) names by default. Added options to ``FontBuilder`` ``setupNameTable`` method to optionally disable Macintosh or Windows names. (fonttools#1359, fonttools#1431). - [varLib] Make ``build`` optionally accept a ``DesignSpaceDocument`` object, instead of a designspace file path. The caller can now set the ``font`` attribute of designspace's sources to a TTFont object, thus allowing to skip filenames manipulation altogether (fonttools#1416, fonttools#1425). - [sfnt] Allow SFNTReader objects to be deep-copied. - Require typing>=3.6.4 on py27 to fix issue with singledispatch (fonttools#1423). - [designspaceLib/t1Lib/macRes] Fixed some cases where pathlib.Path objects were not accepted (fonttools#1421). - [varLib] Fixed merging of multiple PairPosFormat2 subtables (fonttools#1411). - [varLib] The default STAT table version is now set to 1.1, to improve compatibility with legacy applications (fonttools#1413).
PreviousNext