1613 Commits

Author SHA1 Message Date
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
Cosimo Lupo
7433c5dbb9
[otTraverse] allow to use custom callback to iterate over subtables 2023-03-08 19:13:48 +00:00
Behdad Esfahbod
501353f3df [VarComposites] Flag rename 2023-03-06 13:10:09 -07:00
Nikolaus Waxweiler
54d6aaffb6 Guard against a ZeroDivisonError
The code was copied from ufo2ft.
2023-03-01 19:52:43 +00:00
Johannes Neumeier
29f980135a Clean up and NotImplemented as proper return value 2023-02-27 09:31:13 +02:00
Johannes Neumeier
f52b3da721 Make NameRecord comparison not fail on encoding errors #3006 2023-02-24 15:58:53 +02:00
Behdad Esfahbod
568dd0c5d4 [glyf] Support and test cubic spline 2023-02-21 13:01:49 -07:00
Behdad Esfahbod
2d98427c99 [fvar] Black 2023-02-21 13:01:49 -07:00
Behdad Esfahbod
0a0b152c33 [glyf] Support, and add test for, all-offcurve cubic contour 2023-02-21 13:01:49 -07:00
Behdad Esfahbod
77e96bdcd9 [glyf_test] Add cubic test 2023-02-21 13:01:49 -07:00
Behdad Esfahbod
82e0536beb [glyf] Support cubic curves
https://github.com/harfbuzz/boring-expansion-spec/issues/41
2023-02-21 13:01:49 -07:00
Behdad Esfahbod
58bc16e58f
Merge pull request #2958 from fonttools/varc
VarComposites
2023-02-07 10:28:00 -07:00
Behdad Esfahbod
54a19c6b70 [VarComposite] Magic-number hygiene 2023-02-06 11:22:24 -07:00
Behdad Esfahbod
4c201b9a42 [glyf/VarComposite] Implement padding trimming 2023-02-06 11:00:05 -07:00
Behdad Esfahbod
3af9bb5976 [VarComposite] Add message to exception 2023-02-06 10:35:59 -07:00
Thatchapon Unprasert
c1509a30c4
Ensure sbix's Glyph.referenceGlyphName is set 2023-02-06 21:31:13 +07:00
Behdad Esfahbod
07bc09fb0c [VarComposites] Another fix after transform change 2023-02-04 11:48:42 -07:00
Behdad Esfahbod
51d7524a23 Revert "[ttGlyphSet] Must deep copy var components when instantiating"
This reverts commit fe6f5bd14386d0a1f546d079f1ec38e4d2414fbf.

Better fix.
2023-02-03 15:22:10 -07:00
Behdad Esfahbod
a14a02ecc2 [glyf] Fix VarComposite compile for .transform change
Ouch!
2023-02-03 13:19:37 -07:00
Behdad Esfahbod
8e981a1b28 [transform] Change the DecomposedTransform skewX sign to match Transform
Unfortunate but for consistency's sake.

This deviates from VarComposite convention.

https://github.com/fonttools/fonttools/pull/2958#issuecomment-1416155600
2023-02-03 10:23:23 -07:00
Behdad Esfahbod
2e20e47473 [transform] Rename VarTransform to DecomposedTransform 2023-02-03 09:05:55 -07:00
Behdad Esfahbod
59418656a4 [VarComposite] Add VarTransform and use 2023-02-02 14:50:26 -07:00
Behdad Esfahbod
68774ac0e6 [VarComposites] Simplify a loop as per review 2023-02-02 11:30:30 -07:00
Behdad Esfahbod
aa2e29f05f [VarComposite] Rename as per review 2023-02-02 11:00:45 -07:00
Behdad Esfahbod
700a8b36f6 [glyf] Remove leftover 2023-02-02 10:59:51 -07:00
Behdad Esfahbod
f205ba0f6c
Update Lib/fontTools/ttLib/tables/_g_l_y_f.py
Co-authored-by: Just van Rossum <justvanrossum@gmail.com>
2023-02-01 13:22:08 -07:00
Behdad Esfahbod
7db21cd197 [VarComposite] Link to spec 2023-01-31 11:30:47 -07:00
Behdad Esfahbod
4310512f07 [ttGlyphSet/VarComposite] Add VarComponentFlags.RESET_UNSPECIFIED_AXES 2023-01-30 11:26:21 -07:00
Behdad Esfahbod
8ac23b2209 [VarComposite/compile] Better flags computation 2023-01-30 11:26:21 -07:00
Behdad Esfahbod
38bbbf7fbc [VarComposites/compile] Better uniform-scale check 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
d8f6d0c6af [ttx/VarComposite] Limit fractional bits when reading/writing 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
e0a6bdf79e [glyf/VarComposites] raise NotImplementedError in getCoordinates 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
9475dccbea [glyf/VarComposites] Hook up setCoordinates() 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
68682aa833 [glyf/VarComposites] Allow in maxp function 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
d32650b58d [glyf/VarComposite] Implement subsetting 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
baf302d0cf [glyf/VarComposite] Add a NotImplementedError 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
792ebb7a35 [glyf/VarComposite] Adjust UNIFORM_SCALE 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
a80f21fa23 [glyf/VarComposite] Automatically handle UNIFORM_SCALE 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
ee4437adf0 [glyf/VarComposite] Comment 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
f2c0b25f4c [glyf/VarComponent] Missing line 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
1c8741a2ca [glyf/VarComponent] Add setCoordinates 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
8a2e918bae [glyf] Black 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
dbecf6dc02 [glyf/VarComponent] Move code around 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
817362a049 [glyf/VarComponent] Fix control data 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
1d39fa03ab [glyf] Handle case of missing fvar table 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
621767dbee [glyf/VarComponent] Use axis tags for location 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
32fa4df276 [glyf/VarComponent] Calculate flags at compile() if missing 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
094a08a3bf [glyf] Remove fvar dependency again
Can't use it since Glyph.expand() API does not take font.
2023-01-30 11:26:20 -07:00
Behdad Esfahbod
40adc5760a [glyf/VarComponent] More towards getCoordinates 2023-01-30 11:26:20 -07:00