9952 Commits

Author SHA1 Message Date
Cosimo Lupo
810aeaa4d7
Bump version: 4.37.3 → 4.37.4.dev0 2022-09-20 11:00:17 +01:00
Cosimo Lupo
8bc00a64b8
Release 4.37.3 2022-09-20 11:00:15 +01:00
Cosimo Lupo
15e41ca498
Update changelog [skip ci] 2022-09-20 11:00:02 +01:00
Cosimo Lupo
e8efe9817e
Explicitly add codecov token to action, see codecov/codecov-action#557
Fixes #2763
2022-09-20 10:33:50 +01:00
Just van Rossum
6e6b86d41a [ttGlyphSet] Add comment to clarify the test 2022-09-20 11:17:58 +02:00
Just van Rossum
f658ca0499
Merge pull request #2825 from fonttools/issue2824
Fix for #2824: fix arguments in calls to (glyf) glyph.draw() and glyph.drawPoints()
2022-09-20 11:13:04 +02:00
Just van Rossum
fa4a5f33b4 Add test case 2022-09-20 10:54:09 +02:00
Just van Rossum
d0f4133df0 Fix arguments in calls to (glyf) glyph.draw() and glyph.drawPoints(); this fix also exposed a second bug, where lsb and tsb were not set; this fixes #2824 2022-09-20 09:00:35 +02:00
Cosimo Lupo
796c1f1330
Merge pull request #2810 from fonttools/pyup-scheduled-update-2022-09-12
Scheduled weekly dependency update for week 37
2022-09-15 18:42:50 +01:00
Cosimo Lupo
b9299532a1
Bump version: 4.37.2 → 4.37.3.dev0 2022-09-15 18:28:50 +01:00
Cosimo Lupo
1f9e6eb132
Release 4.37.2 2022-09-15 18:28:48 +01:00
Cosimo Lupo
0be37c37ae
Update changelog [skip ci] 2022-09-15 18:27:41 +01:00
Cosimo Lupo
276f6aaf44 [subset] keep and don't prune CPAL if OT-SVG table is present
Fixes #2814

