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
Simon Cozens
681ca4ae0c
Test the flags, not the value
...
Avoids an empty comment when reserved values are used.
2020-03-12 11:51:36 +00:00
Simon Cozens
8fac69b0ea
Also output mark attachment class
2020-03-11 13:59:05 +00:00
Simon Cozens
ab075a9957
Annotate LookupFlag ttx dump
2020-03-10 21:42:28 +00:00
Cosimo Lupo
b2a0d62295
otConverters: in _NamedTupleConverter only dump to XML non-default values
...
so we don't see varIdx='0' dumped all the time, even when there are no variations in font
2020-03-09 16:15:33 +00:00
Cosimo Lupo
c42c4162c2
add otConverter for namedtuples and use it for Variable{Scalar,Position,Distance}
...
in COLRv1 all scalar values have associated varIdx to support variations. I want to load them as
immutable namedtuples, and also I want to dump them as simple XML tags with 'value' and 'varIdx'
attributes, instead of normal otTables (i.e. with nested Value and VarIdx sub-elements) as
that would make them too verbose in the XML dump.
So I made a custom _NamedTupleConverter, as a base class for VariableScalar, etc.; sub-classes
must provide a tupleClass and a list of converterClasses for each namedtuple field.
The ExtendMode enum has also a custom converter to dump it as string in the XML, and load it
as IntEnum.
fixup
2020-03-06 18:35:32 +00:00
Cosimo Lupo
e56c0ee1a4
otConverters: BaseGlyphRecordCount and LayerRecordCount are 'propagated' counts
...
ie. they count things inside nested sub-tables
2020-02-04 17:01:31 +00:00
Cosimo Lupo
a7e368d00f
otConverters: use floatToFixedToStr/strToFixedToFloat in Fixed/F2Dot14 toXML/fromXML
2019-10-08 13:40:06 +01:00
Nikolaus Waxweiler
01328213c7
Remove __future__ imports
2019-08-09 12:20:13 +01:00
Sascha Brawer
2011ccf6ec
[morx] Clean up compilation of AAT action tables; add more tests
2018-09-24 20:15:54 +02:00
Sascha Brawer
4a1871ff62
[morx] Support AAT action type to insert glyphs
2018-09-24 18:14:01 +02:00