2215 Commits

Author SHA1 Message Date
Jens Kutilek
f1a75bacb2
Handle string input to Program.fromAssembly() (#3038)
* Add tests for fromAssembly() output (#3036)
* Handle string input to fromAssembly() (Fixes #3036)
* Fixups suggested by @anthrotype
* Add some more typing annotations
* Program.assembly always returns List[str] now
* Add annotation for bytecode
* Move code from setter to fromAssembly
* Remove property
* Fix attribute names
2023-03-14 14:51:16 +01:00
Cosimo Lupo
580e3b3b50
otTables: forgot to actually import TTLibError ugh 2023-03-10 19:22:58 +00:00
Behdad Esfahbod
85036d5d83 [avar2] Revert unneeded change to VarIdxMap
We don't use VarIdxMap anymore.
2023-03-10 11:36:31 -07:00
Cosimo Lupo
3c9aa76893
Merge pull request #3027 from fonttools/colr-clipboxes
[COLRv1] Add method to automatically compute ClipBoxes, w/ optional quantization
2023-03-10 15:43:35 +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
217742cc44
Merge pull request #3032 from fonttools/getGlyphID-KeyError
ttFont.getGlyphID should raise KeyError on missing glyphs
2023-03-10 12:11:33 +00:00
Cosimo Lupo
b137fd9616
ttFont: raise KeyError from getGlyphID instead of returning None
Fixes #3030
2023-03-10 11:38:55 +00:00
Guillaume Ayoub
b2c75bede4 Fix glyph compilation code 2023-03-10 11:34:16 +01:00
Behdad Esfahbod
e9e55b29f7 chmod otData.py 2023-03-08 13:19:51 -07: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
b6acb83920 [avar2] Fix fromXML a bit 2023-03-08 11:44:23 -07:00
Behdad Esfahbod
90dd0685a4 [avar] black 2023-03-08 11:24:26 -07:00
Behdad Esfahbod
43b16df8db [avar] Update test expectations 2023-03-08 11:10:07 -07:00
Behdad Esfahbod
6c35a5b65c [avar2] Always set Version during compile 2023-03-08 11:04:52 -07:00
Behdad Esfahbod
06c725388a [avar] Fix a few tests 2023-03-08 11:02:52 -07:00
Behdad Esfahbod
564dddced2 [avar2] Fix fromXML crash 2023-03-08 10:56:45 -07:00
Behdad Esfahbod
c8d32f2bb1 [avar2] Use DeltaSetIndexMap instead of VarIdxMap 2023-03-08 10:56:07 -07:00
Behdad Esfahbod
8dfad13288 [avar2] Implement toXML 2023-03-08 09:48:32 -07:00
Behdad Esfahbod
2b5686205e [avar] Support previous API in compile/decompile
Using the otData mechanism with handcoded shim.
2023-03-08 09:29:58 -07:00
Behdad Esfahbod
fd822a2602 Merge branch 'main' into avar2 2023-03-07 11:21:20 -07:00
Behdad Esfahbod
6ba1302ce4 black 2023-03-07 11:19:22 -07:00
Behdad Esfahbod
501353f3df [VarComposites] Flag rename 2023-03-06 13:10:09 -07:00
Cosimo Lupo
15b450e4a6
[ttx] support reading font/xml file from standard input as '-'
Fixes https://github.com/fonttools/fonttools/issues/3019
2023-03-03 14:13:06 +00: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
9e40409094 [woff2] Support cubic curves as untransformed glyph table 2023-02-21 13:01:49 -07: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
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