Behdad Esfahbod
33a94d820d
[instancer/VarComposite] Allow instancing non-variable VarComposite axes
2023-01-30 11:26:20 -07:00
Behdad Esfahbod
e4c25d02e6
[instancer/VarComposite] Raise NotImplementedError when warranted
2023-01-30 11:26:20 -07:00
Behdad Esfahbod
0d24114ad0
[varLib/VarComposite] Plug in in a couple places
2023-01-30 11:26:20 -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
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
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
492645239b
[varLib / instancer] Remove DSIG table from font
...
Fixes https://github.com/fonttools/fonttools/issues/1480
2022-10-28 11:42:57 -06:00
Cosimo Lupo
b74d098115
add custom repr to AxisTriple so they print nicer in the logging output
2022-10-21 18:38:55 +01:00
Cosimo Lupo
86e1202129
[instancer] expand singles/tuples to triples upfront and use triples throughout
...
Also renamed AxisTent => AxisTriple because I think "tent" is more appropriate to visualize master supports (i.e. a triangle with a peak in the middle), here it's simply the new desired min, default, max values of an axis, or the axis limits.
The public facing instantiateVariableFont continues to accept a hybrid map of axis tags to single values or 2- (and now also 3-) tuples, these are normalized to an AxisLimits mapping that contains only AxisTriples and passed around to the internal methods.
2022-10-21 17:49:35 +01:00
Behdad Esfahbod
233014117b
[instancer] Adjust featureVariations retaining logic
...
https://github.com/fonttools/fonttools/pull/2728#discussion_r975606307
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
9c7ffef55e
[instancer] Run black
2022-10-13 10:35:02 -06: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
3bdfb3e205
[instancer] Remove debug print
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
5ff9546531
[TupleVariation] Add __imul__
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
fbf796a0a9
[instancer] Use minimum/maximum instead of tuple indices
...
One of the cases is a bugfix in fact...
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
528bcdf1a2
[instancer] No need to check for scalar=1
...
The scaleDeltas() function does it.
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
d2cb561cee
[instancer] L4 avar mapping
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
24cd9dc00e
[instancer] Simplify avar mapping more
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
7330c78b10
[instancer] Towards L4 avar
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
d17d1355a2
[instancer] Simplify avar normalization
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
3108e52a90
[instancer] Remove redundant checks
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
8f6779d67e
[instancer] Fix the rest of tests
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
5254c9354c
[instancer] Fix most tests!
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
cff162579d
[instancer] Fix a few more tests
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
272e4e8999
[instancer] Fix a few more tests
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
5118e3327d
[instancer] Fix some more tests
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
0947ca6b6c
[instancer] Fix "drop" to some extent
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
d03879607b
[instancer] Make a few tests happy
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
f6ce737476
[instancer] Add assert
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
fa7b219030
[instancer] Fix fvar with range change
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
3db83dd739
[instancer] Reuse var
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
407fd13554
[instancer] No need to check for scalar=0 here; solver does
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
4b4f65dda6
[instancer] Fix fvar axis default value
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
bf55b28c50
[instancer.solver] Implement no-gain in the general solution
...
This can replace the DefaultUnmoved
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
e94f564149
[instancer.solver] Start fleshing out L4
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
eef320e974
[instancer] Err, fixups
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
Behdad Esfahbod
ac05ed19bb
[instancer] Fix code move
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
8ca0dab0c0
[instancer.solver] Simplify solver
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
32be0d46ec
[instancer.solver] Massage a bit
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
af9ab41d21
[instancer] Move solving code into instancer.solver module
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
7856a5cc46
[instancer] Merge pinTupleVariationAxes and limitTupleVariationAxisRanges
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
a8943d99c9
[instancer] Add an assert
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
d0e4758d3c
[instancer] Minor
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
fc14158cfd
[instancer] Fix setting default WWS for recent changes
2022-10-13 10:35:02 -06:00