[sbix] Fixed TypeError when compiling empty glyphs whose imageData is None, regression was introduced in v4.39 (fonttools/fonttools#3059).
[ttFont] Fixed AttributeError on python <= 3.10 when opening a TTFont from a tempfile.SpooledTemporaryFile, seekable method was only added in python 3.11 (fonttools/fonttools#3052).
4.39.2
[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).
[sbix] Fixed TypeError when compiling empty glyphs whose imageData is None, regression
was introduced in v4.39 (#3059).
[ttFont] Fixed AttributeError on python <= 3.10 when opening a TTFont from a tempfile
SpooledTemporaryFile, seekable method only added on python 3.11 (#3052).
4.39.2 (released 2023-03-16)
[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).
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.3.
Release notes
Sourced from fonttools[woff]'s releases.
... (truncated)
Changelog
Sourced from fonttools[woff]'s changelog.
... (truncated)
Commits
abd7b5b
Release 4.39.31b67c06
Update NEWS.rst3615b56
sbixGlyph: don't use imageData for empty glyphs with graphicType=Nonee73a098
Merge pull request #3053 from fonttools/fix-spool-temp-seekable14a7677
[bezierTools] Add link to algorithm8859d86
ttFont_test: add tests for unseekable input file with lazy=True4543910
[ttFont] fail when input is not seekable and lazy=True1d5feb8
ttFont_test: add reproducer for SpooledTemporaryFile has no seekablef1c609a
.readthedocs.yml: don't use 'legacy' build specificationf9b941d
use python3.10 for ReadTheDocsDependabot 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)