224 Commits

Author SHA1 Message Date
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
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
6af1d5c555 Fix RESERVED 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
76d293ec05 [VARC] Simplify reading 2024-05-22 18:46:06 -06:00
Behdad Esfahbod
43e054b377 [VARC] Minor 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
a958c68d79 [VARC] Simplify TupleValues
Move it to a converter instead of a class.
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
c50a0f6195 [VARC] Rename a type 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
950d39b9d3 [VARC] Finish drawing! 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
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
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
1a1e9e198b [VARC] Use one varIndexBase only 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
aad01a9d85 [VARC] Towards XML 2024-05-22 18:45:27 -06:00
Behdad Esfahbod
ef6903e097 [VARC] Start
Based on https://github.com/harfbuzz/boring-expansion-spec/issues/103#issuecomment-1856325577
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
6e0acc9e4b Add a couple of __getitem__'s 2024-04-02 10:38:36 -06:00
Cosimo Lupo
f96b2128a1
[feaLib] keep declaration order of ligatures within ligature set
Fixes #3428
2024-01-24 12:59:00 +00:00
Cosimo Lupo
335a1e56ec re-run black v23.10 on all .py files 2023-11-03 10:25:15 +00:00
Behdad Esfahbod
4ccbcf3eb3 [COLR] Fix thinko 2023-08-03 17:56:38 -06:00
Cosimo Lupo
580e3b3b50
otTables: forgot to actually import TTLibError ugh 2023-03-10 19:22:58 +00:00
Cosimo Lupo
c15e77cbc9
ot-spec says skewX angle should be counter-clockwise so we must negate
Transform.skew method assumes skewX angle goes clockwise.

verified using test_glyphs-glyf_colr_1.ttf test font from googlefonts/color-fonts repo.
Will add that to the tests.
2023-03-10 13:16:05 +00:00
Cosimo Lupo
55cc41a24e
[otTables] implement Paint.getTransform, Paint.computeClipBox & COLR.computeClipBoxes
This for now only works for static COLR table, not variable.
2023-03-10 13:16:04 +00:00
Cosimo Lupo
17f431b9c2
[otTables] switch to generic table traversal for Paint.traverse 2023-03-08 19:19:50 +00:00
Nikolaus Waxweiler
d584daa8fd Blacken code 2022-12-13 11:26:36 +00:00
Cosimo Lupo
fae63959a9 otTables: add class attributes to link Var{Table} <-> {Table}
so one can go from Affine2x3 <-> VarAffine2x3 and similar types that have an associated Var{Type}
2022-06-21 17:27:12 +01:00
Cosimo Lupo
fa54b0fd62 otTables: add methods to Format enums to query the variable variants 2022-06-21 17:27:12 +01:00
Cosimo Lupo
676a66fad3 otTables: make DeltaSetIndexMap TTX dump less verbose by omitting no-op entries
though we still emit the empty <Map index=.../> elements; they help identify chunks of delta-set indices, and define the length of the array upon loading from XML
2022-06-21 17:27:11 +01:00
Cosimo Lupo
d190a7c206 otTables: no need get LayerRecordCount by name, we already have it in scope
Fixes #2468
2021-12-13 11:17:08 +00:00
Simon Cozens
fa0eae6658 Don’t put extension lookups into an extension lookup, obviously 2021-12-08 09:02:24 -07:00
Simon Cozens
f7b866573b Speculatively promote lookups to extension 2021-12-08 09:02:24 -07:00
Rod S
7dd3488732 Traverse when there is no layer list 2021-11-06 14:26:27 -07:00
Behdad Esfahbod
e5bf2a7f1a [ttFont] Apply review comments 2021-08-22 04:09:29 -06:00
Behdad Esfahbod
7a22c0fb07 [ttFont] Add getGlyphIDMany(); use in otLayout
Fixes https://github.com/fonttools/fonttools/issues/1536
Superced https://github.com/fonttools/fonttools/pull/1654

Part of https://github.com/fonttools/fonttools/pull/2398
2021-08-21 11:23:11 -06:00