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
Behdad Esfahbod
0f48f0a5ea
[varLib/featureVars] Insert rvrn lookups at beginning
...
Fixes https://github.com/fonttools/fonttools/issues/2140
Fixes https://github.com/googlefonts/fontmake/issues/950
2022-10-28 15:45:40 -06:00
Cosimo Lupo
0c30d96906
Update instancer tests to use triples as axis limits
2022-10-21 18:01:01 +01:00
Cosimo Lupo
40b2473a48
Merge pull request #2728 from fonttools/instancer-l4
...
[instancer] Towards L4 instancing
2022-10-21 16:39:09 +01:00
Jany Belluz
12d13f0b26
[designspaceLib] Fix recursion error with linkedUserValue in both directions
2022-10-18 17:32:14 +01:00
Cosimo Lupo
1dea06f66f
add tests for normalizeLocation(extrapolate=True)
...
These fails at the moment with various division-by-zero errors, fix in follow-up commit.
2022-10-13 18:35:45 +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
Just van Rossum
8b8fbf390e
formatting
2022-10-13 12:56:04 +02:00
Just van Rossum
2afac999ef
Add test for VariationModel with extrapolate=True, and test a two-dimensional designspace for expected interpolation values
2022-10-13 12:50:21 +02:00
Just van Rossum
b073fb8f6f
Demand axisRanges is given when extrapolate is True
2022-10-13 12:27:46 +02:00
Just van Rossum
16183b9436
Adjust extrapolate test cases, and added some for extrapolating below the minimum
2022-10-13 09:03:42 +02:00
Behdad Esfahbod
4742960f7f
[varLib.cff] Don't round deltas
...
Fixes https://github.com/fonttools/fonttools/issues/2838
2022-10-04 14:12:01 -06:00
Cosimo Lupo
87bbb64061
[instancer] downgrade GSUB/GPOS version if there are no FeatureVariations after instancing
...
same as https://github.com/fonttools/fonttools/pull/2811 but moved the logic to _instantiateFeatureVariations directly, instead of after it
2022-09-13 10:44:26 +01:00
Cosimo Lupo
964df076e1
varLib_test: test we don't add no-op DeltaSetIndexMap when not needed
...
https://github.com/fonttools/fonttools/issues/2800
2022-09-05 17:15:51 +01:00
Behdad Esfahbod
f0f7b93f11
[varLib.models_test] Add test
...
from https://github.com/fonttools/fonttools/issues/2764
2022-08-23 10:32:57 -06:00
Cosimo Lupo
f5933c1cfa
Revert "[varLib.models] Generate narrower tents"
...
This reverts commit 688939394b8cae3b2a0d5747e435cbd828a14531.
2022-08-23 17:20:57 +01:00
Behdad Esfahbod
bad70c68ef
[varLib] Support extrapolation
...
Fixes https://github.com/fonttools/fonttools/issues/1252
2022-08-23 09:56:33 -06:00
Behdad Esfahbod
32904d43bb
[models_test] Add tests from Just
2022-08-16 12:46:44 -06:00
Behdad Esfahbod
3325b47606
Merge pull request #2717 from fonttools/varLib-narrow
...
[varLib.models] Generate narrower tents
2022-08-16 12:46:22 -06:00
Behdad Esfahbod
03d264756b
Test var model error ( #2217 )
...
* [varLib.models] Add test for modeling rounding error
Tests https://github.com/fonttools/fonttools/pull/2214
If you flip demo to True, it does a slower test and demos the new error as well
as the error the old code was producing (ie. rounding deltas post-modeling).
Indeed, the new error is always capped by 0.5 as expected, whereas the old one
was unbounded. Here's the worst-case error of the bad code:
...
240 0.42 4.8
...
240 is just the line number. 0.42 is new error. 4.8 is old error.
* turn test_modeling_error into a parametrized pytest test
Like the other test methods in the same module, all those whose name starts with 'test_' are automatically discovered and run by pytest which is our default test runner. So there is no need to call the test method itself in the top-level module scope. One simply runs the test via pytest. To execute this specific test method one can do 'pytest Tests/varLib/models_test.py::test_modeling_error'.
* use pytest markers to mark specific test as 'slow'
So that one can optionally deselect tests marked with specific marker by passing -m option (e.g. to deselect 'slow' tests, pytest -m 'not slow' ...).
https://docs.pytest.org/en/stable/mark.html#registering-marks
https://docs.pytest.org/en/stable/example/parametrize.html#set-marks-or-test-id-for-individual-parametrized-test
* [varLib/models_test] Comment out non-test code
Co-authored-by: Cosimo Lupo <clupo@google.com>
2022-08-15 10:30:45 -06:00