[designspaceLib] Don't make up bad PS names when no STAT data (#2684)
4.34.2
[varStore/subset] fixed KeyError exception to do with NO_VARIATION_INDEX while subsetting varidxes in GPOS/GDEF (a08140d).
4.34.1
[instancer] When optimizing HVAR/VVAR VarStore, use_NO_VARIATION_INDEX=False to avoid including NO_VARIATION_INDEX in AdvWidthMap, RsbMap, LsbMap mappings, which would push the VarIdx width to maximum (4bytes), which is not desirable. This also fixes a hard crash when attempting to subset a varfont after it had been partially instanced with use_NO_VARIATION_INDEX=True.
4.34.0
[instancer] Set RIBBI bits in head and OS/2 table when cutting instances and the subfamily nameID=2 contains strings like 'Italic' or 'Bold' (#2673).
[otTraverse] Addded module containing methods for traversing trees of otData tables (#2660).
[otTables] Made DeltaSetIndexMap TTX dump less verbose by omitting no-op entries (#2660).
[colorLib.builder] Added option to disable PaintColrLayers's reuse of layers from LayerList (#2660).
[varLib] Added support for merging multiple master COLRv1 tables into a variable COLR table (#2660, #2328).
Base color glyphs of same name in different masters must have identical paint graph structure (incl. number of layers, palette indices, number of color line stops, corresponding paint formats at each level of the graph), but can differ in the variable fields (e.g. PaintSolid.Alpha). PaintVar* tables are produced when this happens and a VarStore/DeltaSetIndexMap is added to the variable COLR table. It is possible for non-default masters to be 'sparse', i.e. omit some of the color glyphs present in the default master.
[feaLib] Let the Parser set nameIDs 1 through 6 that were previously reserved (#2675).
[varLib.varStore] Support NO_VARIATION_INDEX in optimizer and instancer.
[feaLib] Show all missing glyphs at once at end of parsing (#2665).
[varLib.iup] Rewrite force-set conditions and limit DP loopback length (#2651). For Noto Sans, IUP time drops from 23s down to 9s, with only a slight size increase in the final font. This basically turns the algorithm from O(n^3) into O(n).
[featureVars] Report about missing glyphs in substitution rules (#2654).
[mutator/instancer] Added CLI flag to --no-recalc-timestamp (#2649).
[SVG] Allow individual SVG documents in SVG OT table to be compressed on uncompressed, and remember that when roundtripping to/from ttx. The SVG.docList is now a list of SVGDocument namedtuple-like dataclass containing an extra compressed field, and no longer a bare 3-tuple (#2645).
[designspaceLib] Check for descriptor types with hasattr() to allow custom classes that don't inherit the default descriptors (#2634).
[subset] Enable sharing across subtables of extension lookups for harfbuzz packing (#2626).
Updated how table packing falls back to fontTools from harfbuzz (#2668).
[subset] Updated default feature tags following current Harfbuzz (#2637).
[svgLib] Fixed regex for real number to support e.g. 1e-4 in addition to 1.0e-4. Support parsing negative rx, ry on arc commands (#2596, #2611).
[subset] Fixed subsetting SinglePosFormat2 when ValueFormat=0 (#2603).
4.33.3
[designspaceLib] Fixed typo in deepcopyExceptFonts method, preventing font references to be transferred (#2600).
Fixed another typo in the name of Range dataclass's __post_init__ magic method (#2597).
4.33.2
[otBase] Make logging less verbose when harfbuzz fails to serialize (#2593).
Do not exit at the first failure but continue attempting to fix offset overflow error using the pure-python serializer even when the USE_HARFBUZZ_REPACKER option was explicitly set to True. This is normal with fonts with relatively large tables, at least until hb.repack implements proper table splitting.
4.33.1
[otlLib] Put back the FONTTOOLS_GPOS_COMPACT_MODE environment variable to fix regression in ufo2ft (and thus fontmake) introduced with v4.33.0 (#2592, #2593).
This is deprecated and will be removed once ufo2ft gets updated to use the new config setup.
4.33.0
[OS/2 / merge] Automatically recalculate OS/2.xAvgCharWidth after merging fonts with fontTools.merge (#2591, #2538).
[misc/config] Added fontTools.misc.configTools module, a generic configuration system (#2416, #2349).
Added fontTools.config module, a fontTools-specific configuration system using configTools above.
Attached a Config object to TTFont.
[otlLib] Replaced environment variable for GPOS compression level with an equivalent option using the new config system.
[designspaceLib] Incremented format version to 5.0 (#2436).
Added discrete axes, variable fonts, STAT information, either design- or user-space location on instances.
[designspaceLib] Don't make up bad PS names when no STAT data (#2684)
4.34.2 (released 2022-07-06)
[varStore/subset] fixed KeyError exception to do with NO_VARIATION_INDEX while
subsetting varidxes in GPOS/GDEF (a08140d).
4.34.1 (released 2022-07-06)
[instancer] When optimizing HVAR/VVAR VarStore, use_NO_VARIATION_INDEX=False to avoid
including NO_VARIATION_INDEX in AdvWidthMap, RsbMap, LsbMap mappings, which would
push the VarIdx width to maximum (4bytes), which is not desirable. This also fixes
a hard crash when attempting to subset a varfont after it had been partially instanced
with use_NO_VARIATION_INDEX=True.
4.34.0 (released 2022-07-06)
[instancer] Set RIBBI bits in head and OS/2 table when cutting instances and the
subfamily nameID=2 contains strings like 'Italic' or 'Bold' (#2673).
[otTraverse] Addded module containing methods for traversing trees of otData tables
(#2660).
[otTables] Made DeltaSetIndexMap TTX dump less verbose by omitting no-op entries
(#2660).
[colorLib.builder] Added option to disable PaintColrLayers's reuse of layers from
LayerList (#2660).
[varLib] Added support for merging multiple master COLRv1 tables into a variable
COLR table (#2660, #2328). Base color glyphs of same name in different masters must have
identical paint graph structure (incl. number of layers, palette indices, number
of color line stops, corresponding paint formats at each level of the graph),
but can differ in the variable fields (e.g. PaintSolid.Alpha). PaintVar* tables
are produced when this happens and a VarStore/DeltaSetIndexMap is added to the
variable COLR table. It is possible for non-default masters to be 'sparse', i.e.
omit some of the color glyphs present in the default master.
[feaLib] Let the Parser set nameIDs 1 through 6 that were previously reserved (#2675).
[varLib.varStore] Support NO_VARIATION_INDEX in optimizer and instancer.
[feaLib] Show all missing glyphs at once at end of parsing (#2665).
[varLib.iup] Rewrite force-set conditions and limit DP loopback length (#2651).
For Noto Sans, IUP time drops from 23s down to 9s, with only a slight size increase
in the final font. This basically turns the algorithm from O(n^3) into O(n).
[featureVars] Report about missing glyphs in substitution rules (#2654).
[mutator/instancer] Added CLI flag to --no-recalc-timestamp (#2649).
[SVG] Allow individual SVG documents in SVG OT table to be compressed on uncompressed,
and remember that when roundtripping to/from ttx. The SVG.docList is now a list
of SVGDocument namedtuple-like dataclass containing an extra compressed field,
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.34.3.
Release notes
Sourced from fonttools[woff]'s releases.
... (truncated)
Changelog
Sourced from fonttools[woff]'s changelog.
... (truncated)
Commits
e80acef
Release 4.34.3f84a20d
Add NEWS.rst entryd3f21de
Merge pull request #2684 from fonttools/fix-ps-name-regressionb5f9499
[designspaceLib] Don't make up bad PS names when no STAT data4d2e535
Bump version: 4.34.2 → 4.34.3.dev073d10f8
Release 4.34.21978bf2
Update NEWS.rst [skip ci]a08140d
[varStore/subset] correctly handle NO_VARIATION_INDEX when subsetting varidxes1ec0ac4
Bump version: 4.34.1 → 4.34.2.dev0a216401
Release 4.34.1Dependabot 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)