Khaled Hosny
383e70fc39
[sstruct] Accept pad byte format character
...
The list of format characters that sstruct accepts was missing “x” for
ignored pad bytes.
2021-07-05 01:33:16 +02:00
Khaled Hosny
bdd462f066
[sstruct] Accept bool format character
...
The list of format characters that sstruct accepts was missing “x” for
ignored pad booleans.
2021-07-03 13:50:08 +02:00
Khaled Hosny
617aee7f03
[sstruct] Minor
...
To reduce the noise in the next commits.
2021-07-03 13:49:53 +02:00
Cosimo Lupo
a0bd872f0e
TupleVariation: make shared tuples order deterministic
...
most frequent first (like before https://github.com/fonttools/fonttools/pull/2351 ), only sort ties alphabetically
2021-07-02 12:52:54 +01:00
Garret Rieger
7f9e2c3808
sort shared tuples produced by Counter.most_common()
...
In python 3.7 and earlier most_common() sorts first by the item count and then arbitrarily in the event of ties. This can result in two identical instancing operations producing different binary results.
2021-06-30 17:00:59 -07:00
Cosimo Lupo
d0d59d2f2c
Add PaintScale* and Paint{Rotate,Skew}* variants
...
This updates fonttools to match the latest draft COLRv1 spec at https://github.com/googlefonts/colr-gradients-spec/pull/290
Summary of changes:
- Added 8 new PaintScale* tables: with/without centers, uniform vs non-uniform
- Added *AroundCenter variants to PaintRotate and PaintSkew (default versions no longer have centerX/Y defaulting to origin)
- PaintRotate, PaintSkew and PaintComposite formats re-numbered
2021-06-28 18:38:47 +01:00
Cosimo Lupo
1cb7e36bbd
COLRv1: rename otData structs to remove 'V1' to match updated draft spec
...
This is a breaking change (but the COLRv1 API was already marked as unstable and subject to change)
The changes in this PR are meant to match the changes from the COLRv1 draft spec at:
https://github.com/googlefonts/colr-gradients-spec/pull/302
2021-06-28 16:13:47 +01:00
Takaaki Fuji
58d6ccf8ae
Fix math.atan2 call
...
Shouldn't make any difference here, but math.atan2(y, x) should be the
correct order.
2021-06-25 09:47:21 +09:00
Takaaki Fuji
4c22d11aa7
Keep GuessSmoothPointPen in sync with fontPens
...
Imported 9b7ecb4 from fontPens, which is the version modified to accept
a parameterized tolerance. Recent changes in fontTools such as 2831096,
186e461 and 7d5530e were considered so that the diff will be minimal.
2021-06-25 09:39:58 +09:00
Behdad Esfahbod
f64f0b42f2
Consolidate bit_count / popCount methods
...
Fixes https://github.com/fonttools/fonttools/issues/2331
2021-06-04 10:15:51 -06:00
Cosimo Lupo
35dae02dea
Merge pull request #2318 from emuller-amazon/main
...
Fix parsing of post tables version 2.0 (#2314 )
2021-06-03 15:40:30 +01:00
Eric Muller
e2d9919524
Address pull request comments
2021-06-01 07:16:53 -07:00
Cosimo Lupo
1df4f1eac1
subset: drop empty features unless 'size' with FeatureParams table
...
Fixes #2324
2021-05-27 09:33:29 -06:00
Eric Muller
add77ca3f7
Report error is post table version 2.0 is too small
2021-05-26 11:27:39 -07:00
Eric Muller
bb5d59300c
Merge branch 'fonttools:main' into main
2021-05-25 09:46:42 -07:00
Cosimo Lupo
ee2aa264d5
Bump version: 4.24.4 → 4.24.5.dev0
2021-05-25 14:33:29 +01:00
Cosimo Lupo
b3acb8b984
Release 4.24.4
2021-05-25 14:33:29 +01:00
Cosimo Lupo
cf57ee0bbd
Merge pull request #2323 from fonttools/fix-instancer-valuerecord
...
instancer: Fix AttributeError when ValueRecord has XAdvDevice but no XAdvance
2021-05-25 14:25:45 +01:00
Cosimo Lupo
b8ce99962c
[merger] make getattr(valueRecord, *) default to 0 if it has Device tables but corresponding value is not set
...
Fixes https://github.com/fonttools/fonttools/pull/2323
2021-05-25 12:36:17 +01:00
Behdad Esfahbod
7af43123d4
[otBase] Tiniest cleanup
2021-05-24 14:52:34 -06:00
Cosimo Lupo
96f0169d9d
Bump version: 4.24.3 → 4.24.4.dev0
2021-05-20 19:33:34 +01:00
Cosimo Lupo
9d5c3adc7c
Release 4.24.3
2021-05-20 19:33:34 +01:00
Cosimo Lupo
d1e2e0e381
otTables: ignore Format attribute in split.*Subst overflow-fixing methods
...
Fixes https://github.com/fonttools/fonttools/issues/2319
2021-05-20 19:19:37 +01:00
Eric Muller
212bb30c26
Fix parsing of post tables version 2.0 ( #2314 )
2021-05-20 09:32:26 -07:00
Cosimo Lupo
b8762e0727
Bump version: 4.24.2 → 4.24.3.dev0
2021-05-20 15:11:47 +01:00
Cosimo Lupo
b2fcf30716
Release 4.24.2
2021-05-20 15:11:47 +01:00
Cosimo Lupo
57c34dfcb7
Merge pull request #2311 from justvanrossum/fix-some-warnings
...
[feaLib] fixed two instances of 'DeprecationWarning: invalid escape sequence'
2021-05-20 15:00:45 +01:00
Cosimo Lupo
c995411a60
leave self.glyphSet alone
2021-05-20 14:03:56 +01:00
Cosimo Lupo
1d9f267ad5
make glyphSet required.. but Optional :)
2021-05-20 13:20:45 +01:00
justvanrossum
3e0a6542c0
Use r-string instead of escaping backslash
2021-05-20 13:44:38 +02:00
Cosimo Lupo
d4408baf70
ttGlyphPen: fix typing annotation for glyphSet parameter
...
It is an optional dictionary. Even the ttGlypgPen_test.py or the fontBuilder.py calls TTGlyphPen(None) often.
We caught this because internally we run a type-checker. Originally the glyphSet parameter was not explicitly typed.
Now that it is, make the type hints match the way code is intended to be used.
2021-05-20 12:33:58 +01:00
Cosimo Lupo
d0bcae94dd
ttGlyphPen: run black
2021-05-20 12:30:08 +01:00
Cosimo Lupo
0c4adad88d
Bump version: 4.24.1 → 4.24.2.dev0
2021-05-20 12:00:16 +01:00
Cosimo Lupo
dc689738c7
Release 4.24.1
2021-05-20 12:00:15 +01:00
Cosimo Lupo
926f721832
return True from SinglePos.prune_post_subset to not change semantics
...
the useless subtable might have been there to stop the next subtable from applying...
https://github.com/fonttools/fonttools/pull/2313#issuecomment-844497422
2021-05-20 10:01:58 +01:00
Cosimo Lupo
defe0f997a
subset: don't prune_post_subset if no SinglePos Value
...
Fixes https://github.com/fonttools/fonttools/issues/2312
2021-05-19 20:16:14 +01:00
justvanrossum
f99f1bbc36
fixed two instances of 'DeprecationWarning: invalid escape sequence'
2021-05-19 14:20:57 +02:00
Cosimo Lupo
604bfdb2fb
Bump version: 4.24.0 → 4.24.1.dev0
2021-05-17 13:13:11 +01:00
Cosimo Lupo
c77e4e0d1e
Release 4.24.0
2021-05-17 13:13:11 +01:00
Jens Kutilek
0cb2bea386
Add TTGlyphPointPen ( #2205 )
...
* Add TTGlyphPointPen
* Format code with black
* Implement TTGlyphPen and TTGlyphPointPen with common base class
* Use PenError instead of assert
* Add note about decomposing mixed composites to the docstring
2021-05-17 14:09:36 +02:00
Cosimo Lupo
edd97bcdc4
Bump version: 4.23.1 → 4.23.2.dev0
2021-05-14 11:06:57 +01:00
Cosimo Lupo
64cf7719e4
Release 4.23.1
2021-05-14 11:06:57 +01:00
Cosimo Lupo
6e23150507
subset: prune v0 base glyphs and layers when none are left after subsetting COLRv1 table
...
Thanks Qunxin for reporting the bug!
2021-05-14 10:47:20 +01:00
Cosimo Lupo
f2df149db3
COLR: set {BaseGlyph,Layer}RecordArray to None when no colorGlyphsV0 in populateCOLRv0
...
Same when LayerV1List is empty. All these fields are optional in v1
2021-05-14 10:47:13 +01:00
Cosimo Lupo
2aaeba66c1
Bump version: 4.23.0 → 4.23.1.dev0
2021-05-13 15:56:32 +01:00
Cosimo Lupo
adaca1068b
Release 4.23.0
2021-05-13 15:56:31 +01:00
Cosimo Lupo
465c327b5f
Merge pull request #2300 from fonttools/fix-varlib-merger-errors
...
VarLibMergeError first parameter must be a Merger object
2021-05-13 15:48:58 +01:00
Cosimo Lupo
72004fcd7e
VarLibMergeError first parameter must be a Merger object
...
a lot of places instead pass in the 'self' parameter, incorrectly assuming that is a Merger.
This is meant to fix 'AttributeError: 'dict' object has no attribute 'ttfs'' as reported in https://github.com/googlefonts/fontmake/issues/766#issuecomment-836576341
2021-05-13 15:40:44 +01:00
Eigi Eigendorf
08e3c74911
Merge branch 'fonttools:main' into main
2021-05-13 15:41:22 +02:00
Cosimo Lupo
c51d3aa061
Merge pull request #2303 from fonttools/glyphclass-by-null
...
[feaLib] Allow substituting a glyph class with NULL
2021-05-13 10:41:54 +01:00