5990 Commits

Author SHA1 Message Date
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
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
Behdad Esfahbod
9369edb6a9 [mutator] Remove DSIG table if present
Fixes https://github.com/fonttools/fonttools/issues/1480
2022-10-26 14:48:32 -06:00
Behdad Esfahbod
f379aced4d [svgPathPen] Don't close path in endPath()
Fixes https://github.com/fonttools/fonttools/issues/2089
2022-10-26 14:36:22 -06:00
Behdad Esfahbod
027de814e2 [subset/SVG] Speed up
Subsetting NotoColorEmojiSvg for one glyph.

Before: 280ms
After: 80ms

Fixes https://github.com/fonttools/fonttools/issues/2360
2022-10-26 14:06:35 -06:00
Cosimo Lupo
57afc89835
Bump version: 4.38.0 → 4.38.1.dev0 2022-10-21 19:17:59 +01:00
Cosimo Lupo
111d2c5c0f
Release 4.38.0 2022-10-21 19:17:57 +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
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
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
Jany Belluz
12d13f0b26 [designspaceLib] Fix recursion error with linkedUserValue in both directions 2022-10-18 17:32:14 +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
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
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
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