Changelog
### 4.47.2
```
Minor release to fix uploading wheels to PyPI.
```
### 4.47.1
```
- [merge] Improve help message and add standard command line options (3408)
- [otlLib] Pass ``ttFont`` to ``name.addName`` in ``buildStatTable`` (3406)
- [featureVars] Re-use ``FeatureVariationRecord``s when possible (3413)
```
### 4.47.0
```
- [varLib.models] New API for VariationModel: ``getMasterScalars`` and ``interpolateFromValuesAndScalars``.
- [varLib.interpolatable] Various bugfixes and rendering improvements. In particular, add a Summary page in the front, and an Index and Table-of-Contents in the back. Change the page size to Letter.
- [Docs/designspaceLib] Defined a new ``public.fontInfo`` lib key, not used anywhere yet (3358).
```
### 4.46.0
```
- [featureVars] Allow to register the same set of substitution rules to multiple features. The ``addFeatureVariations`` function can now take a list of featureTags; similarly, the lib key 'com.github.fonttools.varLib.featureVarsFeatureTag' can now take a comma-separateed string of feature tags (e.g. "salt,ss01") instead of a single tag (3360).
- [featureVars] Don't overwrite GSUB FeatureVariations, but append new records to it for features which are not already there. But raise ``VarLibError`` if the feature tag already has feature variations associated with it (3363).
- [varLib] Added ``addGSUBFeatureVariations`` function to add GSUB Feature Variations to an existing variable font from rules defined in a DesignSpace document (3362).
- [varLib.interpolatable] Various bugfixes and rendering improvements. In particular, a new test for "underweight" glyphs. The new test reports quite a few false-positives though. Please send feedback.
```
### 4.45.1
```
- [varLib.interpolatable] Various bugfixes and improvements, better reporting, reduced false positives.
- [ttGlyphSet] Added option to not recalculate glyf bounds (3348).
```
### 4.45.0
```
- [varLib.interpolator] Vastly improved algorithms. Also available now is ``--pdf`` and ``--html`` options to generate a PDF or HTML report of the interpolation issues.
The PDF/HTML report showcases the problematic masters, the interpolated broken glyph, as well as the proposed fixed version.
```
### 4.44.3
```
- [subset] Only prune codepage ranges for OS/2.version >= 1, ignore otherwise (3334).
- [instancer] Ensure hhea vertical metrics stay in sync with OS/2 ones after instancing MVAR table containing 'hasc', 'hdsc' or 'hlgp' tags (3297).
```
### 4.44.2
```
- [glyf] Have ``Glyph.recalcBounds`` skip empty components (base glyph with no contours) when computing the bounding box of composite glyphs. This simply restores the existing behavior before some changes were introduced in fonttools 4.44.0 (3333).
```
### 4.44.1
```
- [feaLib] Ensure variable mark anchors are deep-copied while building since they get modified in-place and later reused (3330).
- [OS/2|subset] Added method to ``recalcCodePageRanges`` to OS/2 table class; added ``--prune-codepage-ranges`` to `fonttools subset` command (3328, 2607).
NOTE: this release was "yanked" from PyPI because it introduced a regression: https://github.com/fonttools/fonttools/issues/3334
```
### 4.44.0
```
- [instancer] Recalc OS/2 AvgCharWidth after instancing if default changes (3317).
- [otlLib] Make ClassDefBuilder class order match varLib.merger's, i.e. large classes first, then glyph lexicographic order (3321, 3324).
- [instancer] Allow not specifying any of min:default:max values and let be filled up with fvar's values (3322, 3323).
- [instancer] When running --update-name-table ignore axes that have no STAT axis values (3318, 3319).
- [Debg] When dumping to ttx, write the embedded JSON as multi-line string with indentation (92cbfee0d).
- [varStore] Handle > 65535 items per encoding by splitting VarData subtable (3310).
- [subset] Handle null-offsets in MarkLigPos subtables.
- [subset] Keep East Asian spacing fatures vhal, halt, chws, vchw by default (3305).
- [instancer.solver] Fixed case where axisDef < lower and upper < axisMax (3304).
- [glyf] Speed up compilation, mostly around ``recalcBounds`` (3301).
- [varLib.interpolatable] Speed it up when working on variable fonts, plus various micro-optimizations (3300).
- Require unicodedata2 >= 15.1.0 when installed with 'unicode' extra, contains UCD 15.1.
```
Links
- PyPI: https://pypi.org/project/fonttools
- Changelog: https://data.safetycli.com/changelogs/fonttools/
- Repo: http://github.com/fonttools/fonttools
This PR updates FontTools[ufo,lxml,unicode] from 4.43.1 to 4.47.2.
Changelog
### 4.47.2 ``` Minor release to fix uploading wheels to PyPI. ``` ### 4.47.1 ``` - [merge] Improve help message and add standard command line options (3408) - [otlLib] Pass ``ttFont`` to ``name.addName`` in ``buildStatTable`` (3406) - [featureVars] Re-use ``FeatureVariationRecord``s when possible (3413) ``` ### 4.47.0 ``` - [varLib.models] New API for VariationModel: ``getMasterScalars`` and ``interpolateFromValuesAndScalars``. - [varLib.interpolatable] Various bugfixes and rendering improvements. In particular, add a Summary page in the front, and an Index and Table-of-Contents in the back. Change the page size to Letter. - [Docs/designspaceLib] Defined a new ``public.fontInfo`` lib key, not used anywhere yet (3358). ``` ### 4.46.0 ``` - [featureVars] Allow to register the same set of substitution rules to multiple features. The ``addFeatureVariations`` function can now take a list of featureTags; similarly, the lib key 'com.github.fonttools.varLib.featureVarsFeatureTag' can now take a comma-separateed string of feature tags (e.g. "salt,ss01") instead of a single tag (3360). - [featureVars] Don't overwrite GSUB FeatureVariations, but append new records to it for features which are not already there. But raise ``VarLibError`` if the feature tag already has feature variations associated with it (3363). - [varLib] Added ``addGSUBFeatureVariations`` function to add GSUB Feature Variations to an existing variable font from rules defined in a DesignSpace document (3362). - [varLib.interpolatable] Various bugfixes and rendering improvements. In particular, a new test for "underweight" glyphs. The new test reports quite a few false-positives though. Please send feedback. ``` ### 4.45.1 ``` - [varLib.interpolatable] Various bugfixes and improvements, better reporting, reduced false positives. - [ttGlyphSet] Added option to not recalculate glyf bounds (3348). ``` ### 4.45.0 ``` - [varLib.interpolator] Vastly improved algorithms. Also available now is ``--pdf`` and ``--html`` options to generate a PDF or HTML report of the interpolation issues. The PDF/HTML report showcases the problematic masters, the interpolated broken glyph, as well as the proposed fixed version. ``` ### 4.44.3 ``` - [subset] Only prune codepage ranges for OS/2.version >= 1, ignore otherwise (3334). - [instancer] Ensure hhea vertical metrics stay in sync with OS/2 ones after instancing MVAR table containing 'hasc', 'hdsc' or 'hlgp' tags (3297). ``` ### 4.44.2 ``` - [glyf] Have ``Glyph.recalcBounds`` skip empty components (base glyph with no contours) when computing the bounding box of composite glyphs. This simply restores the existing behavior before some changes were introduced in fonttools 4.44.0 (3333). ``` ### 4.44.1 ``` - [feaLib] Ensure variable mark anchors are deep-copied while building since they get modified in-place and later reused (3330). - [OS/2|subset] Added method to ``recalcCodePageRanges`` to OS/2 table class; added ``--prune-codepage-ranges`` to `fonttools subset` command (3328, 2607). NOTE: this release was "yanked" from PyPI because it introduced a regression: https://github.com/fonttools/fonttools/issues/3334 ``` ### 4.44.0 ``` - [instancer] Recalc OS/2 AvgCharWidth after instancing if default changes (3317). - [otlLib] Make ClassDefBuilder class order match varLib.merger's, i.e. large classes first, then glyph lexicographic order (3321, 3324). - [instancer] Allow not specifying any of min:default:max values and let be filled up with fvar's values (3322, 3323). - [instancer] When running --update-name-table ignore axes that have no STAT axis values (3318, 3319). - [Debg] When dumping to ttx, write the embedded JSON as multi-line string with indentation (92cbfee0d). - [varStore] Handle > 65535 items per encoding by splitting VarData subtable (3310). - [subset] Handle null-offsets in MarkLigPos subtables. - [subset] Keep East Asian spacing fatures vhal, halt, chws, vchw by default (3305). - [instancer.solver] Fixed case where axisDef < lower and upper < axisMax (3304). - [glyf] Speed up compilation, mostly around ``recalcBounds`` (3301). - [varLib.interpolatable] Speed it up when working on variable fonts, plus various micro-optimizations (3300). - Require unicodedata2 >= 15.1.0 when installed with 'unicode' extra, contains UCD 15.1. ```Links
- PyPI: https://pypi.org/project/fonttools - Changelog: https://data.safetycli.com/changelogs/fonttools/ - Repo: http://github.com/fonttools/fonttools