2216 Commits

Author SHA1 Message Date
Behdad Esfahbod
5b2df6b90b [VARC] Compute flags from XML transform components 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
037bbe1030 [VARC] Load axisValues as float
https://github.com/fonttools/fonttools/pull/3395#issuecomment-1897696665
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
5ad4045cec [VarComponent] Nicer XML output
https://github.com/fonttools/fonttools/pull/3395#issuecomment-1895944021
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
e3ba7a7e0b [lazyTools] Simplify based on review feedback 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
87ddb244ea [otBase] Add comment based on review feedback 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
d6482c9b32 [VARC] Rename VarInt32 to uint32var 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
b1142b60cb [VARC] Adjust to latest flags change 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
297e0bd257 [VARC] Use var-int encoding for AxisIndicesIndex
Slightly larger fonts, but more consistency, and freed
a flag bit.
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
6a09096800 [VARC] Use variable-length encoding for VarIdx'es 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
c3dfe10cce [VARC] Use TupleVariations tuple encoding for axisValues
Free improvement.
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
735859f929 [VARC] Implement XML read/write 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
cfc66a3a82 [VARC] Simplify VarCompositeRecord 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
668a40da38 [VARC] Pivot on design again
Just store the AxisIndices in a shared list.
Don't explicitly store numAxes.
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
bfb8490947 [VARC] Apparently __iadd__ is optional 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
6af1d5c555 Fix RESERVED 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
58bb96be91 [VARC] Use a DeltaSetIndexMap 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
d37b3942ee [VARC] Encode indices as 1,2,3,4 bytes long
Previously it was 2 or 4.
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
263d4d9a68 Handle scaleY 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
cd1513923b [VARC] Minor 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
d07d960c75 Fix RESERVED 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
f7337b55af [VARC] Make HAVE_VARIATIONS flag automatic 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
b772f1d686 Reuse a variable 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
76d293ec05 [VARC] Simplify reading 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
822351f12d [VARC] Minor rename 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
43e054b377 [VARC] Minor 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
2229607dd1 Black 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
8ea97657de [VARC] Fix copilot mistake in decompile
Ouch!
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
f73d6f2a6f [VARC] Fixups 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
9cc3689fb1 [VARC] Towards drawing new design 2024-05-22 18:46:06 -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
232d9cf047 [VARC/scaleUpem] Remove early return 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
93fe24050b [scaleUpem] Comment 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
0f0148e54a [VARC/scaleUpem] Implement 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
febbb34dba [CFF2Index] Avoid infinite loop visitor by hiding symbol 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
2056577614 [VARC/scaleUpem] Start 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
28520553f3 [VARC] Allow drawing same-name glyph 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
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