1289 Commits

Author SHA1 Message Date
Behdad Esfahbod
f2fc1ccd16 [varLib.axisPlanner] Fix sanitizeWidth() 2023-07-23 19:01:14 -06:00
Behdad Esfahbod
251d9f15a9 [varLib.avarPlanner] Plan slant (slnt) axis 2023-07-23 18:25:26 -06:00
Behdad Esfahbod
47c858a2f2 [varLib.avarPlanner] Add axis-limit sanitization 2023-07-23 17:42:06 -06:00
Behdad Esfahbod
4b736f5747 [varLib.avarPlanner] Add axis-limit sanitazation 2023-07-23 17:02:01 -06:00
Behdad Esfahbod
cdf33a67fc [varLib.avarPlanner] Add width axis planning 2023-07-23 16:45:53 -06:00
Behdad Esfahbod
887e45766a Start adding width axis planning 2023-07-23 15:47:03 -06:00
Behdad Esfahbod
da0c5be0e8 [varLib.avarPlanner] Allow specifying frequencies on the cmdline 2023-07-23 15:42:52 -06:00
Behdad Esfahbod
b860194235 [varLib.avarPlanner] Internal variable rename 2023-07-23 14:55:24 -06:00
Behdad Esfahbod
ac7753c338 [varLib.avarPlanner] Add --design-units 2023-07-23 13:53:26 -06:00
Behdad Esfahbod
1ce57444bb [varLib.avarPlanner] Handle fonts without wght axis 2023-07-23 13:08:40 -06:00
Behdad Esfahbod
4021f4fc4e [varLib.avarPlanner] Add --pins 2023-07-23 12:26:40 -06:00
Behdad Esfahbod
9cde7c53fe [varLib.avarPlanner] Support not saving any font 2023-07-23 11:37:14 -06:00
Behdad Esfahbod
d5a0a9756b [varLib.avarPlanner] Add -o,--output-file 2023-07-23 11:31:14 -06:00
Behdad Esfahbod
97fec8d6d4 [varLib.avarPlanner] Use glyphSetFunc argument 2023-07-23 11:17:01 -06:00
Behdad Esfahbod
8355b58e85 [varLib.avarPlanner] Use space-separate lists instead of comma 2023-07-23 11:12:26 -06:00
Behdad Esfahbod
700f69a559 [varLib.avarPlanner] Add --glyphs 2023-07-23 10:40:02 -06:00
Behdad Esfahbod
deb472c47f [varLib.avarPlanner] Add --weights 2023-07-23 10:29:59 -06:00
Behdad Esfahbod
758fbb7d74 [varLib.avarPlanner] Add --samples 2023-07-23 10:27:19 -06:00
Behdad Esfahbod
ffc1cd4801 [varLib.avarPlanner] Add __all__ 2023-07-23 10:23:39 -06:00
Behdad Esfahbod
3ad51d6339 [varLib.avarPlanner] Add addEmptyAvar 2023-07-23 10:19:35 -06:00
Behdad Esfahbod
6f7102021a [varLib.avarPlanner] Demote a couple messages to debug 2023-07-23 10:16:10 -06:00
Behdad Esfahbod
385dc84b1e [varLib.avarPlanner] Remove slntAxis for now
Will add back when implementing slant planning.
2023-07-23 10:08:09 -06:00
Behdad Esfahbod
43df0ae0a1 [varLib.avarPlanner] Fix creation of new avar table 2023-07-23 10:06:51 -06:00
Behdad Esfahbod
1a36440d3d [varLib.avarPlanner] A couple of error messages 2023-07-23 10:04:28 -06:00
Behdad Esfahbod
3662efc1e9 [varLib.avarPlanner] Write out designspace snippet 2023-07-23 09:53:20 -06:00
Behdad Esfahbod
5c1c192dac [varLib.avarPlanner] Add assertion 2023-07-23 09:45:58 -06:00
Behdad Esfahbod
023da81731 [varLib.avarPlanner] Add --plot 2023-07-23 09:44:07 -06:00
Behdad Esfahbod
a95c084355 [varLib.avarPlanner] Use proper logging 2023-07-23 09:30:54 -06:00
Behdad Esfahbod
3efd204a06 [varLib.avarPlanner] Comment out plotting 2023-07-23 09:18:44 -06:00
Behdad Esfahbod
805f459f56 [varLib.avarPlanner] Actually remove old avar 2023-07-23 09:01:42 -06:00
Behdad Esfahbod
ef91a236d2 Black 2023-07-22 23:13:36 -06:00
Behdad Esfahbod
e8caaf9955 [varLib.avarPlanner] Delete old avar before calculations
Ouch!
2023-07-22 23:07:48 -06:00
Behdad Esfahbod
2253722dfb [varLib.avarPlanner] Increase target widths 2023-07-22 22:32:10 -06:00
Behdad Esfahbod
a9fbeda24b [varLib.avarPlanner] Add library support for glyph frequencies
No cmdline support yet.
2023-07-22 22:04:18 -06:00
Behdad Esfahbod
7d05b896e6 [varLib.avarPlanner] Better blackness calculation
Consider glyph width.
2023-07-22 22:01:03 -06:00
Behdad Esfahbod
8557e535eb [varLib] Add avarPlanner 2023-07-22 21:59:01 -06:00
Behdad Esfahbod
b0cf3e1ebe [instancer] Allow null ConditionSet
Fixes https://github.com/fonttools/fonttools/issues/3211
2023-07-19 19:55:42 -06:00
Behdad Esfahbod
b14a29c353 [varLib.merger] Support sparse CursivePos
Part of https://github.com/fonttools/fonttools/issues/3168
2023-07-18 07:14:25 -06:00
Behdad Esfahbod
fb56e7b7c9
Merge pull request #3179 from fonttools/L4-fixes
L4 fixes
2023-07-11 10:47:59 -04:00
Behdad Esfahbod
0893ba93f8 [instancer/L4] Address review comments 2023-07-11 08:46:46 -06:00
Behdad Esfahbod
46086cdb66 [interpolatable] Add --glyphs 2023-06-27 16:59:05 -06:00
Behdad Esfahbod
71cca00b05 [instancer/L4] Remove an unreachable code path and better comment 2023-06-21 19:01:27 -06:00
Behdad Esfahbod
ddc484d384 [instancer/L4] Add a comment 2023-06-21 18:30:19 -06:00
Behdad Esfahbod
10bc7a804a [instancer/L4] Implement an optimization 2023-06-21 17:52:12 -06:00
Behdad Esfahbod
204532aee3 [instancer/L4] Misc fixes and fix tests 2023-06-21 15:09:56 -06:00
Behdad Esfahbod
43e5aae018 [instancer/L4] Fix avar mapping as well 2023-06-21 15:09:56 -06:00
Behdad Esfahbod
72b6102949 [instancer/L4] Fix normalizeValue for L4 solver
Imagine a font with current min/default/max of 100,700,1000. And new
setting of 100,400,1000. The current normalizeLocation will calculate
the new location for 700 to be +.33, whereas it should calculate +.5!
This is because 400 translates to -.5, so 700 will be normalized to
-1,-.5,+1 and get +.33...

We need a special normalizeLocation that is aware of the "distance"
between min/default/max, ie. the non-normalized values. Then it will be
clear that the distance from 400 to 700 is equal to 700 to 1000, and as
such 700 should be normalized to .5, not .33... I'm still trying to
figure out the case where avar is present.

Store this distance in NormalizeAxisLimit and reach it out in the
solver.

Fixes https://github.com/fonttools/fonttools/issues/3177
2023-06-21 15:09:56 -06:00
Behdad Esfahbod
94e081611c [instancer/L4] Further simplify
outGain is always zero in this branch.
2023-06-21 15:09:56 -06:00
Behdad Esfahbod
7385cbbc34 [instancer/L4] Simplify 2023-06-21 15:09:56 -06:00
Behdad Esfahbod
023ad3a363 [instancer/L4] Fix crossing calculation 2023-06-21 15:09:56 -06:00