4760 Commits

Author SHA1 Message Date
Nikolaus Waxweiler
04e1269b41 [glifLib] Hard-require x and y coordinates 2020-10-03 12:43:28 +01:00
Cosimo Lupo
e4b0486b31
Bump version: 4.16.0 → 4.16.1.dev0 2020-09-30 16:17:44 +01:00
Cosimo Lupo
2c1b7ea18c
Release 4.16.0 2020-09-30 16:17:43 +01:00
Cosimo Lupo
7f9462dfa6
compare paths independently of contour order
the order of contours modified by Skia is not stable and may change. So when we compare the original and the modified paths, we compare the paths as unordered sets of contours.

The order of contours doesn't produce any visible difference, but we try to keep the changes to the minimum here to avoid unnecessary diffs
2020-09-30 13:40:01 +01:00
Cosimo Lupo
66a0d91bf9
remove hinting from all glyphs, whether overlaps are removed or not 2020-09-30 13:36:28 +01:00
Cosimo Lupo
e94098606b
log modified glyps 2020-09-30 13:35:05 +01:00
Cosimo Lupo
d9d216f8f8
minor: rename OverlapsMode enum -> OverlapMode 2020-09-29 19:33:26 +01:00
Cosimo Lupo
7b9da7602c
skip empty paths with no contours
https://github.com/fonttools/fonttools/pull/2068#pullrequestreview-498472660
2020-09-29 16:24:17 +01:00
Cosimo Lupo
e1ad83add7
minor edit to comment [skip ci] 2020-09-29 14:44:51 +01:00
Cosimo Lupo
da439c7c57
decompose composites only if components intersect; let pathops.PathPen decompose components
requires https://github.com/fonttools/skia-pathops/pull/32
2020-09-29 14:14:55 +01:00
Cosimo Lupo
85947cabb3
varLib.instancer: make 'overlap' an enum; add --remove-overlaps CLI option
'overlap' parameter in instantiateVariableFont was a bool, now it is a tri-state IntEnum, with value 2 meaning 'remove the overlaps'. The old bool False/True (0/1) values continue to work like before.

Also added a new --remove-overlaps commandline option to fonttools varLib.instancer script.
2020-09-27 17:48:52 +01:00
Cosimo Lupo
015d8265d2
use pathops.simplify() and remember if original path direction
pathops.simplify() returns a copy so we don't need to make a copy ourselves.

