127 Commits

Author SHA1 Message Date
Behdad Esfahbod
52c791ad1d [instancer.solver] Add a special case 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
245c3e9575 [instancer.solver] Comment algorithm 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
617f19ff8d [instancer.solver] Add comments 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
7f79fad3d0 [instancer.solver] Remove unused _solveWithoutGain() 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
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
dd5452527e [instancer.solver] More fixes 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
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
17ac8d9f28 Revert "[instancer.solver] Remove _solveWithoutGain"
This reverts commit e867aadf6f6befdc84fd4cf1496faa2517e42b17.
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
2d986a37fc [instancer.solver] Remove _solveWithoutGain
Use _solveWithGain for it. Fold all into a general _solve.
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
4d65c6c2a2 [instancer.solver] Cache results 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
5a2836d97b [instancer.solver] Fix tag 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
1ed0f8a655 [instancer.solver] Remove special-cases 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
7f149f2617 [instancer.solver] Fix up, also route pinned through general 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
16d7e335e4 [instancer.solver] Write out rest of general-case solver
Untested.
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
d611c1519e [instancer] Add assertion 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
92c67c2e22 [instancer] Add infrastructure for L4 instancing 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
Behdad Esfahbod
6752d07c98 [instancer] Parse and percolate triples for axis values 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
eae0613a82 [instancer] Carry pinned locations as ranges of (value,value) in axisLimits
Towards L4 instancing.
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
fdaea7a1d8 [instancer] Avoid unnecessary scaling 2022-10-13 10:35:02 -06:00
Just van Rossum
a2eef358be [instancer] Minor touch-up of #2828 2022-09-20 17:36:43 +02:00
Just van Rossum
c7ea667215 [intancer] Add stat.ElidedFallbackNameID to the set of used name IDs, to avoid it being pruned. Fixes #2822 2022-09-20 17:21:26 +02: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
Behdad Esfahbod
aa2dae3be1 [instancer] Run black 2022-08-22 06:28:48 -06:00
Behdad Esfahbod
24c9fb6ffa [cliTools] Rename fragment to suffix 2022-08-22 06:26:30 -06:00
Behdad Esfahbod
e146ddfd86 [cliTools.makeOutputFileName] Add fragment argument
And use it from subsetter and instancer.

Related to https://github.com/fonttools/fonttools/issues/1156
2022-08-19 12:20:21 -06:00
Behdad Esfahbod
a2ed526277 [--help] Remove end-of-line periods 2022-08-18 07:40:13 -06:00
Behdad Esfahbod
171670a15f
[instancer] Simplify a couple of things (#2732)
* [instancer] Simplify normalization
2022-08-15 11:47:09 -06:00
Behdad Esfahbod
13e592cadf [instancer] Fix bug in _instantiateFeatureVariations()
Fixes https://github.com/fonttools/fonttools/issues/2733
2022-08-09 17:15:29 -06:00
Cosimo Lupo
eab9aa5a22 instancer: use_NO_VARIATION_INDEX=False when optimizing {H,V}VAR VarStore
Same as we do in subsetter, see e01f643a8e
2022-07-06 16:36:05 +01:00