5214 Commits

Author SHA1 Message Date
Cosimo Lupo
dc689738c7 Release 4.24.1 2021-05-20 12:00:15 +01:00
Cosimo Lupo
926f721832 return True from SinglePos.prune_post_subset to not change semantics
the useless subtable might have been there to stop the next subtable from applying...
https://github.com/fonttools/fonttools/pull/2313#issuecomment-844497422
2021-05-20 10:01:58 +01:00
Cosimo Lupo
defe0f997a subset: don't prune_post_subset if no SinglePos Value
Fixes https://github.com/fonttools/fonttools/issues/2312
2021-05-19 20:16:14 +01:00
Cosimo Lupo
604bfdb2fb Bump version: 4.24.0 → 4.24.1.dev0 2021-05-17 13:13:11 +01:00
Cosimo Lupo
c77e4e0d1e Release 4.24.0 2021-05-17 13:13:11 +01:00
Jens Kutilek
0cb2bea386
Add TTGlyphPointPen (#2205)
* Add TTGlyphPointPen
* Format code with black
* Implement TTGlyphPen and TTGlyphPointPen with common base class
* Use PenError instead of assert
* Add note about decomposing mixed composites to the docstring
2021-05-17 14:09:36 +02:00
Cosimo Lupo
edd97bcdc4 Bump version: 4.23.1 → 4.23.2.dev0 2021-05-14 11:06:57 +01:00
Cosimo Lupo
64cf7719e4 Release 4.23.1 2021-05-14 11:06:57 +01:00
Cosimo Lupo
6e23150507 subset: prune v0 base glyphs and layers when none are left after subsetting COLRv1 table
Thanks Qunxin for reporting the bug!
2021-05-14 10:47:20 +01:00
Cosimo Lupo
f2df149db3 COLR: set {BaseGlyph,Layer}RecordArray to None when no colorGlyphsV0 in populateCOLRv0
Same when LayerV1List is empty. All these fields are optional in v1
2021-05-14 10:47:13 +01:00
Cosimo Lupo
2aaeba66c1 Bump version: 4.23.0 → 4.23.1.dev0 2021-05-13 15:56:32 +01:00
Cosimo Lupo
adaca1068b Release 4.23.0 2021-05-13 15:56:31 +01:00
Cosimo Lupo
465c327b5f
Merge pull request #2300 from fonttools/fix-varlib-merger-errors
VarLibMergeError first parameter must be a Merger object
2021-05-13 15:48:58 +01:00
Cosimo Lupo
72004fcd7e VarLibMergeError first parameter must be a Merger object
a lot of places instead pass in the 'self' parameter, incorrectly assuming that is a Merger.
This is meant to fix 'AttributeError: 'dict' object has no attribute 'ttfs'' as reported in https://github.com/googlefonts/fontmake/issues/766#issuecomment-836576341
2021-05-13 15:40:44 +01:00
Eigi Eigendorf
08e3c74911 Merge branch 'fonttools:main' into main 2021-05-13 15:41:22 +02:00
Cosimo Lupo
c51d3aa061
Merge pull request #2303 from fonttools/glyphclass-by-null
[feaLib] Allow substituting a glyph class with NULL
2021-05-13 10:41:54 +01:00
Cosimo Lupo
616fc065e0 add deprecation warnings for old getPhantomPoints, etc. 2021-05-13 10:13:28 +01:00
Cosimo Lupo
3c98250dbd g_l_y_f: fix undefined name 'topSideBearing'
Fixes #2295
2021-05-13 10:12:46 +01:00
Cosimo Lupo
6adbf188e6
Merge pull request #2288 from fonttools/remove-overlaps-print-glyph-error
removeOverlaps: work around pathops.simplify error
2021-05-12 17:06:57 +01:00
Simon Cozens
b41b062402 We are iterating over supports, not locations, here 2021-05-12 16:13:58 +01:00
Simon Cozens
2aa1a6ddf6 Remove else-after-return 2021-05-12 15:04:41 +01:00
Simon Cozens
5ac809410f Reformat with black 2021-05-12 15:02:59 +01:00
Simon Cozens
1526b9e024 Another unused enumeration 2021-05-12 15:01:18 +01:00
Simon Cozens
f711b65475 Index was never used 2021-05-12 14:57:20 +01:00
Simon Cozens
1c509f931d Avoid unnecessary intermediary variables 2021-05-12 14:56:44 +01:00
Simon Cozens
ab328b5ecc axisPoints is not used outside the sort function 2021-05-12 14:55:14 +01:00
Khaled Hosny
f6d2ff8d2a [feaLib] Allow substituting a glyph class with NULL
sub [a b c] by NULL; was producing errors, now it builds as multiple
statements.
2021-05-12 08:53:26 +02:00
Eigi
84d77e5c3a fix for issue #2299
translate leading backslashes of UNC path to forward slashes.
2021-05-09 18:59:34 +02:00
Just van Rossum
31ab3aae0b
Merge pull request #2285 from fonttools/varStore-32bit
Improve otBase facilities / towards 32bit VariationStore
2021-05-08 17:10:17 +02:00
Just van Rossum
9825ab0977
Fix for #2293: allow more than one lookahead glyph/class in contextual positioning with "value at end" (#2294)
* add test that fails for #2293

* fixing #2293: rewrite of contextual positioning logic, ensure len(suffix) > 1 yields the correct result; checking more edge cases and raising errors inspired by makeotf

* test error cases

* only check when we actually have a value

* catch one more case that makeotf errors on and we didn't
2021-05-08 09:22:30 +02:00
Behdad Esfahbod
f21091b6ff [otBase] Assert array.array('i').itemsize 2021-05-07 15:52:35 -06:00
Behdad Esfahbod
03e97edf14 [varLib.varStore] Use binary notation for bit constants
https://github.com/fonttools/fonttools/pull/2285#discussion_r625708297
2021-05-07 15:45:55 -06:00
Behdad Esfahbod
98e2bf5526 [varLib.builder] Document bit-tweedling
https://github.com/fonttools/fonttools/pull/2285#discussion_r628401241
2021-05-07 15:41:33 -06:00
Behdad Esfahbod
b8963256fd [otBase/otConverters] Add back array index to exception in writeArray()
db6171df14 (r628543432)
2021-05-07 15:31:53 -06:00
Just van Rossum
d601951eab
[otTables] Default varIdx should be 0xFFFFFFFF (#2298)
* default value for varIdx should be 0xFFFFFFFF to indicate 'no variations'

* use lc hex notation as per feedback
2021-05-07 22:26:48 +02:00
Cosimo Lupo
b0e24384c2 minor refactorings following review comment
https://github.com/fonttools/fonttools/pull/2288#discussion_r627907922
2021-05-07 09:49:40 +01:00
Cosimo Lupo
d4d3d95414 split simplify logic to separate func for easier unit-testing 2021-05-06 20:23:56 +01:00
Cosimo Lupo
84b851398b removeOverlaps: try rounding to ints before simplify to workaround skia bug
Fixes https://github.com/google/fonts/issues/3365

See https://bugs.chromium.org/p/skia/issues/detail?id=11958 for details
2021-05-06 14:16:01 +01:00
Eigi
1091ff5e05 #2289 fix for typo in typo in ttLib.tables._g_l_y_f.py 2021-05-06 14:33:57 +02:00
Cosimo Lupo
6b9b23251e VarLibMergeError.stack is a list of str, not a str
Fixes https://github.com/googlefonts/fontmake/issues/766
2021-05-06 11:59:10 +01:00
justvanrossum
747f9f49b7 fix struct vs array mismatch: for array 'l' is 8 bytes, not 4. I'm not 100% sure this is correct for all platforms. 2021-05-04 18:54:26 +02:00
Cosimo Lupo
e13b781526 removeOverlaps: print glyph name when pathops.simplify fails
Sometimes skia-pathops simplify may fail (for unknown reasons which I'm still trying to debug).
It's a good idea to know the name of the offending glyph
https://github.com/google/fonts/issues/3365
2021-05-04 17:08:59 +01:00
Nikolaus Waxweiler
2100a96e77
Merge pull request #2284 from fonttools/pen-error-maintenance
Pen error maintenance
2021-05-03 15:09:57 +01:00
Khaled Hosny
a1c6c184ef [mutator] Round lsb for CFF2 fonts as well
Otherwise head table compilation would fail because of the floating
point side bearing. The advance width is already rounded.
2021-05-03 00:06:46 +02:00
Behdad Esfahbod
0549b27afb [varLib.varStore] Implement 32bit VarStore optimization
This concludes https://github.com/fonttools/fonttools/issues/2279

Part of https://github.com/fonttools/fonttools/pull/2285
2021-05-01 15:12:08 -06:00
Behdad Esfahbod
9350166792 [varLib.varStore] Remove use of array.array 2021-05-01 15:04:51 -06:00
Behdad Esfahbod
e454e96238 [varLib.builder] Implement building 32bit VarStore
The full optimizer in varLib.varStore still needs to be updated.
But this pretty much enables building 32bit VarStores, even if they
won't be fully optimal.

Part of https://github.com/fonttools/fonttools/issues/2279
2021-05-01 14:27:11 -06:00
Behdad Esfahbod
802e3636bc [otConverters] Support read/write of 32bit VarStore
Part of https://github.com/fonttools/fonttools/issues/2279
2021-05-01 12:51:12 -06:00
Behdad Esfahbod
a2f34fdf82 [otConverters] Rename VarStore shortCount to wordCount in local variables 2021-05-01 12:45:03 -06:00
Behdad Esfahbod
7d85b77996 [otConverters] Minor in VarStore padding 2021-05-01 12:44:15 -06:00