'clockwise' option is defined in https://github.com/fonttools/skia-pathops/pull/31
2020-09-27 17:31:30 +01:00
Cosimo Lupo
0ceb146196
process simple glyphs before composites
to avoid decomposing only because a component's base glyph contains overlaps.
2020-09-27 17:29:25 +01:00
Cosimo Lupo
2bcc103c36
move it to ttLib.removeOverlaps module 2020-09-23 19:13:58 +01:00
Cosimo Lupo
0b413be45a
Bump version: 4.15.0 → 4.15.1.dev0 2020-09-21 17:41:50 +01:00
Cosimo Lupo
b7609ddefc
Release 4.15.0 2020-09-21 17:41:49 +01:00
Cosimo Lupo
b913fac4ac
Merge pull request #2061 from fonttools/plistlib-typing
Add typing info to plistlib
2020-09-21 17:24:25 +01:00
Nikolaus Waxweiler
0742a9bff3 Implement suggestions 2020-09-21 17:01:22 +01:00
Nikolaus Waxweiler
a1df979335
Update Lib/fontTools/misc/plistlib/__init__.py
Co-authored-by: Cosimo Lupo <cosimo@anthrotype.com>
2020-09-21 16:53:55 +01:00
Nikolaus Waxweiler
4efc06e62f
Update Lib/fontTools/misc/plistlib/__init__.py
Co-authored-by: Cosimo Lupo <cosimo@anthrotype.com>
2020-09-21 16:53:46 +01:00
Simon Cozens
a18b6bfb6c
Merge pull request #2052 from simoncozens/fealib-debug
feaLib source debugging
2020-09-17 20:13:23 +01:00
Nikolaus Waxweiler
2906ac2908 One less type-ignore 2020-09-16 20:28:33 +01:00
Nikolaus Waxweiler
09a64418f0 Misplaced ignore 2020-09-16 20:08:45 +01:00
Nikolaus Waxweiler
a501c0cbe7 More typing and ignores 2020-09-16 19:59:50 +01:00
Nikolaus Waxweiler
10864be26f Fix one typing warning 2020-09-16 17:42:46 +01:00
Nikolaus Waxweiler
863d9fd3c8 Add py.typed file 2020-09-16 12:03:52 +01:00
Nikolaus Waxweiler
e1c9710272 More types, correct stale comment 2020-09-16 09:52:46 +01:00
Nikolaus Waxweiler
fa32cf2fed Remove unused type comment 2020-09-16 09:31:05 +01:00
Nikolaus Waxweiler
a364cff13f No need for _D anymore 2020-09-15 23:58:23 +01:00
Nikolaus Waxweiler
be77335993 Remove unused typing imports 2020-09-15 23:31:03 +01:00
Nikolaus Waxweiler
8a5baa0aa6 Return Any from load*
https://github.com/python/typeshed/pull/4543
2020-09-15 23:27:39 +01:00
Nikolaus Waxweiler
d70ca8224e More typing 2020-09-15 18:31:07 +01:00
Nikolaus Waxweiler
4f51a5da10 More typing 2020-09-15 17:20:03 +01:00
Nikolaus Waxweiler
9d13fe1150 Simplify typing for singledispatch 2020-09-15 15:01:53 +01:00
Nikolaus Waxweiler
bbfc7b9ff5 Fix type mixup 2020-09-15 14:27:22 +01:00
Nikolaus Waxweiler
ff0e0028f4 Use overload instead of exploding singledispatch 2020-09-15 13:00:36 +01:00
Nikolaus Waxweiler
7c02ab3d3c woopsie 2020-09-15 00:02:54 +01:00
Nikolaus Waxweiler
80b8b1556c WIP: add typing info to plistlib 2020-09-14 23:45:21 +01:00
Simon Cozens
2ef66ea4ca Debugging should not be the default (oops) 2020-09-11 09:44:28 +01:00
Simon Cozens
7135255d4a Style nits 2020-09-11 09:35:45 +01:00
Simon Cozens
95a941ec15 Re-case debug info module 2020-09-11 09:31:07 +01:00
Simon Cozens
af4f1f6d6e Prefer module constant to hard-coded string for Debg table key 2020-09-10 16:00:06 +01:00
Caleb Maclennan
221fa07c3b
Default checkChecksums to off for WOFF2 Reader 2020-09-10 16:41:30 +03:00
Caleb Maclennan
705b9663d2
Default checkChecksums to off for SFNT Reader 2020-09-10 16:41:30 +03:00
Caleb Maclennan
7e3c4acfde
Use 0 not False to disable checkChecksums as documented and used
While False does get the job done, the value is not always treated as
a boolean. It is overloaded so that 1 or greater is True, but more than
1 has a different meaning than 1. Hence usage should always be as an
integer as documented so that it's clear(er) this isn't just an on/off
toggle.
2020-09-10 16:41:30 +03:00
Simon Cozens
02c305c2fc Serialize JSON object before writing to XML 2020-09-10 13:22:33 +01:00
Simon Cozens
87c65acd3a JSON ends up stringifying number keys, so do that now in case we’re round-tripping without writing the file out. 2020-09-10 08:29:41 +01:00
Simon Cozens
4e70b30eb0 Ensure LookupCount is processed 2020-09-10 08:29:15 +01:00
Simon Cozens
8869e0dec7 Add debug flag to feaLib command line utility 2020-09-09 20:18:03 +01:00
Simon Cozens
b680eaf782 Add debug arg to addOpenTypeFeatures 2020-09-09 20:15:50 +01:00