66 Commits

Author SHA1 Message Date
Simon Cozens
71e991b87f Fixup expectations 2023-11-02 17:28:13 +00:00
Behdad Esfahbod
f1e56cd757 [instancer.solver] Fix case where axisDef < lower and upper < axisMax
Fixes https://github.com/fonttools/fonttools/issues/3291
2023-10-16 13:46:39 -06:00
Cosimo Lupo
2dcdb17e90
instancer_test: add test for null ConditionSet offset 2023-07-20 11:15:32 +01:00
Behdad Esfahbod
b0cf3e1ebe [instancer] Allow null ConditionSet
Fixes https://github.com/fonttools/fonttools/issues/3211
2023-07-19 19:55:42 -06:00
Behdad Esfahbod
0893ba93f8 [instancer/L4] Address review comments 2023-07-11 08:46:46 -06:00
Behdad Esfahbod
10bc7a804a [instancer/L4] Implement an optimization 2023-06-21 17:52:12 -06:00
Behdad Esfahbod
17761cc616 [instancer/L4] Add tests 2023-06-21 15:09:56 -06:00
Behdad Esfahbod
204532aee3 [instancer/L4] Misc fixes and fix tests 2023-06-21 15:09:56 -06:00
Behdad Esfahbod
023ad3a363 [instancer/L4] Fix crossing calculation 2023-06-21 15:09:56 -06:00
Cosimo Lupo
dfec4abf6d
glyf: use 'round' parameter in _getCoordinatesAndControls
as Behdad suggested in review
2023-06-08 11:47:47 +01:00
Cosimo Lupo
1ca554332c
_getCoordinatesAndControls: make sure coords are rounded toInt() as gvar expects
ufo2ft will no longer send varLib already-rounded master glyf tables (to give it an opportunity to compute implied oncurves on the pre-rounded coords) so when retrieving coordinates off the glyf table in order to compute gvar deltas we have to round
2023-06-07 18:05:48 +01:00
Behdad Esfahbod
3ba7e6d706 [instancer-solver] Fix a bug
Fixes https://github.com/fonttools/fonttools/issues/3139
2023-05-29 17:39:02 -06:00
Behdad Esfahbod
a99e130b26 [Tests] Silence a few deprecation warnings 2023-05-24 14:38:41 -06:00
Behdad Esfahbod
43b16df8db [avar] Update test expectations 2023-03-08 11:10:07 -07:00
Behdad Esfahbod
0f1eb4673c [instancer_test] Add varComposite test 2023-01-31 13:25:06 -07:00
Behdad Esfahbod
7899dd8dbc [instancer] Limit axis ranges to that of fvar
Fixes https://github.com/fonttools/fonttools/issues/2959
2023-01-26 11:47:25 -07:00
Nikolaus Waxweiler
d584daa8fd Blacken code 2022-12-13 11:26:36 +00:00
Cosimo Lupo
dbc3b48879
[instancer] udpdate OS/2 class and post.italicAngle when default moved (L4)
Previously we were only updating these when pinning wght/wdth/slnt axes.
Now we do whenever any of these axes defaults are changed, whether or not the axes are pinned or kept

Fixes https://github.com/fonttools/fonttools/issues/2885
2022-11-09 16:33:23 +00:00
Behdad Esfahbod
672c4bacdd [instancer.featureVars] Address review comments 2022-11-04 11:55:48 -06:00
Behdad Esfahbod
ea2ae7df86 [instancer.featureVars] Add one more test 2022-11-03 17:15:40 -06:00
Behdad Esfahbod
392706949c [instancer.featureVars] Fix deficiency in L4 instancing
See discussion on the issue.  I think I got this right.

Fixes https://github.com/fonttools/fonttools/issues/2737
2022-11-03 14:55:01 -06:00
Behdad Esfahbod
6e156a7f13 [instancer] Split featureVars code into own module
Towards fixing https://github.com/fonttools/fonttools/issues/2737
2022-11-03 14:21:27 -06:00
Cosimo Lupo
0c30d96906
Update instancer tests to use triples as axis limits 2022-10-21 18:01:01 +01:00
Behdad Esfahbod
e554ec1dc6 [instancer] Small fix for featureVariations instancing 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
1ff1a537e8 [instancer] Implement L4 featureVariations 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
3f7b250803 [instancer] Add test for FeatureVariations limiting range 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
5cbfe2a956 [instancer] Add test for parseLimits with default value 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
aabced171e [instancer.solver] Fix case3 with gain
Ouch!
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
7ee8414cab [instancer.solver] Better handling of peak==axisDef 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
e08553011a [instancer.solver] Handle when peak falls on new axis default 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
e2a875b26c [instancer] Implement featureVariations L4 instancing
I *think* this is all.
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
d3e0a39362 [instancer] Fix more tests 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
11aa044515 [instancer] Fix another couple of tests 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
08c896f534 [instancer.solver] Cleanup tests of pytest.approx 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
eddc53c267 [instancer.solver] More test 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
743033d755 [instancer.solver] Use pytest.approx() in tests 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
e7d4416c27 [instancer.solver] Add more tests 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
52c791ad1d [instancer.solver] Add a special case 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
b6a3ef37e1 [instancer.solver] Second try at sending everything through WithGain 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
c3fa1b59ac [instancer.solver] Return None as gain tent 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
a87ba55a90 [instancer.solver] More test 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
340fb5866c [instancer.solver] More test 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
dd5452527e [instancer.solver] More fixes 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
264ac96288 [instancer.solver] Improve test 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
4637daf191 [instancer.solver] Fix 3a 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
bb94fe0df2 [instancer.solver] One more test 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
8a49fdc4ec [instancer.solver] Fix up algorithm again 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
6210e7d331 [instancer.solver] Test more 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
f2ebccd468 [instancer.solver] Add tests 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
89dffd51ca [instancer] Make some tests pass
The rest of the test suite needs drastic updates :(.
2022-10-13 10:35:02 -06:00