268 Commits

Author SHA1 Message Date
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
Behdad Esfahbod
24e368349f [glyf/VarComponent] Fix use of .location 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
48dafdb351 [glyf/VarComponent] Use .location 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
5d5569d77a [glyf/VarComponent] Fix fromXML 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
4dcbed503a [glyf] Black 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
f84d0845cd [glyf/VarComponent] Implement compile() 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
fb170aadfb [glyf/VarComponent] Implement fromXML 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
76802fbd92 [glyf/VarComponent] Scale rotation values 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
828a407846 [glyf/VarComponent] Add toXML 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
aba64ea402 [glyf] Remove copy/pasted unimplemented VarComponent code 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
86420d1150 [gvar] Decompile VarComposite glyph 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
483013be69 [glyf] Decompile VarComponent 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
de6eee7373 [glyf] Hook up VarComposite in a few places
Unimplemented functions.
2023-01-30 11:26:20 -07:00
Behdad Esfahbod
0f3b7b5b99 [glyf] Add isVarComposite() 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
796cfe750a [glyf] Remove __getitem__
This used to iterate over components. Pretty weird choice.
2023-01-30 11:26:20 -07:00
Behdad Esfahbod
f651809ac5 [glyf] endPointsOfContours is unsigned 2023-01-17 09:12:49 -07:00
Nikolaus Waxweiler
d584daa8fd Blacken code 2022-12-13 11:26:36 +00:00
Behdad Esfahbod
3d2fa8a342 [glyf] Return component transform as part of control data
This makes sure that when we are building variable fonts, we
check that all masters have the same component transform in
composite glyphs.  We were not checking for this before.
2022-10-20 11:05:08 -06:00