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
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
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
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
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
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
Just van Rossum
8fb071a403
remove redundant initializer
2022-08-30 08:49:36 +02:00
Just van Rossum
b45d9b014a
simplify class selection logic
2022-08-30 08:49:36 +02:00
Just van Rossum
65814c3ccd
inline haveCFF condition
2022-08-30 08:49:36 +02:00
Just van Rossum
b818e1494f
Refactor ttGlyphSet.py
...
- only differentiate between glyf and CFF/CFF2 implementations, not var vs non-var
- use collections.abc.Mapping to get a more consistent dict-like object with less code
- prefer HVAR metrics over gvar metrics
- move some responsibilities from the _TTGlyphSet objects to the _TTGlyph objects
- adjust some tests to the changes
2022-08-30 08:49:36 +02:00
Behdad Esfahbod
c04afbedaf
[varLib.interpolatable] Fix naming of varfont masters
2022-08-29 17:08:30 -06:00
Behdad Esfahbod
250cec869e
[interpolatable] Compare all masters to first master
...
Reduces number of errors reported.
2022-08-29 17:03:11 -06:00
Just van Rossum
8932ab427f
Convert tabs to spaces
2022-08-29 19:28:46 +02:00
Just van Rossum
633bc2732f
Merge pull request #2784 from fonttools/varglyphset-cff
...
[ttVarGlyphSet] Support CFF
2022-08-29 19:26:14 +02:00
Behdad Esfahbod
24bd200b6e
[ttGlyphSet-CFF] Cache instancer
2022-08-27 13:32:19 -06:00
Behdad Esfahbod
bcd637bd1a
[ttGlyphSet-cff] Remove rounding
2022-08-27 12:20:15 -06:00
Just van Rossum
8af6c16b6a
don't error when there are zero code points
2022-08-27 10:29:12 +02:00
Behdad Esfahbod
f5a1d0ba10
[ttVarGlyphSet-CFF] Handle font without advance variation
2022-08-26 21:24:24 -06:00
Behdad Esfahbod
a949380b4a
[psCharStrings] Internal var rename
2022-08-26 21:23:04 -06:00
Behdad Esfahbod
9fe1f8c73e
[ttVarGlyphSet-cff] Handle non-variable fonts
2022-08-26 21:20:56 -06:00
Behdad Esfahbod
683308abb5
[varGlyphSet-cff] Apply advance width variation
2022-08-26 21:07:10 -06:00
Behdad Esfahbod
4650b8d293
[cff] Store varStore in CharStrings
2022-08-26 21:00:37 -06:00
Behdad Esfahbod
a7cda37fbb
[ttVarGlyphSet] Support CFF
2022-08-26 20:52:18 -06:00
Behdad Esfahbod
9cb418cbfc
[varLib.plot] Add plotModelFromMasters
2022-08-26 11:17:26 -06:00
Just van Rossum
a32a92e6d7
add custom __init__ in favor of setting .data externally
2022-08-26 10:53:32 -06:00
Just van Rossum
a0af5727e1
Use UserDict for lazy gar variations dict; alternative for #2779
2022-08-26 10:53:32 -06:00
Behdad Esfahbod
4669372b46
[cu2qu.benchmark] Document main()
2022-08-25 14:38:35 -06:00
Behdad Esfahbod
80033bb2a0
[cu2qu] Move benchmark code into cu2qu.benchmark module
2022-08-25 14:37:59 -06:00
Behdad Esfahbod
2d5a3576d1
[varLib.interpolatable] Report index of contour in error message
2022-08-25 14:15:58 -06:00
Just van Rossum
66411c426b
address feedback
2022-08-25 16:11:24 +02:00
Just van Rossum
b460afca09
Implement drawPoints natively
2022-08-25 15:21:54 +02:00
Behdad Esfahbod
5454989987
[ttGlyphSet] Copy glyph components before shifting
...
Fixes https://github.com/fonttools/fonttools/issues/2774
2022-08-24 13:30:28 -06:00
Cosimo Lupo
afd0b48f77
Bump version: 4.37.1 → 4.37.2.dev0
2022-08-24 18:36:22 +01:00
Cosimo Lupo
2edaa2a29c
Release 4.37.1
2022-08-24 18:36:22 +01:00
Cosimo Lupo
4e43dc2900
Merge pull request #2773 from fonttools/subset-variable
...
[subset] Fix subsetting of variable fonts
2022-08-24 17:27:22 +01:00
Behdad Esfahbod
27965842eb
[subset] Fix subsetting of variable fonts
...
Fixes https://github.com/fonttools/fonttools/issues/2769
2022-08-24 10:12:32 -06:00
Behdad Esfahbod
78f12ab12d
[pens] Add cairoPen
2022-08-24 09:40:17 -06:00
Just van Rossum
0637b24b2a
Read gvar more lazily by not parsing all of the 'glyf' table
2022-08-24 16:38:00 +02:00