Changelog
### 4.48.1
```
- Fixed uploading wheels to PyPI, no code changes since v4.48.0.
```
### 4.48.0
```
- [varLib] Do not log when there are no OTL tables to be merged.
- [setup.py] Do not restrict lxml<5 any more, tests pass just fine with lxml>=5.
- [feaLib] Remove glyph and class names length restrictions in FEA (3424).
- [roundingPens] Added ``transformRoundFunc`` parameter to the rounding pens to allow for custom rounding of the components' transforms (3426).
- [feaLib] Keep declaration order of ligature components within a ligature set, instead of sorting by glyph name (3429).
- [feaLib] Fixed ordering of alternates in ``aalt`` lookups, following the declaration order of feature references within the ``aalt`` feature block (3430).
- [varLib.instancer] Fixed a bug in the instancer's IUP optimization (3432).
- [sbix] Support sbix glyphs with new graphicType "flip" (3433).
- [svgPathPen] Added ``--glyphs`` option to dump the SVG paths for the named glyphs in the font (0572f78).
- [designspaceLib] Added "description" attribute to ``<mappings>`` and ``<mapping>`` elements, and allow multiple ``<mappings>`` elements to group ``<mapping>`` elements that are logically related (3435, 3437).
- [otlLib] Correctly choose the most compact GSUB contextual lookup format (3439).
```
### 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[unicode,lxml,ufo] from 4.43.1 to 4.48.1.
Changelog
### 4.48.1 ``` - Fixed uploading wheels to PyPI, no code changes since v4.48.0. ``` ### 4.48.0 ``` - [varLib] Do not log when there are no OTL tables to be merged. - [setup.py] Do not restrict lxml<5 any more, tests pass just fine with lxml>=5. - [feaLib] Remove glyph and class names length restrictions in FEA (3424). - [roundingPens] Added ``transformRoundFunc`` parameter to the rounding pens to allow for custom rounding of the components' transforms (3426). - [feaLib] Keep declaration order of ligature components within a ligature set, instead of sorting by glyph name (3429). - [feaLib] Fixed ordering of alternates in ``aalt`` lookups, following the declaration order of feature references within the ``aalt`` feature block (3430). - [varLib.instancer] Fixed a bug in the instancer's IUP optimization (3432). - [sbix] Support sbix glyphs with new graphicType "flip" (3433). - [svgPathPen] Added ``--glyphs`` option to dump the SVG paths for the named glyphs in the font (0572f78). - [designspaceLib] Added "description" attribute to ``<mappings>`` and ``<mapping>`` elements, and allow multiple ``<mappings>`` elements to group ``<mapping>`` elements that are logically related (3435, 3437). - [otlLib] Correctly choose the most compact GSUB contextual lookup format (3439). ``` ### 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