Cosimo Lupo
bd618d0117
add test to repro AttributeError when getAlternateGlyphs for empty lookups
...
https://github.com/fonttools/fonttools/issues/2276
2021-04-22 12:21:30 +01:00
Behdad Esfahbod
ae982abf5c
Merge pull request #2274 from googlefonts/mvar_fix
...
Include record size adjustment.
2021-04-21 15:54:45 -06:00
Garret Rieger
1bb3183231
Add tests for lazy loading of MVAR with more than 8 value records.
2021-04-21 14:37:47 -07:00
Garret Rieger
e0f1c15ad0
Include record size adjustment.
2021-04-21 12:15:29 -07:00
Behdad Esfahbod
8ab6af03c8
Merge pull request #2266 from fonttools/varLib-phantomPoints
...
[varLib/glyf] Rework phantom-points calculations
2021-04-15 08:00:05 -06:00
Behdad Esfahbod
438dcb5a7f
Update Lib/fontTools/varLib/instancer/__init__.py
...
Co-authored-by: Nikolaus Waxweiler <madigens@gmail.com>
2021-04-14 21:04:48 -06:00
Behdad Esfahbod
a43690ef5b
[varLib.instancer] Add back instantiateGvarGlyph()
2021-04-14 14:43:24 -06:00
Behdad Esfahbod
51a76e319e
[glyf] Add old setCoordinates, getCoordinatesAndControls, getPhantomPoints
...
https://github.com/fonttools/fonttools/pull/2266
2021-04-14 14:36:35 -06:00
Behdad Esfahbod
a756bb01ab
[glyf] Prefix setCoordinates, getCoordinatesAndControls, getPhantomPoints
...
Will add old name with old API next.
2021-04-14 14:09:40 -06:00
Behdad Esfahbod
6aa9d192b6
[varLib] Use TTFont.get() in a couple of places
2021-04-14 13:50:00 -06:00
Behdad Esfahbod
24140e154e
[glyf] Add default=None to glyf.get()
2021-04-14 13:36:07 -06:00
Behdad Esfahbod
d12d7fbb75
[glyf] Remove unused code
...
Also simplify bounds check.
2021-04-13 15:13:00 -06:00
Behdad Esfahbod
15c34e9ba9
[glyf] Add .get() which is like __getitem__() but returning None if not found
...
And use it in a couple places.
2021-04-13 15:06:25 -06:00
Behdad Esfahbod
f80e19da35
[varLib] Minor optimizations in maxp and TThinting
2021-04-13 15:03:42 -06:00
Behdad Esfahbod
f387620572
[varLib] Reduce TTFont.__getitem__() in _merge_TTHinting
2021-04-13 14:49:50 -06:00
Behdad Esfahbod
75ef521fd0
[gvar] Reduce TTFont.__getitem__() calls
2021-04-13 14:45:40 -06:00
Behdad Esfahbod
3cbbc25d29
[glyf] Remove useless assert in setCoordinates()
2021-04-13 13:50:01 -06:00
Behdad Esfahbod
34b5ff623c
[varLib] Optimize getPhantomPoints()
...
To reduce calling TTFont.__getitem__ many times per glyph!
2021-04-13 13:49:12 -06:00
Behdad Esfahbod
ddf2f0369b
[glyf] Remove useless assert in getPhantomPoints()
2021-04-13 13:27:03 -06:00
Behdad Esfahbod
ee5ecd19d7
[varLib/glyf] Remove fallback vertical phantom-points code
...
I suggested Cosimo add that code in
https://github.com/fonttools/fonttools/pull/1528
Upon further inspection now, that code is unnecessary and even wrong in
cases where different masters have different ascent, because that would
result in encoding variations for vertical phantom points, which will
be then either be unused or double-apply on top of ascent etc.
2021-04-12 18:28:01 -06:00
Behdad Esfahbod
3cfc87be71
Merge pull request #2261 from fonttools/faster-GlyphCoordinates
...
Faster glyph coordinates
2021-04-09 14:05:19 -06:00
Behdad Esfahbod
dc0600c764
[TupleVariation] Fold call to hasImpact() into getUsedPoints()
...
Related:
https://github.com/fonttools/fonttools/issues/2263
Part of:
https://github.com/fonttools/fonttools/pull/2261
2021-04-09 13:36:29 -06:00
Behdad Esfahbod
bcd4a62f10
[TupleVariation] Use b'' instead of NotImplemented for "use shared points"
2021-04-09 12:16:15 -06:00
Behdad Esfahbod
ef0d695de9
[TupleVariation] Remove unused usesSharedPoints return from tv.compile()
2021-04-09 12:13:49 -06:00
Behdad Esfahbod
b3a9ef551a
[GlyphCoordinates] Use double, not float, again
...
https://github.com/fonttools/fonttools/pull/2261#discussion_r609928776
2021-04-09 11:43:44 -06:00
Behdad Esfahbod
85c9102d47
[TupleVariation] Use Counter() instead of defaultdict() for sharedCoords
2021-04-09 09:23:34 -06:00
Behdad Esfahbod
f3f1628571
[TupleVariation] Comment
2021-04-08 19:47:28 -06:00
Behdad Esfahbod
1650c15b55
[TupleVariation] Minor shift more code into getUsedPoints()
2021-04-08 19:32:54 -06:00
Behdad Esfahbod
f7b66c7af2
[VariationData] Fix tests after recent changes
2021-04-08 18:31:24 -06:00
Behdad Esfahbod
050b07d336
[TupleVariation] Optimize compileDeltas()
2021-04-08 18:24:13 -06:00
Behdad Esfahbod
78e9bc7b49
[TupleVariation] Optimize compilePoints()
...
Special-case "all points used" representation in the internal API.
2021-04-08 18:24:13 -06:00
Behdad Esfahbod
e0513cfee3
[TupleVariation] Avoid recompiling pointData
...
Pass them down to tv.compile().
Tests need to be updated for changed new internal tv.compile() API.
2021-04-08 18:22:00 -06:00
Behdad Esfahbod
7051829f75
[TupleVariation] Compile point set counts outside of key()
2021-04-08 17:42:10 -06:00
Behdad Esfahbod
683e898768
[TupleVariation] Optimize point-sharing
2021-04-08 17:36:58 -06:00
Behdad Esfahbod
f40e522ce9
[TupleVariation] Speed up case of useSharedPoints=False
2021-04-08 15:57:53 -06:00
Behdad Esfahbod
92bf782ef3
[TupleVariatin] Minor optimization of sharedPoints
2021-04-08 15:53:48 -06:00
Behdad Esfahbod
8dae627d3f
[TupleVariation] Rewrite getUsedPoints() as list comprehension
2021-04-08 15:50:52 -06:00
Behdad Esfahbod
12c88cc3a4
[TupleVariation] Remove use of byteord()
2021-04-08 15:50:52 -06:00
Behdad Esfahbod
c88aab1544
[TupleVariation] Minor optimization in compileDeltaValues_()
2021-04-08 15:50:52 -06:00
Behdad Esfahbod
ea505154df
[gvar] Avoid a copy in compileGlyph_()
2021-04-08 15:50:52 -06:00
Behdad Esfahbod
997b976e9a
[TupleVariation] Rewrite assertion faster
2021-04-08 15:50:52 -06:00
Behdad Esfahbod
b811c3f3f3
[gvar] Remove use of bytesjoin()
2021-04-08 12:18:58 -06:00
Behdad Esfahbod
67794827ff
[TupleVariation] Use defaultdict in compileSharedTuples
2021-04-08 11:56:36 -06:00
Behdad Esfahbod
9b379bbb87
[TupleVariation] Further optimize compileCoord()
2021-04-08 11:51:15 -06:00
Behdad Esfahbod
48e827aa21
[TupleVariation] Minor optimization in compileCoord()
2021-04-08 11:46:32 -06:00
Behdad Esfahbod
416ff89171
[TupleVariation] Minor optimize in using sharedCoordinates
2021-04-08 11:40:44 -06:00
Behdad Esfahbod
f40ca25726
[GlyphCoordinates] Remove isFloat() again
...
Based on subsequent review feedback.
2021-04-08 11:22:08 -06:00
Behdad Esfahbod
80069e9608
[py23] Make tobytes() always return bytes even for bytearray
2021-04-08 11:13:15 -06:00
Behdad Esfahbod
ec80f24315
[TupleVariation] Remove use of bytesjoin()
2021-04-08 11:11:50 -06:00
Behdad Esfahbod
f8d54b1ebb
[TupleVariation] Minor rewrite bound checks
2021-04-08 11:01:20 -06:00