Behdad Esfahbod
86c5aa859b
[scaleUpem] Make it show in fonttools --help
2022-08-18 07:38:46 -06:00
Behdad Esfahbod
c20582b5e5
[scaleUpem] Add comments
2022-08-18 07:20:55 -06:00
Behdad Esfahbod
64627c2299
[scaleUpem] Support MATH table
2022-08-18 07:19:39 -06:00
Behdad Esfahbod
c43f234a4d
[scaleUpem] Support VORG table
2022-08-18 07:17:49 -06:00
Behdad Esfahbod
0c6b67e8ec
[scaleUpem] Optimize COLRv1 scale paint
...
032ff5620a
2022-08-18 07:05:34 -06:00
Behdad Esfahbod
1aff3e8fa2
[scaleUpem] Support post
table
2022-08-18 06:20:33 -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
18d2d9f6c9
[scaleUpem] Update docstring
2022-08-18 06:00:16 -06:00
Behdad Esfahbod
032ff5620a
[scaleUpem] Support COLRv1
2022-08-18 05:54:26 -06:00
Behdad Esfahbod
b661125c1a
[scaleUpem] Support BASE table
2022-08-18 05:23:08 -06:00
Behdad Esfahbod
0268f7a67b
[scaleUpem] Move to ttLib
2022-08-18 05:08:40 -06:00
Behdad Esfahbod
2a8f408b31
Fix signature of ensureDecompiled()
2022-08-17 14:27:47 -06:00
Behdad Esfahbod
33b07c757a
[ttVisitor] Add comment
2022-08-17 14:20:36 -06:00
Behdad Esfahbod
6af0637e02
[ttVisitor] Pass arbitrary args
2022-08-15 17:08:16 -06:00
Behdad Esfahbod
8213c58a38
[visitor] Don't recurse on private or TTFont attributes
2022-08-15 13:43:03 -06:00
Behdad Esfahbod
f582469cb8
[visitor] Split TTVisitor into its own module
2022-08-15 13:01:46 -06:00
Behdad Esfahbod
9b0d0e7b56
[visitor] ensureDecompiled(recurse=False)
2022-08-15 12:09:26 -06:00
Behdad Esfahbod
41e6f60011
Merge pull request #2738 from fonttools/glyphset
...
TTVarGlyphset
2022-08-15 11:07:41 -06:00
Behdad Esfahbod
dc99ab6b3f
[ttGlyphSet] Address review comments
2022-08-15 11:06:51 -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
87deecebe2
[ttFont] Add "recurse" argument to ensureDecompiled()
2022-08-14 14:42:21 -06:00
Behdad Esfahbod
226761c8ed
[ttVarGlyphSet] Set glyph height
...
Untested
2022-08-14 12:08:12 -06:00
Behdad Esfahbod
617e6ff3c7
[ttVarGlyphSet] Implement 'avar' mapping
2022-08-14 12:08:12 -06:00
Behdad Esfahbod
37277ee86e
[glyphSet] Fix lsb offsetting
2022-08-14 12:08:12 -06:00
Behdad Esfahbod
e1d8496d73
[TTVarGlyphSet] Use shallow glyph copying
2022-08-14 12:08:12 -06:00
Behdad Esfahbod
3ae5a673bc
[ttFont/ttGlyphSet] Add option to pass normalized locations
2022-08-14 12:08:12 -06:00
Behdad Esfahbod
c148dc76e6
[ttFont/ttGlyphSet] Add API for drawing variable fonts
...
Fixes https://github.com/fonttools/fonttools/issues/1021
2022-08-14 12:08:12 -06:00
Behdad Esfahbod
0d1550febe
[ttFont] Split TTGlyphSet code into ttGlyphSet.py
2022-08-14 12:08:12 -06: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
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
Garret Rieger
10140f9df3
Remove TODO.
2022-06-27 18:32:04 +00:00
Garret Rieger
8196166e53
Add some additional comments about packing state machine.
2022-06-27 18:28:02 +00:00
Garret Rieger
d92fd2665c
Use enum's for repacker state.
2022-06-27 18:18:20 +00:00
Cosimo Lupo
4ca582a273
otTraverse: add pretty __str__ for SubTablePath tuple
...
so one can debug print(path) and get things like 'Paint.Paint.ColorLine.ColorStop[1]'
2022-06-24 18:33:52 +01:00
Cosimo Lupo
41943bb0e7
otTraverse: add options to skip_root and predicate to filter out entire sub-trees
2022-06-24 18:04:04 +01:00
Cosimo Lupo
fcd2a67f52
Merge remote-tracking branch 'origin/main' into variable-colr
2022-06-24 10:16:51 +01:00
Garret Rieger
c63b84db7e
Update how table packing falls back to fontTools from harfbuzz.
...
Introduce three compilation modes:
1. Pure python: only uses the existing fonttools packing and overflow resolution.
2. Harfbuzz+python: uses harfbuzz packing and python overflow resolution. Extensions are allowed to be shared.
3. Python fallback: if harfbuzz+python runs out of resolution options, this disables extension sharing and only uses python packing. Once it succeeds control is passed back to the harfbuzz packer to produce the final packing with extension sharing enabled.
2022-06-23 19:39:56 +00:00
Cosimo Lupo
0e6a4ec581
[otBase] temporarily disable extension sharing during harfbuzz repacking
...
If extension sharing is enabled some fonts may fail to repack due to fontTools repacker getting stuck in a unrecoverable error.
https://github.com/fonttools/fonttools/issues/2661
2022-06-23 16:34:12 +01:00
Cosimo Lupo
24941e613f
otTraverse: add module containing methods for traversing trees of otData tables
...
this is adapted from nanoemoji's
d65a627154/src/nanoemoji/util.py (L122-L162)
2022-06-21 17:27:12 +01:00
Cosimo Lupo
fae63959a9
otTables: add class attributes to link Var{Table} <-> {Table}
...
so one can go from Affine2x3 <-> VarAffine2x3 and similar types that have an associated Var{Type}
2022-06-21 17:27:12 +01:00
Cosimo Lupo
ca2f9e0a94
otBase: use OptionalValue.DEFAULT in populateDefaults()
2022-06-21 17:27:12 +01:00
Cosimo Lupo
fa54b0fd62
otTables: add methods to Format enums to query the variable variants
2022-06-21 17:27:12 +01:00
Cosimo Lupo
97bcda9d35
otBase: define method to get variable attrs with associated VarIndexBase + {offset}
2022-06-21 17:27:11 +01:00
Cosimo Lupo
396353e8e3
otConverters: parse 'VarIndexBase + {offset}' from converters' description
2022-06-21 17:27:11 +01:00
Cosimo Lupo
871ee3d527
otData: add 'VarIndexBase + {offset}' to description of all COLR variable fields
2022-06-21 17:27:11 +01:00
Cosimo Lupo
82460bd368
otConverters: define a base class for all fixed-size floats with toInt/fromInt methods
...
this will be useful when computing deltas for COLR table fields that use Fixed or F2Dot14 (ItemVariationStore internally treats fixed-value floats as 16 or 32-bit integers)
2022-06-21 17:27:11 +01:00