Behdad Esfahbod
feb6820d03
[_LazyList] Make much faster
2024-05-22 18:45:28 -06:00
Behdad Esfahbod
450c8f1581
[CFF2Index] Make loading lazy
...
Still too slow, but much faster.
2024-05-22 18:45:28 -06:00
Behdad Esfahbod
5faf139417
[CFF2Index] Minor massage
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
c952237ed3
[otConverters] Make _LazyList generic
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
c50a0f6195
[VARC] Rename a type
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
ec78b572c9
[MultiVarStore] Fix up XML read/write
...
Looks complete now.
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
0e9eff8990
Add MultiVarStore
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
1a1e9e198b
[VARC] Use one varIndexBase only
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
aad01a9d85
[VARC] Towards XML
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
ef6903e097
[VARC] Start
...
Based on https://github.com/harfbuzz/boring-expansion-spec/issues/103#issuecomment-1856325577
2024-05-22 18:45:27 -06:00
Simon Cozens
430e364db7
Compile aux fields
2024-03-19 16:46:37 -06:00
Khaled Hosny
cf08265cd5
Black
2024-02-06 15:47:35 +02:00
Behdad Esfahbod
286e6466cd
[otBase/packer] Remove offsetSize from OTTableWriter
2023-08-03 11:17:41 -06: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
Nikolaus Waxweiler
d584daa8fd
Blacken code
2022-12-13 11:26:36 +00:00
Cosimo Lupo
6389385813
Merge branch 'main' into avar2
2022-10-28 16:38:33 -07: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
5e5922ee04
[avar2] Misc fixes to actually compile avar2
2022-07-23 12:26:38 -06:00
Cosimo Lupo
ca2f9e0a94
otBase: use OptionalValue.DEFAULT in populateDefaults()
2022-06-21 17:27:12 +01:00
Cosimo Lupo
396353e8e3
otConverters: parse 'VarIndexBase + {offset}' from converters' description
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
Behdad Esfahbod
e5bf2a7f1a
[ttFont] Apply review comments
2021-08-22 04:09:29 -06:00
Behdad Esfahbod
7a22c0fb07
[ttFont] Add getGlyphIDMany(); use in otLayout
...
Fixes https://github.com/fonttools/fonttools/issues/1536
Superced https://github.com/fonttools/fonttools/pull/1654
Part of https://github.com/fonttools/fonttools/pull/2398
2021-08-21 11:23:11 -06:00
Behdad Esfahbod
3ec769907b
[ttFont] Add getGlyphNameMany()
...
Part of fixing https://github.com/fonttools/fonttools/pull/1654
Related https://github.com/fonttools/fonttools/issues/2334
2021-08-20 16:17:48 -06:00
Khaled Hosny
232b2ccbc4
Move the rest of py23 module to textTools
...
Change all imports to use textTools module, except the test_py23.py test
which is kept until we decide to remove the module (if ever).
2021-08-20 01:29:45 +02:00
Cosimo Lupo
29a2ebf813
omit default VarIndexBase
...
4294967295 (0xFFFFFFFF in decimal form) is not very memorable.
Still, using hex notation for all VarIndexBases would make the non-default values less readable (when interpreted as an index into the DeltaSetIndexMap array, decimal makes more sense).
Since 0xFFFFFFFF means 'no variation data', it makes sense to omit it from the ttx dump and write an empty <VarIndexBase/> element with no value.
We also allow to build Var tables without needing to pass "VarIndexBase": 0xFFFFFFFF in the source dict.
2021-07-23 17:27:57 +01:00
Cosimo Lupo
e8e2aa530b
remove unused Variable{Float,Int} namedtuples from otTables/otConverters
2021-07-23 17:27:57 +01:00
Cosimo Lupo
60f0724144
remove wrapping around from Angle converter, let the struct.error propagate
2021-07-19 17:52:00 +01:00
Cosimo Lupo
bb4c3e27c3
otConverters: define Angle and VarAngle, fractions of half circle encoded as F2Dot14
...
to be used with PaintRotate, etc.
2021-07-06 17:47:56 +01:00
Behdad Esfahbod
98e2bf5526
[varLib.builder] Document bit-tweedling
...
https://github.com/fonttools/fonttools/pull/2285#discussion_r628401241
2021-05-07 15:41:33 -06:00
Behdad Esfahbod
b8963256fd
[otBase/otConverters] Add back array index to exception in writeArray()
...
db6171df14 (r628543432)
2021-05-07 15:31:53 -06:00
Behdad Esfahbod
802e3636bc
[otConverters] Support read/write of 32bit VarStore
...
Part of https://github.com/fonttools/fonttools/issues/2279
2021-05-01 12:51:12 -06:00
Behdad Esfahbod
a2f34fdf82
[otConverters] Rename VarStore shortCount to wordCount in local variables
2021-05-01 12:45:03 -06:00
Behdad Esfahbod
7d85b77996
[otConverters] Minor in VarStore padding
2021-05-01 12:44:15 -06:00
Behdad Esfahbod
0b20c196d4
[otConverters] Implement writeArray for GlyphID
2021-05-01 12:41:45 -06:00
Behdad Esfahbod
bd648ea14d
[otConverters] Use array read/write in VarIdxMapValue
2021-04-30 16:29:18 -06:00
Behdad Esfahbod
a8af308d70
[otConverters] Use array-writers for ItemVariationStore payload
2021-04-30 15:59:03 -06:00
Behdad Esfahbod
36dd271cd5
[otBase/otConverters] Add array-writers for int types
2021-04-30 15:58:45 -06:00
Behdad Esfahbod
2496dcf9cc
[otConverters] Add array readers to int converters
2021-04-30 15:41:25 -06:00
Behdad Esfahbod
1163fe68ff
[otConverters] Use array readers when reading ItemVariationStore payload
2021-04-30 15:26:49 -06:00
Just van Rossum
5fc65d7168
Misc py23 cleanups ( #2243 )
...
* Replaced all from ...py23 import * with explicit name imports, or removed completely when possible.
* Replaced tounicode() with tostr()
* Changed all BytesIO ans StringIO imports to from io import ..., replaced all UnicodeIO with StringIO.
* Replaced all unichr() with chr()
* Misc minor tweaks and fixes
2021-03-29 11:45:58 +02:00
Zachary Scheuren
0434b1a917
Add feaLib support for STAT table
2021-02-25 17:16:01 +00:00
rsheeter
2df3fed98a
Prevent otConverters from ignoring the 'template' type when field name is also a type
2021-02-15 10:42:58 +00:00
Cosimo Lupo
d5e645a3c9
define Table.writeNullOffset() in subclasses; add comment as per review feedback
2020-10-27 18:35:36 +00:00
Cosimo Lupo
7f6a05b007
otData: add new COLR Paint struct definitions, update to latest draft
...
Update C_O_L_R_test.py accordingly.
a
2020-10-09 19:36:35 +01:00
Cosimo Lupo
d60d84d3fc
otBase/otConverters: add support for 3-byte offsets
2020-10-08 12:39:54 +01:00
Cosimo Lupo
ff7dc9a1c5
Rename: Var* types: Scalar->Fixed, NormalizedScalar->F2Dot14, etc.
...
VariablePosition -> VarInt16
VariableDistance -> VarUInt16
cf. https://github.com/googlefonts/colr-gradients-spec/issues/17
2020-07-01 20:13:14 +01:00
Cosimo Lupo
690080b14d
use 32-bit GlyphIDs in COLRv1 baseGlyphs and layers
...
For forward-compatibility, see https://github.com/googlefonts/colr-gradients-spec/issues/8
2020-07-01 19:50:48 +01:00
Cosimo Lupo
d2bbfdb610
Merge remote-tracking branch 'origin/master' into otdata-colr
2020-03-12 17:42:56 +00:00