217 Commits

Author SHA1 Message Date
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
Behdad Esfahbod
3ec769907b [ttFont] Add getGlyphNameMany()
Part of fixing https://github.com/fonttools/fonttools/pull/1654
Related https://github.com/fonttools/fonttools/issues/2334
2021-08-20 16:17:48 -06:00
Behdad Esfahbod
d0d082e76e [otTables] Allow virtual GIDs in Coverage/ClassDef reader
Fixes https://github.com/fonttools/fonttools/issues/2334#issuecomment-901885598
2021-08-20 09:59:46 -06:00
Khaled Hosny
232b2ccbc4 Move the rest of py23 module to textTools
Change all imports to use textTools module, except the test_py23.py test
which is kept until we decide to remove the module (if ever).
2021-08-20 01:29:45 +02:00
Cosimo Lupo
d025bb8ba7 fix NameError while decompiling ClipList
when range references a missing glyph ID, the loop must continue
2021-08-09 11:30:00 +02:00
Cosimo Lupo
9f7a4ea3e7 otTables: fix CompositeMode enum missing PLUS mode
Our enumeration of CompositeMode was missing one COMPOSITE_PLUS mode (12)...

see 'PaintComposite' paragraph in https://github.com/googlefonts/colr-gradients-spec/blob/main/OFF_AMD2_WD.md
2021-08-09 11:27:46 +02:00
Cosimo Lupo
800bf85b2f add ClipList.Format so we can bump when we finally get >16bit GIDs
https://github.com/googlefonts/colr-gradients-spec/issues/346
2021-07-29 15:35:08 +02:00
Cosimo Lupo
9876f3c5c0 address review comments 2021-07-29 15:06:16 +02:00