8399 Commits

Author SHA1 Message Date
pyup-bot
2b3bad98cd Update munkres from 1.1.2 to 1.1.4 2020-11-09 15:50:06 +00:00
pyup-bot
9ef15256cd Update scipy from 1.5.2 to 1.5.4 2020-11-09 15:50:05 +00:00
pyup-bot
bdc5daf055 Update reportlab from 3.5.49 to 3.5.55 2020-11-09 15:50:04 +00:00
pyup-bot
bbb95d8423 Update sphinx from 3.2.1 to 3.3.0 2020-11-09 15:50:03 +00:00
justvanrossum
186032cb10 fixed formatting 2020-11-09 15:39:21 +01:00
Just van Rossum
0ae6951b3b
Merge pull request #2082 from justvanrossum/gvar-ignore-empty-glyphs
[varLib] Interpret empty non-default glyphs as 'missing'
2020-11-02 18:19:09 +01:00
Jens Kutilek
28a215173a Update NEWS [skip ci] 2020-10-22 11:20:32 +02:00
Jens Kutilek
b9c268943a
Add HashPointPen from psautohint (#2005)
* Add HashPointPen from psautohint (with changes)
* Decompose components
* Use format string and disambiguate critical changes
* Remove "getHash()" in favour of "hash" property
* Add transformation for composites
* Omit base glyph name from component hash
* Use untransformed coords for components
* Add tests
* Add example code

Co-authored-by: Cosimo Lupo <cosimo@anthrotype.com>
2020-10-22 11:16:24 +02:00
Simon Cozens
10413d947a
Merge pull request #2067 from simoncozens/fealib-debug-subclassable
Only stash lookup location if buildLookups_ has cooperated
2020-10-19 09:14:06 +01:00
Simon Cozens
0c9cb3a878 Warn developer if subclass needs upgrading 2020-10-18 11:21:49 +01:00
Just van Rossum
b1cb5ce1e5
Merge pull request #2083 from justvanrossum/fix-FFF-typo
[varLib] Small bugfix: test for 0xFFFF, not 0xFFF
2020-10-09 09:56:35 +02:00
justvanrossum
16e058fe97 Test for 0xFFFF, not 0xFFF, fixes #2073 2020-10-09 09:33:47 +02:00
Just van Rossum
b992e28374
[varLib] Add designspace lib key for custom feavar feature tag (#2080)
* Add designspace lib key to specify a custom feature tag for feature variations, as discussed in #2079

* Added comment for the lib key

* if the lib key is present, the 'processing' flag should be ignored completely
2020-10-08 14:21:42 +02:00
justvanrossum
3ea29197fc Interpret empty non-default glyphs as 'missing', if the default glyph is not empty. Part of discussion over at googlefonts/ufo2ft/issues/408 2020-10-08 12:06:35 +02:00
Cosimo Lupo
c55f478c0f
Bump version: 4.16.1 → 4.16.2.dev0 2020-10-05 19:25:14 +01:00
Cosimo Lupo
e1dd581627
Release 4.16.1 2020-10-05 19:25:14 +01:00
Cosimo Lupo
4b63354b56
Update changelog [skip ci] 2020-10-05 19:24:54 +01:00
Cosimo Lupo
558b9cba7c
Merge pull request #2077 from fonttools/feature-variations-none
[instancer] FeatureVariations table is optional in GSUB 1.1 and can be None
2020-10-05 19:17:43 +01:00
Cosimo Lupo
e16cf0f8b8
instancer_test: check GSUB.FeatureVariations set to None is skipped
and doesn't raise TypeError exception.
2020-10-05 18:59:21 +01:00
Cosimo Lupo
e78d7cf50a
backport fix to varLib.mutator as well 2020-10-05 18:17:14 +01:00
Cosimo Lupo
5ef018e485
[instancer] FeatureVariations table is optional and can be None 2020-10-05 17:50:24 +01:00
Nikolaus Waxweiler
9433dc5f67
Merge pull request #2075 from fonttools/ufolib-gliflib-always-raise-on-missing-x-y
[glifLib] Hard-require x and y coordinates
2020-10-04 15:28:04 +01:00
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
3e8114e70d
Update changelog [skip ci] 2020-09-30 16:16:34 +01:00
Cosimo Lupo
bec25751c9
Merge pull request #2068 from fonttools/remove-overlaps-snippet
add module to remove overlaps from TTF with skia-pathops
2020-09-30 16:01:26 +01:00
Cosimo Lupo
fdab35063d
README.rst: mention 'pathops' among extras
pip install fonttools[pathops]
2020-09-30 13:55:30 +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
1329c8f7db
instancer_test: add tests for --remove-overlaps on generated VF instance 2020-09-29 19:38:17 +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
5abab6b329
Update skia-pathops to v0.5.0
https://github.com/fonttools/skia-pathops/releases/tag/v0.5.0
2020-09-29 14:32:35 +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
d4fd5d6eb1
requirements.txt: don't install skia-pathops on pypy
we don't have pre-compiled wheels for pypy. The tests will be skipped
2020-09-29 10:04:25 +01:00
Cosimo Lupo
933e394105
tox.ini: add download=true to install latest pip inside tox virtualenv 2020-09-28 19:55:12 +01:00
Cosimo Lupo
b73fa096a8
[travis] need latest pip to install skia-pathops for manylinux2014 tag 2020-09-28 19:34:59 +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
7531b71717
require skia-pathops >= 0.4.2
with the new 'clockwise' option
2020-09-27 17:41:27 +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
1c5417d1be
add 'pathops' to extras_require 2020-09-23 19:24:09 +01:00
Cosimo Lupo
2bcc103c36
move it to ttLib.removeOverlaps module 2020-09-23 19:13:58 +01:00
Cosimo Lupo
8bbc3d509b
factor out remove_overlaps routine, add typing annotations 2020-09-23 17:51:05 +01:00
Cosimo Lupo
19f5915f2e
ensure hmtx.lsb == glyph.xMin so that origin is at x=0 for new glyph 2020-09-23 16:04:56 +01:00
Cosimo Lupo
54ed840b15
Add snippet to remove overlaps on TTF with skia-pathops 2020-09-23 14:22:37 +01:00
Simon Cozens
8ed7792682 Only stash lookup location if buildLookups_ has cooperated
Fixes #2065
2020-09-23 10:10:38 +01:00