Cosimo Lupo
63cea8821b
Update changelog [skip ci]
2022-10-21 19:16:34 +01:00
Cosimo Lupo
65a65b5f66
Merge pull request #2861 from fonttools/l4-fixes
...
[instancer-l4] expand singles/tuples to triples upfront and use triples throughout
2022-10-21 18:47:42 +01: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
0c30d96906
Update instancer tests to use triples as axis limits
2022-10-21 18:01:01 +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
Cosimo Lupo
40b2473a48
Merge pull request #2728 from fonttools/instancer-l4
...
[instancer] Towards L4 instancing
2022-10-21 16:39:09 +01:00
Behdad Esfahbod
3d2fa8a342
[glyf] Return component transform as part of control data
...
This makes sure that when we are building variable fonts, we
check that all masters have the same component transform in
composite glyphs. We were not checking for this before.
2022-10-20 11:05:08 -06:00
Cosimo Lupo
6fd5bc270e
Merge pull request #2860 from fonttools/set-redundant-attrs
...
[otlLib|featureVars] sort name records after building STAT, set redundant Counts
2022-10-20 17:31:45 +01:00
Cosimo Lupo
c41cda33c1
featureVars: set FeatureCount/LangSysCount, even if 0
2022-10-20 16:45:44 +01:00
Cosimo Lupo
41ff9511cc
otlLib: sort names after building STAT, set AxisValueCount=0
2022-10-20 16:44:02 +01:00
Jany Belluz
551fc7a23e
Merge pull request #2853 from fonttools/fix-designspace-stat-recursion
...
Fix recursion error with linkedUserValue in both directions
2022-10-19 12:10:09 +02:00
Jany Belluz
1cb5ef57dd
[designspaceLib] Allow non-zero Upright values in STAT entries
2022-10-19 10:44:36 +01:00
Jany Belluz
3577728a43
[designspaceLib] Fix check for Upright STAT entry
2022-10-19 09:58:15 +01:00
Cosimo Lupo
0d513fbed8
Merge pull request #2854 from fonttools/fix-designspace-doc-labels-ordering
...
[designspaceLib] Document XML field <labels ordering="1">
2022-10-19 09:43:05 +01:00
Jany Belluz
12d13f0b26
[designspaceLib] Fix recursion error with linkedUserValue in both directions
2022-10-18 17:32:14 +01:00
Jany Belluz
1396ae4d66
[designspaceLib] Document XML field <labels ordering="1">
2022-10-18 17:27:31 +01:00
Cosimo Lupo
bc03f09322
Merge pull request #2849 from fonttools/fix-division-by-zero
...
Fix ZeroDivisionErrors with normalizeLocation(extrapolate=True)
2022-10-14 15:32:36 +01:00
Cosimo Lupo
040fdb03a0
Rework assertion per feedback
2022-10-13 19:17:33 +01:00
Cosimo Lupo
3c935f95ca
normalizeLocation: fix ZeroDivisionErrors with extrapolate=True
...
these happens when v < default and default==lower, or when v > default but default==upper...
2022-10-13 18:39:56 +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
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
bce11dfc85
[instancer.solver] Improve diagram for a case
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
5cbfe2a956
[instancer] Add test for parseLimits with default value
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
36bf633555
[instancer.solver] Format
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
b54ac734cc
[instancer.solver] Add assertion
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
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
890938ef09
[instancer.solver] Try harder to fix on python 3.7
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
3c998785db
[instancer.solver] Use older lru_cache instead of cache
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
53b6c4c9fe
[instancer.solver] Fix negative -2 case
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
5254c9354c
[instancer] Fix most 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