Behdad Esfahbod
6aca5be9b7
[gvar] Don't expand glyph for unused pointCount
...
Keep it in the API though.
2022-12-09 11:39:07 -07:00
Behdad Esfahbod
96de954d29
[gvar] Don't expand glyph during decompile if no variation data
2022-12-07 21:34:36 -07:00
Behdad Esfahbod
3a258573af
[gvar] Avoid decompiling glyphs that don't have variations
2022-12-07 14:50:15 -07:00
Zachary Quinn Scheuren
0c43aeb511
Skip scaling of vsindex in scaleUpem.py
2022-11-17 21:40:32 +09:00
Cosimo Lupo
b4e664da21
[woff2] Add support for encoding/decoding OVERLAP_SIMPLE glyf flags in WOFF2
...
Fixes #2576
This updates our woff2 encoder/decoder to support retaining the OVERLAP_SIMPLE glyf flag following the updated WOFF 2.0 specification and official google/woff2 implementation.
https://www.w3.org/TR/WOFF2/#glyf_table_format
2022-11-09 13:56:46 +00:00
Behdad Esfahbod
155c32c2d0
[ttLib/main] Fix writing!
2022-11-01 11:18:56 -06:00
Behdad Esfahbod
d23804c916
[ttLib/main] Port to argparse instead of getopt
2022-11-01 11:18:56 -06:00
Behdad Esfahbod
366e16b36b
[ttLib] Convert fonts <-> collection in main()
...
Fixes https://github.com/fonttools/fonttools/pull/2869
2022-11-01 11:18:56 -06:00
Behdad Esfahbod
a639516c4c
[ttLib] Add main
...
Just opens font files from commandline.
2022-11-01 11:18:56 -06:00
Behdad Esfahbod
027de814e2
[subset/SVG] Speed up
...
Subsetting NotoColorEmojiSvg for one glyph.
Before: 280ms
After: 80ms
Fixes https://github.com/fonttools/fonttools/issues/2360
2022-10-26 14:06:35 -06:00
Cosimo Lupo
40b2473a48
Merge pull request #2728 from fonttools/instancer-l4
...
[instancer] Towards L4 instancing
2022-10-21 16:39:09 +01:00
Behdad Esfahbod
3d2fa8a342
[glyf] Return component transform as part of control data
...
This makes sure that when we are building variable fonts, we
check that all masters have the same component transform in
composite glyphs. We were not checking for this before.
2022-10-20 11:05:08 -06:00
Behdad Esfahbod
5ff9546531
[TupleVariation] Add __imul__
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
f19283e692
[scaleUpem] Handle CFF hintmask
2022-10-04 12:40:14 -06:00
Behdad Esfahbod
6b7c2767d7
[scaleUpeam] Calculate numShorts in VarData after scale
...
Part of https://github.com/fonttools/fonttools/issues/2840
2022-10-04 12:34:53 -06: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
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
Just van Rossum
8932ab427f
Convert tabs to spaces
2022-08-29 19:28:46 +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
Behdad Esfahbod
f5a1d0ba10
[ttVarGlyphSet-CFF] Handle font without advance variation
2022-08-26 21:24:24 -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
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
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
Just van Rossum
0637b24b2a
Read gvar more lazily by not parsing all of the 'glyf' table
2022-08-24 16:38:00 +02:00
Just van Rossum
5aa83bed33
make glyphset[gn].drawPoints(pointPen) work for CFF
2022-08-24 14:48:58 +02:00
Behdad Esfahbod
1d285e82ca
[scaleUpem] Scale all FontMatrix entries, not just two
2022-08-22 11:16:47 -06:00