or at least is a workaround until a proper 'fix'
2022-09-14 12:55:40 -06:00
Cosimo Lupo
1f8803af96
Merge pull request #2812 from fonttools/instancer-no-featurevars
[instancer] downgrade GSUB/GPOS version if there are no FeatureVariations after instancing (2)
2022-09-13 10:57:53 +01:00
Cosimo Lupo
87bbb64061
[instancer] downgrade GSUB/GPOS version if there are no FeatureVariations after instancing
same as https://github.com/fonttools/fonttools/pull/2811 but moved the logic to _instantiateFeatureVariations directly, instead of after it
2022-09-13 10:44:26 +01:00
pyup-bot
ccf9bdffd0 Update scipy from 1.9.0 to 1.9.1 2022-09-12 17:11:03 +01:00
Cosimo Lupo
ecb8ee9104
Merge pull request #2807 from fonttools/subset-no-lazy
subset: add --no-lazy option to load font eagerly as TTFont(lazy=False)
2022-09-12 11:59:01 +01:00
Cosimo Lupo
25a05c72ab subset: add --no-lazy option to load font eagerly as TTFont(lazy=False) 2022-09-08 15:42:34 +01:00
Cosimo Lupo
ebeffeba13
Merge pull request #2803 from fonttools/colr-without-varidxmap
don't add no-op DeltaSetIndexMap when not needed
2022-09-05 18:38:18 +01:00
Cosimo Lupo
e4b3394a38 [varLib] omit optional COLR.VarIndexMap for identity mapping
Fixes #2800
2022-09-05 17:18:29 +01:00
Cosimo Lupo
964df076e1 varLib_test: test we don't add no-op DeltaSetIndexMap when not needed
https://github.com/fonttools/fonttools/issues/2800
2022-09-05 17:15:51 +01:00
Simon Cozens
d48d858c2c
Speed up cache key construction in variableScalar (#2801) 2022-09-05 15:41:01 +01:00
Simon Cozens
64fd837ca1
Allow multiple value record types in the same pairpos table (#2776)
* Use buildPairPosClassesSubtable's ability to promote value records (see #2772)

* Add tests for #2772
2022-09-05 14:44:50 +01:00
Simon Cozens
5d5c16207b
Speed up varscalar with caching (#2798)
* Speed up varscalar with caching

* Don't use cached_property

* Make model pool a class attribute

* Don't catch things on the values side

* Remove unused import
2022-09-05 14:27:08 +01:00
Simon Cozens
17feda4608
Cythonize lexer (#2799) 2022-09-05 12:58:00 +01:00
Cosimo Lupo
876f87e4be
Merge pull request #2797 from daltonmaag/fix-unbounded-conditions
Avoid crash when handling unbounded conditions during designspace splitting
2022-09-01 18:57:45 +01:00
Harry Dalton
bbb26c2cea Confirm split functions can handle unbounded conditions with absent keys
As we make an effort to support conditions with "minimum" or "maximum"
absent, as well as with "minimum" or "maximum" None, this commit
confirms that the split functions can handle these to some degree also.
2022-09-01 17:34:51 +01:00
Harry Dalton
2da2653837 Allow "minimum"/"maximum" keys to be missing, as well as None
Some areas of the library check for both representations, and so doing
this here too means we are less likely to break existing code.

Despite this, flexibility introduces ambiguity, and so if typing gives
us confidence that such an input is unlikely, we could re-review this;
conditions with missing keys are not safe to use across the entire code-
base.
2022-09-01 17:21:04 +01:00
Harry Dalton
fef9e9a071 Fix handling of unbounded conditions
For unbounded conditions, the previous code expects "minimum" or
"maximum" to be entirely absent, whereas actually they will be
consistently present with one having a value of None.

This means that math.inf and -math.inf are never substituted in for the
absent bound, and a crash occurs when the None value propagates.

This commit corrects the behaviour by checking for a value of None,
instead of checking for the presence of the keys, bringing the
behaviour inline with the rest of the library.
2022-09-01 13:49:58 +01:00
Harry Dalton
d1ec8e6979 Test that DS5 splitting code handles unbounded conditions gracefully
Conditions with unbounded values have a "minimum" or "maximum" value of
None.

These tests check that:
a) The public-facing split functions can receive None values without
     crashing; and
b) That their internal helper functions correctly translate the None
     values to math.inf and -math.inf to express them.

These tests are expected to fail, indicating where a fix is required.
2022-09-01 13:41:44 +01:00
Miguel Sousa
1306a71db3
Merge pull request #2786 from fonttools/msousa-bad-post-format-1
Don't crash when `post` format 1 is improperly used
2022-08-31 08:52:49 -07:00
Miguel Sousa
96c9250cf8 Update warning message [skip ci] 2022-08-31 08:52:17 -07:00
Cosimo Lupo
fc984ff7e7
Merge pull request #2794 from fonttools/gvar-ensure-decompiled
[gvar] be non lazy for TTFont.lazy=False, add ensureDecompiled
2022-08-31 15:13:14 +01:00
Cosimo Lupo
36de9df3cc [gvar] be non lazy for TTFont.lazy=False, add ensureDecompiled
like cmap, or glyf or OTL tables, we need to respect lazy=False flag and decompile everything upfront, also we want to add an ensureDecompiled method (called by TTFont.ensureDecompiled) to allow loading everything in one go even when a font had been opened lazily.
2022-08-31 11:10:50 +01:00
Miguel Sousa
a2efac012c Add warning log 2022-08-30 23:56:03 -07:00
Miguel Sousa
0e9c48e6ab Don't crash when post format 1 is improperly used
Fixes #2736
2022-08-30 09:14:03 -07:00
Just van Rossum
55192edb0c
Merge pull request #2789 from fonttools/varglyphset-refactor
[ttGlyphSet] Refactor/rebuild class hierarchy
2022-08-30 12:49:32 +02:00
Just van Rossum
8fa79f3c68 Use ABC baseclass, instead of ABCMeta metaclass 2022-08-30 12:02:43 +02:00
Just van Rossum
a4f3cb1c98 drawPoints can have an implementation that calls draw using SegmentToPointPen 2022-08-30 12:00:50 +02:00
Just van Rossum
7ae37322cd make _TTGlyph an abstract base class, with draw and drawPoints abstract methods 2022-08-30 11:47:39 +02:00
Just van Rossum
b1441c583b Add test for non-VF exception 2022-08-30 09:26:16 +02:00
Just van Rossum
da539e5c4d use fixture for test font 2022-08-30 08:56:24 +02:00
Just van Rossum
86e4f2bf94 test file for font.normalizeLocation() 2022-08-30 08:49:36 +02:00
Just van Rossum
d2f0611fea test font.normalizeLocation() 2022-08-30 08:49:36 +02:00
Just van Rossum
6ec0177f1f tweak getGlyphSet() doct string, using backticks, and fixing a typo 2022-08-30 08:49:36 +02:00
Just van Rossum
6d2a9904c4 Add TTFont.normalizeLocation() as a public method. 2022-08-30 08:49:36 +02:00
Just van Rossum
cca0faae74 oops, look at 'normalized' flag again 2022-08-30 08:49:36 +02:00
Just van Rossum
0c68a5621a move normalization of location to TTFont 2022-08-30 08:49:36 +02:00
Just van Rossum
42a8d5cbdf no need for if expression 2022-08-30 08:49:36 +02:00
Just van Rossum
7aa4c0fb29 Avoid glyphSetClass variable; reads a little bit better 2022-08-30 08:49:36 +02:00