Releases: fonttools/fonttools
Releases · fonttools/fonttools
3.6.3
- [varLib] Fix building variation of PairPosFormat2 (b5c34ce). - Populate defaults even for otTables that have postRead (e45297b). - Fix compiling of MultipleSubstFormat1 with zero 'out' glyphs (b887860).
3.6.2
- [varLib.merger] Fixed "TypeError: reduce() of empty sequence with no initial value" (3717dc6).
3.6.1
- [py23] Fixed unhandled exception occurring at interpreter shutdown in the "last resort" logging handler (972b3e6). - [agl] Ensure all glyph names are of native 'str' type; avoid mixing 'str' and 'unicode' in TTFont.glyphOrder (d8c4058). - Fixed inconsistent title levels in README.rst that caused PyPI to incorrectly render the reStructuredText page.
3.6.0
- [varLib] Refactored and improved the variation-font-building process. - Assembly code in the fpgm, prep, and glyf tables is now indented in XML output for improved readability. The ``instruction`` element is written as a simple tag if empty (#819). - [ttx] Fixed 'I/O operation on closed file' error when dumping multiple TTXs to standard output with the '-o -' option. - The unit test modules (``*_test.py``) have been moved outside of the fontTools package to the Tests folder, thus they are no longer installed (#811).
3.5.0
- Font tables read from XML can now be written back to XML with no loss. - GSUB/GPOS LookupType is written out in XML as an element, not comment. (#792) - When parsing cmap table, do not store items mapped to glyph id 0. (#790) - [otlLib] Make ClassDef sorting deterministic. Fixes #766 (7d1ddb2) - [mtiLib] Added unit tests (#787) - [cvar] Implemented cvar table - [gvar] Renamed GlyphVariation to TupleVariation to match OpenType terminology. - [otTables] Handle gracefully empty VarData.Item array when compiling XML. (#797) - [varLib] Re-enabled generation of `HVAR` table for fonts with TrueType outlines; removed `--build-HVAR` command-line option. - [feaLib] The parser can now be extended to support non-standard statements in FEA code by using a customized Abstract Syntax Tree. See, for example, `feaLib.builder_test.test_extensions` and baseClass.feax (#794, fixes #773). - [feaLib] Added `feaLib` command to the 'fonttools' command-line tool; applies a feature file to a font. `fonttools feaLib -h` for help. - [pens] The `T2CharStringPen` now takes an optional `roundTolerance` argument to control the rounding of coordinates (#804, fixes #769). - [ci] Measure test coverage on all supported python versions and OSes, combine coverage data and upload to https://codecov.io/gh/fonttools/fonttools (#786) - [ci] Configured Travis and Appveyor for running tests on Python 3.6 (#785, 55c03bc) - The manual pages installation directory can be customized through FONTTOOLS_MANPATH environment variable (#799, fixes #84). - [Snippets] Added otf2ttf.py, for converting fonts from CFF to TrueType using the googlei18n/cu2qu module (#802)
3.4.0
- [feaLib] Added support for generating FEA text from abstract syntax tree (AST) objects (#776). Thanks @mhosken - Added `agl.toUnicode` function to convert AGL-compliant glyph names to Unicode strings (#774) - Implemented MVAR table (b4d5381)
3.3.1
- [setup] We no longer use versioneer.py to compute fonttools version from git metadata, as this has caused issues for some users (#767). Now we bump the version strings manually with a custom `release` command of setup.py script.
3.3.0
- [ttLib] Implemented STAT table from OpenType 1.8 (#758)
- [cffLib] Fixed decompilation of CFF fonts containing non-standard key/value pairs in FontDict (issue #740; PR #744)
- [py23] minor: in
round3function, allow the second argument to beNone(#757) - The standalone
sstructandxmlWritermodules, deprecated since vesion 3.2.0, have been removed. They can be imported from thefontTools.miscpackage.
3.2.3
- [py23] optimized performance of round3 function; added backport for py35 math.isclose() (9d8dacb)
- [subset] fixed issue with 'narrow' (UCS-2) Python 2 builds and --text/--text-file options containing non-BMP chararcters (16d0e5e)
- [varLib] fixed issue when normalizing location values (8fa2ee1, #749)
- [inspect] Made it compatible with both python2 and python3 (167ee60, #748). Thanks @pnemade