[varLib] Fixed regression introduced in 4.39.1 whereby an incomplete 'STAT' table would be built even though a DesignSpace v5 did contain 'STAT' definitions (#3045, #3046).
NOTE: The 4.39.1 distribution was "yanked" from PyPI to prevent users from accidentally upgrading to it.
[glifLib] Wrap underlying XML library exceptions with GlifLibError when parsing GLIFs, and also print the name and path of the glyph that fails to be parsed (fonttools/fonttools#3029).
[ttFont] Fixed getGlyphID to raise KeyError on missing glyphs instead of returning None. The regression was introduced in v4.27.0 (fonttools/fonttools#3032).
[sbix] Fixed UnboundLocalError: cannot access local variable 'rawdata' (fonttools/fonttools#3031).
[varLib] When building VF, do not overwrite a pre-existing STAT table that was built with feaLib from FEA feature file. Also, added support for building multiple VFs defined in Designspace v5 from fonttools varLib script (fonttools/fonttools#3024).
[mtiLib] Only add Debg table with lookup names when FONTTOOLS_LOOKUP_DEBUGGING env variable is set (fonttools/fonttools#3023).
4.39.0
[mtiLib] Optionally add Debg debug info for MTI feature builds (#3018).
[ttx] Support reading input file from standard input using special - character, similar to existing -o - option to write output to standard output (#3020).
[cython] Prevent cython.compiled raise AttributeError if cython not installed properly (#3017).
[OS/2] Guard against ZeroDivisionError when calculating xAvgCharWidth in the unlikely scenario no glyph has non-zero advance (#3015).
[subset] Recompute xAvgCharWidth independently of --no-prune-unicode-ranges, previously the two options were involuntarily bundled together (#3012).
[fontBuilder] Add debug parameter to addOpenTypeFeatures method to add source debugging information to the font in the Debg private table (#3008).
[name] Make NameRecord __lt__ comparison not fail on Unicode encoding errors (#3006).
[featureVars] Fixed bug in overlayBox (#3003, #3005).
[pens]: Added addVarComponent method to pen protocols' base classes, which pens can implement to handle varcomponents (by default they get decomposed).
[misc.transform] Added DecomposedTransform class which implements an affine transformation with separate translate, rotation, scale, skew, and transformation-center components (#2598)
[sbix] Ensure Glyph.referenceGlyphName is set; fixes error after dumping and re-compiling sbix table with 'dupe' glyphs (#2984).
[feaLib] Be cleverer when merging chained single substitutions into same lookup when they are specified using the inline notation (#2150, #2974).
[instancer] Clamp user-inputted axis ranges to those of fvar (#2959).
[otBase/subset] Define __getstate__ for BaseTable so that a copied/pickled 'lazy' object gets its own OTTableReader to read from; incidentally fixes a bug while subsetting COLRv1 table containing ClipBoxes on python 3.11 (#2965, #2968).
[sbix] Handle glyphs with "dupe" graphic type on compile correctly (#2963).
[glyf] endPointsOfContours field should be unsigned! Kudos to behdad for spotting one of the oldest bugs in FT. Probably nobody has ever dared to make glyphs with more than 32767 points... (#2957).
[feaLib] Fixed handling of ignore statements with unmarked glyphs to match makeotf behavior, which assumes the first glyph is marked (#2950).
Reformatted code with black and enforce new code style via CI check (#2925).
[feaLib] Sort name table entries following OT spec prescribed order in the builder (#2927).
[cu2quPen] Add Cu2QuMultiPen that converts multiple outlines at a time in interpolation compatible way; its methods take a list of tuples arguments that would normally be passed to individual segment pens, and at the end it dispatches the converted outlines to each pen (#2912).
[varLib] Fixed regression introduced in 4.39.1 whereby an incomplete 'STAT' table
would be built even though a DesignSpace v5 did contain 'STAT' definitions (#3045, #3046).
[glifLib] Wrap underlying XML library exceptions with GlifLibError when parsing GLIFs,
and also print the name and path of the glyph that fails to be parsed (#3042).
[feaLib] Consult avar for normalizing user-space values in ConditionSets and in
VariableScalars (#3042, #3043).
[ttProgram] Handle string input to Program.fromAssembly() (#3038).
[otlLib] Added a config option to emit GPOS 7 lookups, currently disabled by default
because of a macOS bug (#3034).
[COLRv1] Added method to automatically compute ClipBoxes (#3027).
[ttFont] Fixed getGlyphID to raise KeyError on missing glyphs instead of returning
None. The regression was introduced in v4.27.0 (#3032).
[sbix] Fixed UnboundLocalError: cannot access local variable 'rawdata' (#3031).
[varLib] When building VF, do not overwrite a pre-existing STAT table that was built
with feaLib from FEA feature file. Also, added support for building multiple VFs
defined in Designspace v5 from fonttools varLib script (#3024).
[mtiLib] Only add Debg table with lookup names when FONTTOOLS_LOOKUP_DEBUGGING
env variable is set (#3023).
4.39.0 (released 2023-03-06)
[mtiLib] Optionally add Debg debug info for MTI feature builds (#3018).
[ttx] Support reading input file from standard input using special - character,
similar to existing -o - option to write output to standard output (#3020).
[cython] Prevent cython.compiled raise AttributeError if cython not installed
properly (#3017).
[OS/2] Guard against ZeroDivisionError when calculating xAvgCharWidth in the unlikely
scenario no glyph has non-zero advance (#3015).
[subset] Recompute xAvgCharWidth independently of --no-prune-unicode-ranges,
previously the two options were involuntarily bundled together (#3012).
[fontBuilder] Add debug parameter to addOpenTypeFeatures method to add source
debugging information to the font in the Debg private table (#3008).
[name] Make NameRecord __lt__ comparison not fail on Unicode encoding errors (#3006).
[featureVars] Fixed bug in overlayBox (#3003, #3005).
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps fonttools[woff] from 4.23.0 to 4.39.2.
Release notes
Sourced from fonttools[woff]'s releases.
... (truncated)
Changelog
Sourced from fonttools[woff]'s changelog.
... (truncated)
Commits
d64a26f
Release 4.39.2809748c
Update changelog [skip ci]6fabdff
Merge pull request #3046 from fonttools/fix-stat-regressioncf4a241
[varLib] don't skip buildVFStatTable from DSv5 with 'STAT' info1216596
Bump version: 4.39.1 → 4.39.2.dev0199e2c2
Release 4.39.1b2d19dc
Update changelog7d7b38b
[ci] set codecov's fail_ci_if_error: false; it's too flaky!5abdd83
Merge pull request #3043 from fonttools/fealib-more-avar69b1752
variableScalar: make model_cache parameter optionalDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)