54 Commits

Author SHA1 Message Date
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
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
b8333d9ade instancer_test: revert expected result to before, to match eab9aa5 2022-07-06 16:50:22 +01:00
Nikolaus Waxweiler
16d899a2be Apply RIBBI bits to all kinds of fonts 2022-07-05 15:45:44 +01:00
Behdad Esfahbod
e01f643a8e [varLib.varStore] Support NO_VARIATION_INDEX in optimizer & instancer
Fixes https://github.com/fonttools/fonttools/issues/2211
2022-06-23 12:01:20 -06:00
Cosimo Lupo
7ee2c9d891 testTools: factor our method to strip variable items from ttx dumps
it was scattered here and there, so define it once and reuse everywhere needed
2022-04-05 18:34:30 +01:00
Khaled Hosny
47457b14d6
[varLib] Fix instantiating some SinglePos subtables (#2555) 2022-03-22 08:34:18 +00:00
Khaled Hosny
232b2ccbc4 Move the rest of py23 module to textTools
Change all imports to use textTools module, except the test_py23.py test
which is kept until we decide to remove the module (if ever).
2021-08-20 01:29:45 +02:00
Khaled Hosny
000bf81700 Default to "\n" for newlinestr instead of None
If newlinestr is None, os.linesep is used, bu it is the third millennium
and we don’t need or want different line endings per-platform.
2021-07-30 04:12:33 +02:00
Cosimo Lupo
dafce3ff46 instancer_test: add test with PairPos ValueRecord with XAdvDevice but no XAdvance
this currently raises AttributeError in MutatorMerger.merge for ValueRecord table, because the latter assumes that whenever one of the Device tables are present the respective non-device values are also present, but they may be omitted (and it should default to 0 when missing)
2021-05-25 12:30:35 +01:00
Just van Rossum
5fc65d7168
Misc py23 cleanups (#2243)
* Replaced all from ...py23 import * with explicit name imports, or removed completely when possible.
* Replaced tounicode() with tostr()
* Changed all BytesIO ans StringIO imports to from io import ..., replaced all UnicodeIO with StringIO.
* Replaced all unichr() with chr()
* Misc minor tweaks and fixes
2021-03-29 11:45:58 +02:00
Behdad Esfahbod
6b2b2f4949 [Tests] Fix most test expectations for ClassDef[12] .Format removal 2021-03-23 11:43:46 -07:00
Behdad Esfahbod
de81aae164 [Tests] Fix more tests expectations for Coverage/ClassDef .Format change 2021-03-23 11:42:54 -07:00