[tfmLib] Added new library for parsing TeX Font Metric (TFM) files (#2354).
[TupleVariation] Make shared tuples order deterministic on python < 3.7 where Counter (subclass of dict) doesn't remember insertion order (#2351, #2353).
[otData] Renamed COLRv1 structs to remove 'v1' suffix and match the updated draft spec: 'LayerV1List' -> 'LayerList', 'BaseGlyphV1List' -> 'BaseGlyphList', 'BaseGlyphV1Record' -> 'BaseGlyphPaintRecord' (#2346).
Added 8 new PaintScale* tables: with/without centers, uniform vs non-uniform.
Added *AroundCenter variants to PaintRotate and PaintSkew: the default versions no longer have centerX/Y, but default to origin.
PaintRotate, PaintSkew and PaintComposite formats were re-numbered.
NOTE: these are breaking changes; clients using the experimental COLRv1 API will have to be updated (#2348).
[pointPens] Allow GuessSmoothPointPen to accept a tolerance. Fixed call to math.atan2 with x/y parameters inverted. Sync the code with fontPens (#2344).
[post] Fixed parsing post table format 2.0 when it contains extra garbage at the end of the stringData array (#2314).
[subset] drop empty features unless 'size' with FeatureParams table (#2324).
[otlLib] Added otlLib.optimize module; added GPOS compaction algorithm. The compaction can be run on existing fonts with fonttools otlLib.optimize or using the snippet compact_gpos.py. There's experimental support for compacting fonts at compilation time using an environment variable, but that might be removed later (#2326).
4.24.4
[subset/instancer] Fixed AttributeError when instantiating a VF that contains GPOS ValueRecords with Device tables but without the respective non-Device values (e.g. XAdvDevice without XAdvance). When not explicitly set, the latter are assumed to be 0 (#2323).
4.24.3
[otTables] Fixed AttributeError in methods that split LigatureSubst, MultipleSubst and AlternateSubst subtables when an offset overflow occurs. The Format attribute was removed in v4.22.0 (#2319).
4.24.2
[ttGlyphPen] Fixed typing annotation of TTGlyphPen glyphSet parameter (#2315).
Fixed two instances of DeprecationWarning: invalid escape sequence (#2311).
4.24.1
[subset] Fixed AttributeError when SinglePos subtable has None Value (ValueFormat 0) (#2312, #2313).
4.24.0
[pens] Add ttGlyphPen.TTGlyphPointPen similar to TTGlyphPen (#2205).
4.23.1
[subset] Fix KeyError after subsetting COLR table that initially contains both v0 and v1 color glyphs when the subset only requested v1 glyphs; we were not pruning the v0 portion of the table (#2308).
[colorLib] Set LayerV1List attribute to None when empty, it's optional in CORLv1 (#2308).
[tfmLib] Added new library for parsing TeX Font Metric (TFM) files (#2354).
[TupleVariation] Make shared tuples order deterministic on python < 3.7 where
Counter (subclass of dict) doesn't remember insertion order (#2351, #2353).
[otData] Renamed COLRv1 structs to remove 'v1' suffix and match the updated draft
spec: 'LayerV1List' -> 'LayerList', 'BaseGlyphV1List' -> 'BaseGlyphList',
'BaseGlyphV1Record' -> 'BaseGlyphPaintRecord' (#2346).
Added 8 new PaintScale* tables: with/without centers, uniform vs non-uniform.
Added *AroundCenter variants to PaintRotate and PaintSkew: the default
versions no longer have centerX/Y, but default to origin.
PaintRotate, PaintSkew and PaintComposite formats were re-numbered.
NOTE: these are breaking changes; clients using the experimental COLRv1 API will
have to be updated (#2348).
[pointPens] Allow GuessSmoothPointPen to accept a tolerance. Fixed call to
math.atan2 with x/y parameters inverted. Sync the code with fontPens (#2344).
[post] Fixed parsing post table format 2.0 when it contains extra garbage
at the end of the stringData array (#2314).
[subset] drop empty features unless 'size' with FeatureParams table (#2324).
[otlLib] Added otlLib.optimize module; added GPOS compaction algorithm.
The compaction can be run on existing fonts with fonttools otlLib.optimize
or using the snippet compact_gpos.py. There's experimental support for
compacting fonts at compilation time using an environment variable, but that
might be removed later (#2326).
4.24.4 (released 2021-05-25)
[subset/instancer] Fixed AttributeError when instantiating a VF that
contains GPOS ValueRecords with Device tables but without the respective
non-Device values (e.g. XAdvDevice without XAdvance). When not
explicitly set, the latter are assumed to be 0 (#2323).
4.24.3 (released 2021-05-20)
[otTables] Fixed AttributeError in methods that split LigatureSubst,
MultipleSubst and AlternateSubst subtables when an offset overflow occurs.
The Format attribute was removed in v4.22.0 (#2319).
4.24.2 (released 2021-05-20)
[ttGlyphPen] Fixed typing annotation of TTGlyphPen glyphSet parameter (#2315).
Fixed two instances of DeprecationWarning: invalid escape sequence (#2311).
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.25.0.
Release notes
Sourced from fonttools[woff]'s releases.
Changelog
Sourced from fonttools[woff]'s changelog.
... (truncated)
Commits
696b7ac
Release 4.25.04602a9e
Merge pull request #2326 from daltonmaag/compact-gpos731845c
Update NEWS.rst2ff3159
Mark the environment variable as experimental5271796
Refactor the Cluster class to be top-level instead of nested the function016aa4c
Add docstring to snippetd1c46f9
Clarify comment with the plan vs the actual implementation7860dd5
Add tests that optimize block matricesef67839
Fix typing error3b34b22
Fix fonttools otlLib.optimize command lineDependabot 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)