1658 Commits

Author SHA1 Message Date
Behdad Esfahbod
132654c9e5 [varLib.avar] Comment 2024-08-30 08:46:50 -07:00
Behdad Esfahbod
2742c6287c [varLib.avar] Test & fix _pruneLocations 2024-08-30 08:46:50 -07:00
Behdad Esfahbod
700b6a7b0e [varLib.avar] Refactor code
So we can test it.
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
65ab19468d [varLib.avar] Comments and a bug fix
Code was in wrong block.
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
bd76b4a24b [varLib.avar] Handle default location mapping somewhere else 2024-08-30 08:46:50 -07:00
Behdad Esfahbod
34e38c3d03 [varLib.avar] Do less work
No need to compute outputLocation for unneeded inputLocations.
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
9f19a19c4e [varLib.avar] Introduce base master earlier 2024-08-30 08:46:50 -07:00
Behdad Esfahbod
b8306b1d82 [varLib.avar] Fix normalization
And see if I can make it deterministic. It still isn't.
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
cb031514ea [varLib.avar] Try dropping unnecessary "masters"
Untested, as I don't have a test font that exercises this.
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
e606adfffe [varLib.avar] Add peakLocation as well, oops 2024-08-30 08:46:50 -07:00
Behdad Esfahbod
0127a235af [varLib.avar] Don't require a full .designspace with sources 2024-08-30 08:46:50 -07:00
Behdad Esfahbod
297f73aeaf [varLib.avar] Err, don't drop empty pins
https://github.com/fonttools/fonttools/issues/3086#issuecomment-2263626285
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
40f6760e8a [varLib.avar] Don't clamp values
https://github.com/fonttools/fonttools/pull/3598#issuecomment-2266082009
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
150d4fc195 [varLib.avar] Sketch of code to reconstruct mappings from binary
https://github.com/Lorp/fencer/issues/25
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
0c2652011e [varLib.models] By default, assume OpenType-like normalized space
See:
https://github.com/fonttools/fonttools/pull/2846#issuecomment-2267750076

I *think* this is an improvement, and no one should have been relying
on the broken existing behavior.

Docs need updating.
2024-08-16 18:45:08 -06:00
Behdad Esfahbod
ead2a18d4b [varLib.interpolatable] Support discrete axes in .designspace
Fixes https://github.com/fonttools/fonttools/issues/3597
2024-08-16 12:14:30 -06:00
Behdad Esfahbod
45bd0637bd [varLib.interpolatable]
Fix master name formatting.

https://github.com/fonttools/fonttools/pull/3599#issuecomment-2269372640
2024-08-05 09:44:59 -06:00
Behdad Esfahbod
f916971913 [instancer] Fix output filename decision-making
All limits are tuples now when not None. The old logic was
broken and for the following command:

$ fonttools varLib.instancer  AdobeVFPrototype.otf CNTR=50:80 wght=900

it was saving the output with the name suffix `-instance`, whereas
it's clearly a partial instantiation. This fixes that.
2024-05-30 11:48:12 -06:00
Simon Cozens
a5a1573012 Revert "[instancer] Fix name decision-making"
This reverts commit 969d09dcafd3669753e30060ccca7e5fd4c356cd.
2024-05-30 14:36:45 +01:00
Khaled Hosny
eff90154ed [varLib.cff] Restore and deprecate convertCFFtoCFF2
It is used by ufo2ft.
2024-05-27 13:18:04 -07:00
Behdad Esfahbod
6c93fc6289 [instancer] Remove not about CFF2 not being supported 2024-05-27 14:16:57 -06:00
Behdad Esfahbod
c2cf6e6d04 [interpolatable] Avoid division-by-zero
Fixes https://github.com/fonttools/fonttools/issues/3533
2024-05-27 10:22:29 -06:00
Peter Dekkers
a531041f3e Ensure that scipy/numpy output is JSON-serializable 2024-05-24 14:57:40 -07:00
Behdad Esfahbod
a1641d91b2 Newer black 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
9f66edb0d1 [varLib.models] Add validate=False to normalizeLocation 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
e88e47f8ff [VARC] Take a stab at instancing 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
902b2a194e [VARC] Fix scaleUpem
Instancing left.
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
a7ca67ada8 [VARC] Update subsetting 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
42a5fbdfdd [VARC] Redesign table
No spec yet. For results see:

https://github.com/harfbuzz/boring-expansion-spec/issues/103#issuecomment-1863533305
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
c91984ef77 [VARC] Use sparse-regions in MultiVarStore
Might revert as the savings are small.
https://github.com/harfbuzz/boring-expansion-spec/issues/103#issuecomment-1861531669
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
a958c68d79 [VARC] Simplify TupleValues
Move it to a converter instead of a class.
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
45f7f4f70f Try fixing Python < 3.12 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
2b09b0da8a Black 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
0f0148e54a [VARC/scaleUpem] Implement 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
2ca627dc5b [VARC/instancer] Fix 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
57dd288d1b [VARC/instancer] Comment 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
27e5182677 [VARC/instancer] Implement 2024-05-22 18:46:01 -06:00
Behdad Esfahbod
5c278464e0 [subset/VARC] Subset MultiVarStore 2024-05-22 18:45:28 -06:00
Behdad Esfahbod
c50a0f6195 [VARC] Rename a type 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
4b6c574d54 [VARC] More towards drawing 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
0e52857ffe [VARC] Start drawing VARC glyphs 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
bcd5e4c216 Rip out glyf1 VarComposites
In favor of separate VARC table.

ttGlyphSet does NOT yet know how to draw VARC table though.

The 9 failing tests are all VarComposite-related and need
to be updated with VARC equivalents eventually when we
add VARC support to subsetter and instancer.
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
ec78b572c9 [MultiVarStore] Fix up XML read/write
Looks complete now.
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
5fe9da49f3 [MultiVarStore] Fix caching 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
6bcab786a1 [varStore] Fix caching when setModel() is called repeatedly 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
0e9eff8990 Add MultiVarStore 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
b7ab1d8c12 [varStore] Fix overflow logic 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
a8005130cc [varStore] Cache individual items in store*Many() 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
6f4feffa11 [varStore] Add storeMastersMany / storeDeltasMany 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
5dca3c5a50 [instancer] Warn about missing VORG support 2024-05-17 12:44:29 -07:00