9050 Commits

Author SHA1 Message Date
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
Eigi Eigendorf
e0ef55ea4b Merge branch 'fonttools:main' into main 2021-05-09 18:53:28 +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
Eigi
2af246b71e Merge branch 'main' of https://github.com/Eigi/fonttools into main 2021-05-07 10:43:50 +02:00
Eigi
f05ae63f70 test if issue #2295 is fixed 2021-05-07 10:42:53 +02:00
Cosimo Lupo
80598d3c2c skip removeOveraps_test if pathops can't be imported 2021-05-06 20:23:56 +01:00
Cosimo Lupo
27e8943d3c add test for pathops simplify bug workaround 2021-05-06 20:23:56 +01:00
Cosimo Lupo
d4d3d95414 split simplify logic to separate func for easier unit-testing 2021-05-06 20:23:56 +01:00
Just van Rossum
9c18e2a07d
Merge pull request #2292 from Eigi/main
#2289 fix for typo in typo in ttLib.tables._g_l_y_f.py
2021-05-06 16:10:46 +02: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
83e044f4a4
Merge pull request #2291 from fonttools/fix-varlib-merge-error
VarLibMergeError.stack is a list of str, not a str
2021-05-06 12:11:53 +01: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
2636325844 font placeholder doesn't need an fvar table 2021-05-04 19:29:39 +02: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
justvanrossum
d3fd46e3f3 uncomment failing tests 2021-05-04 18:21:37 +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
justvanrossum
ad438931e4 adding compile/decompile step; this currently fails for the 32-bit tests (which are therefore commented out) 2021-05-04 17:08:27 +02:00
justvanrossum
267ab2baba add 32-bit master value tests 2021-05-04 16:39:20 +02:00
justvanrossum
22dda54616 use optimizer 2021-05-04 16:19:48 +02:00
justvanrossum
7de2f347c5 add tests for OnlineVarStoreBuilder/VarStoreInstancer 2021-05-04 16:12:24 +02:00
justvanrossum
a7fd202952 add 32-bit tests to test_buildVarData_optimize 2021-05-04 14:49:12 +02:00
justvanrossum
eba058d439 add 32-bit tests to test_buildVarData_no_optimize 2021-05-04 14:41:01 +02: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
8caf2f0dfb
Merge pull request #2286 from fonttools/mutator-round-lsb
[mutator] Round lsb for CFF2 fonts as well
2021-05-03 01:20:01 +02: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
Behdad Esfahbod
0b20c196d4 [otConverters] Implement writeArray for GlyphID 2021-05-01 12:41:45 -06:00
Chris Simpkins
8a63c06b8b [varLib.instancer] update instantiateVariableFont docs
updated to indicate that Level 3 sub-space ranges are supported, but you must include the default axis value in the new range
2021-05-01 12:04:13 -06:00
Nikolaus Waxweiler
b449686a84 Use TypeError for not enough points 2021-05-01 18:56:38 +01:00
Behdad Esfahbod
bd648ea14d [otConverters] Use array read/write in VarIdxMapValue 2021-04-30 16:29:18 -06:00