2082 Commits

Author SHA1 Message Date
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
a2ff670c43 [VarComposite] Adjust for RESET_UNSPECIFIED_AXES semantic change
https://github.com/harfbuzz/boring-expansion-spec/issues/81
2023-02-06 12:06:14 -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
Just van Rossum
fe6f5bd143 [ttGlyphSet] Must deep copy var components when instantiating 2023-02-03 23:13:41 +01:00
Behdad Esfahbod
fcc4f379fb [ttGlyphSet] Don't apply lsb-xMin shift to components
This matches HarfBuzz, FreeType, and Windows.

Fixes https://github.com/fonttools/fonttools/issues/2981
2023-02-03 13:55:31 -07:00
Behdad Esfahbod
e374af919d [ttGlyphSet] Only decompose VarComposites on AttributeError
Keep NotImplementedError for clients to really say don't want it.
2023-02-03 13:35:09 -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
249d9248eb [ttGlyphSet/VarComposite] Accept AttributeError as well 2023-02-03 08:59:32 -07:00
Behdad Esfahbod
4ce383f167 [ttGlyphSet] Consolidate two branches 2023-02-03 08:58:16 -07:00
Just van Rossum
bc19f42c0f [ttGlyphSet] fix indentation so it works for point pens, too 2023-02-03 16:36:40 +01:00
Behdad Esfahbod
69966aa5d7 [BasePen] Add addVarComponent() 2023-02-02 15:25:09 -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
05da0ac1b5 [VarComposites] Handle missing transform attributes during drawing 2023-02-02 11:28:36 -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
69d56c3104 [VarComposite] Use math.radians as per review 2023-02-02 10:58:58 -07:00
Behdad Esfahbod
f3f50393a8 [ttGlyph] Adjust contextmanager pattern 2023-02-02 10:52:31 -07:00
Behdad Esfahbod
0e9efae0d5 [VarComposite] Use contextmanager as per review 2023-02-01 14:17:24 -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
6755acceee [woff2] Add fvar to glyf dependencies
Since the VarComposites added fvar to glyf dependencies in ttLib.

Add test for VarComposite to woff2 tests.
2023-01-31 12:46:17 -07:00
Behdad Esfahbod
7db21cd197 [VarComposite] Link to spec 2023-01-31 11:30:47 -07:00
Behdad Esfahbod
63d355e37d [Tests/ttGlyphSet/VarComposite] Add test
And a bugfix.
2023-01-30 11:26:21 -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
be4450dcda [woff2] Support VarComposites 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
30fec2add4 [scaleUpem] Simplify glyf scaling 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
69a9978177 [scaleUpem] Fix glyf table scaling 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
2900eabe10 [scaleUpem/VarComposites] Implement gvar scaling 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
6846a217ab [scaleUpem/VarComposite] Raise NotImplementedError 2023-01-30 11:26:20 -07:00
Behdad Esfahbod
303fdcbcec [scaleUpem/VarComposite] Implement glyf and add gvar TODO 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
3b19719c5a [ttGlyphSet/VarComposite] Fixups
Renders fine now.
2023-01-30 11:26:20 -07:00