1720 Commits

Author SHA1 Message Date
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
Cosimo Lupo
d9f9acd5c2
copy OTTableReader before copying/pickling lazily loaded table
Fixes https://github.com/fonttools/fonttools/issues/2965
2023-01-26 16:52:13 +00:00
PoomSmart
795ddb8ccb Fixed linting 2023-01-23 09:22:38 +07:00
PoomSmart
eed57de422 Fixed indentation 2023-01-22 22:59:57 +07:00
Thatchapon Unprasert
9ad2b91f7d
Handle glyphs with dupe graphic type on compile correctly
Instead of appending glyph raw data with `imageData` for `graphicType=dupe` which will always be `NoneType`, append with the reference glyph ID.
2023-01-22 22:53:37 +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
6aca5be9b7 [gvar] Don't expand glyph for unused pointCount
Keep it in the API though.
2022-12-09 11:39:07 -07:00
Behdad Esfahbod
96de954d29 [gvar] Don't expand glyph during decompile if no variation data 2022-12-07 21:34:36 -07:00
Behdad Esfahbod
3a258573af [gvar] Avoid decompiling glyphs that don't have variations 2022-12-07 14:50:15 -07:00
Cosimo Lupo
6389385813
Merge branch 'main' into avar2 2022-10-28 16:38:33 -07:00
Behdad Esfahbod
027de814e2 [subset/SVG] Speed up
Subsetting NotoColorEmojiSvg for one glyph.

Before: 280ms
After: 80ms

Fixes https://github.com/fonttools/fonttools/issues/2360
2022-10-26 14:06:35 -06:00
Cosimo Lupo
40b2473a48
Merge pull request #2728 from fonttools/instancer-l4
[instancer] Towards L4 instancing
2022-10-21 16:39:09 +01: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
Behdad Esfahbod
5ff9546531 [TupleVariation] Add __imul__ 2022-10-13 10:35:02 -06:00
Cosimo Lupo
36de9df3cc [gvar] be non lazy for TTFont.lazy=False, add ensureDecompiled
like cmap, or glyf or OTL tables, we need to respect lazy=False flag and decompile everything upfront, also we want to add an ensureDecompiled method (called by TTFont.ensureDecompiled) to allow loading everything in one go even when a font had been opened lazily.
2022-08-31 11:10:50 +01:00
Just van Rossum
a32a92e6d7 add custom __init__ in favor of setting .data externally 2022-08-26 10:53:32 -06:00
Just van Rossum
a0af5727e1 Use UserDict for lazy gar variations dict; alternative for #2779 2022-08-26 10:53:32 -06:00
Just van Rossum
0637b24b2a Read gvar more lazily by not parsing all of the 'glyf' table 2022-08-24 16:38:00 +02:00
Behdad Esfahbod
46e2d07f8b [kern] More work handling large kern tables
Fixes https://github.com/fonttools/fonttools/issues/2335
2022-08-20 11:09:36 -06:00
Behdad Esfahbod
d21cfdede5 [kern] Allow compiling kern tables with more than 64k entries
Fixes https://github.com/fonttools/fonttools/issues/2397
2022-08-20 11:03:11 -06:00
Behdad Esfahbod
376caff386
Merge pull request #2718 from fonttools/visitor
Add fontTools.misc.visitor, fontTools.ttLib.ttVisitor, ttLib.scaleUpem, Snippets/print-json.py
2022-08-18 06:12:19 -06:00
Behdad Esfahbod
2a15c450a4 [EBDT/EBLC] Make them work with TTVisitor 2022-08-18 06:10:52 -06:00
Behdad Esfahbod
2a8f408b31 Fix signature of ensureDecompiled() 2022-08-17 14:27:47 -06:00
Behdad Esfahbod
9b0d0e7b56 [visitor] ensureDecompiled(recurse=False) 2022-08-15 12:09:26 -06:00
Cosimo Lupo
1dffbae240 support proposed PaintSweepGradient's angles with +1.0 (180°) bias
In the upcoming draft of COLR spec, PaintSweepGradient's startAngle/endAngle are encoded with a +1.0 bias to allow for representation of a full +360° positive angle. Normal F2Dot14-fraction-of-half-circle angles can only represent angles between -360 <= angle < +360

This is a breaking change and will need to be coordinated with rendering implementations (at least FreeType/Skia).
2022-08-15 12:52:28 +02:00
Behdad Esfahbod
9ebebcba6d [gvar] Minor simplify 2022-08-14 12:07:54 -06:00
Behdad Esfahbod
260564a1e3
Lazy gvar (#2741)
* [gvar] Load variations lazily

Fixes https://github.com/fonttools/fonttools/issues/2740
2022-08-14 11:54:35 -06:00
Garret Rieger
a33972da62 Use new uharfbuzz repack_with_tag if available. 2022-07-29 21:48:25 +00:00
Behdad Esfahbod
5e5922ee04 [avar2] Misc fixes to actually compile avar2 2022-07-23 12:26:38 -06:00
Behdad Esfahbod
058af5e8ca [avar] Add avar2 fields 2022-07-22 13:15:09 -06:00
Behdad Esfahbod
8e013d9406 [avar] WIP Move avar to otData 2022-07-22 13:15:09 -06:00
Cosimo Lupo
32aa8eafcb [otBase] fix AttributeError when uharfbuzz < 0.23.0 and 'repack' missing
Fixes #2671
2022-07-19 14:46:50 +02:00
Cosimo Lupo
2a07518b70
Merge pull request #2660 from fonttools/variable-colr
[varLib] add support for building variable COLR from set of master COLRv1 tables
2022-07-06 10:55:50 +01:00