11869 Commits

Author SHA1 Message Date
Behdad Esfahbod
ce3e260955 [VARC/test] Update the rest of the test expectations
We're using a different font for varc-ac00-ac01...
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
28385ec07e [VARC/test] Adjust test
This subset font is from a different source and has
different glyphs.
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
22e02ccb47 [VARC/test] Adjust a test
This worked with the previous font it seems, but not with
the new font. Or maybe I've screwed up something...
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
2ca627dc5b [VARC/instancer] Fix 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
ebd877bbcb [VARC/test] Start adding 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
3c60c0ea35 [VARC/subset] Fix closure
Was closing over everything.
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
57dd288d1b [VARC/instancer] Comment 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
38d190a3cc Black 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
272f73632a [VARC] Fix instanciating component 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
f37f2e4a03 [subset] Close over MATH before GSUB
I *think* that's the correct way.
2024-05-22 18:45:28 -06:00
Behdad Esfahbod
15141589ff [subset] Support VARC
We don't prune the MultiVarStore currently. :(
2024-05-22 18:45:28 -06:00
Behdad Esfahbod
42d6b6b4fe [svgPen] Write two digits after decimal by default 2024-05-22 18:45:28 -06:00
Behdad Esfahbod
44a32f8a2a Minor refactor 2024-05-22 18:45:28 -06:00
Behdad Esfahbod
4db90f588e [loca] Minor speedup 2024-05-22 18:45:28 -06:00
Behdad Esfahbod
0a7993998d Revert "[glyf] Load using LazyDict"
This reverts commit b493729eff954909672694b67a453964f33ac893.
2024-05-22 18:45:28 -06:00
Behdad Esfahbod
cae76d540a [glyf] Load using LazyDict
Going to revert. No speedup since glyphs are loaded lazy
anyway.  And one test fails I have no idea why:

Tests/ttLib/woff2_test.py::WOFF2GlyfTableTest::test_reconstruct_glyf_padded_4
2024-05-22 18:45:28 -06:00
Behdad Esfahbod
3ff2ee61e1 Move lazy datastructures to misc.lazyTools 2024-05-22 18:45:28 -06:00
Behdad Esfahbod
3806fd2558 Move a couple of functions outline 2024-05-22 18:45:28 -06:00
Behdad Esfahbod
7471ac6d4d [gvar] Speed up loading by not reading all offsets 2024-05-22 18:45:28 -06:00
Behdad Esfahbod
61916c1034 [gvar] Speed up loading a bit
More to come.
2024-05-22 18:45:28 -06:00
Behdad Esfahbod
7de1306d92 [CFF2Index] Make even faster
Load offsets on-demand as well.
2024-05-22 18:45:28 -06:00
Behdad Esfahbod
feb6820d03 [_LazyList] Make much faster 2024-05-22 18:45:28 -06:00
Behdad Esfahbod
450c8f1581 [CFF2Index] Make loading lazy
Still too slow, but much faster.
2024-05-22 18:45:28 -06:00
Behdad Esfahbod
5faf139417 [CFF2Index] Minor massage 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
c952237ed3 [otConverters] Make _LazyList generic 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
c50a0f6195 [VARC] Rename a type 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
e22953e807 Black 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
950d39b9d3 [VARC] Finish drawing! 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
bbad70ef8a [VARC] bool(Vector) is useless... :( 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
c69fd12251 [VARC] Move code around 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
68277fc0b5 [TupleVariation] Fix 32bit reading / writing 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
8cce745d90 [TupleVariation] Assert message 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
a30ebf0a2f Revert "Remove some more remnants of VarComposites in ttGlyphSet"
This reverts commit 98d30dcf45e71b4352d9bfe2fee6ce4bfa198248.
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
e9551c483a Remove some more remnants of VarComposites in ttGlyphSet
Going to re-add for VARC table.
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
c78ba01c80 [VarCompositeGlyph] Use two varIdxes per component
Seems to save space now with MultiVarStore.
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
b4d3fc54b2 [TupleVariation] Support 32bit encoding in delta-encoding
Uses an used combination of top two bits.
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
02c6a94529 [VARC] Use TupleVariation value encoding 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
1a1e9e198b [VARC] Use one varIndexBase only 2024-05-22 18:45:27 -06:00