6015 Commits

Author SHA1 Message Date
Colin Rofls
4716f85731 [feaLib] Sort name table entries in builder
This patch ensures that feaLib always produces a name table with entries
sorted in the order proscribed by the spec: platform id, encoding id,
language id, name id.

This breaks some tests, and so I have manually updated the test data to
match the new outputs.
2022-12-13 10:39:33 -05:00
Behdad Esfahbod
4f3cb7e4bc [cu2quPen] Add Cu2QuMultiPen 2022-12-12 09:55:12 -07:00
Behdad Esfahbod
78e10d8b42 [ttGlyphPen] Add outputImpliedClosingLine argument
Fixes https://github.com/fonttools/fonttools/issues/2913
2022-12-12 09:53:59 -07:00
Behdad Esfahbod
ddbbef2257 [reverseContourPen] Add outputImpliedClosingLine
Fixes https://github.com/fonttools/fonttools/issues/2914
2022-12-12 09:49:06 -07:00
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
73923b3a1e Typo 2022-12-07 15:19:07 -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
Nikolaus Waxweiler
45c89c0700 Add DS.getAxisByTag and refactor getAxis 2022-11-14 19:15:47 +00:00
Cosimo Lupo
a1fc9b1efc
Merge pull request #2889 from fonttools/unicodedata-Zmth
[unicodedata] map Zmth<->math in ot_tag_{to,from}_script
2022-11-11 20:37:36 +00:00
Cosimo Lupo
3585641248
Merge pull request #2884 from fonttools/woff2-overlap-simple
[woff2] Support encoding/decoding OVERLAP_SIMPLE glyf flags
2022-11-11 12:23:38 +00:00
Cosimo Lupo
8697f91cdc
[unicodedata] map Zmth<->math in ot_tag_{to,from}_script
Fixes https://github.com/fonttools/fonttools/issues/1737
2022-11-11 12:20:37 +00:00
Cosimo Lupo
dbc3b48879
[instancer] udpdate OS/2 class and post.italicAngle when default moved (L4)
Previously we were only updating these when pinning wght/wdth/slnt axes.
Now we do whenever any of these axes defaults are changed, whether or not the axes are pinned or kept

Fixes https://github.com/fonttools/fonttools/issues/2885
2022-11-09 16:33:23 +00: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
Parag Nemade
0a176acabc
Update branch name from master to main 2022-11-09 10:11:02 +05:30
Behdad Esfahbod
82b90236f8
Merge pull request #2880 from fonttools/instancer-featureVars
Instancer feature vars
2022-11-04 11:56:18 -06:00
Behdad Esfahbod
672c4bacdd [instancer.featureVars] Address review comments 2022-11-04 11:55:48 -06:00
Behdad Esfahbod
392706949c [instancer.featureVars] Fix deficiency in L4 instancing
See discussion on the issue.  I think I got this right.

Fixes https://github.com/fonttools/fonttools/issues/2737
2022-11-03 14:55:01 -06:00
Behdad Esfahbod
1b6f4fb858 [instancer.featureVars] Minor adjustments 2022-11-03 14:54:47 -06:00
Behdad Esfahbod
ecfcdffe9f [instancer.featureVars] Combine two functions
Fold _limitFeatureVariationRecord() into
_instantiateFeatureVariationRecord().
2022-11-03 14:22:02 -06:00
Behdad Esfahbod
6e156a7f13 [instancer] Split featureVars code into own module
Towards fixing https://github.com/fonttools/fonttools/issues/2737
2022-11-03 14:21:27 -06: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
0f48f0a5ea [varLib/featureVars] Insert rvrn lookups at beginning
Fixes https://github.com/fonttools/fonttools/issues/2140
Fixes https://github.com/googlefonts/fontmake/issues/950
2022-10-28 15:45:40 -06:00
Behdad Esfahbod
492645239b [varLib / instancer] Remove DSIG table from font
Fixes https://github.com/fonttools/fonttools/issues/1480
2022-10-28 11:42:57 -06:00
Behdad Esfahbod
9369edb6a9 [mutator] Remove DSIG table if present
Fixes https://github.com/fonttools/fonttools/issues/1480
2022-10-26 14:48:32 -06:00
Behdad Esfahbod
f379aced4d [svgPathPen] Don't close path in endPath()
Fixes https://github.com/fonttools/fonttools/issues/2089
2022-10-26 14:36:22 -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
57afc89835
Bump version: 4.38.0 → 4.38.1.dev0 2022-10-21 19:17:59 +01:00
Cosimo Lupo
111d2c5c0f
Release 4.38.0 2022-10-21 19:17:57 +01:00
Cosimo Lupo
b74d098115
add custom repr to AxisTriple so they print nicer in the logging output 2022-10-21 18:38:55 +01:00
Cosimo Lupo
86e1202129
[instancer] expand singles/tuples to triples upfront and use triples throughout
Also renamed AxisTent => AxisTriple because I think "tent" is more appropriate to visualize master supports (i.e. a triangle with a peak in the middle), here it's simply the new desired min, default, max values of an axis, or the axis limits.

The public facing instantiateVariableFont continues to accept a hybrid map of axis tags to single values or 2- (and now also 3-) tuples, these are normalized to an AxisLimits mapping that contains only AxisTriples and passed around to the internal methods.
2022-10-21 17:49:35 +01: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
Cosimo Lupo
6fd5bc270e
Merge pull request #2860 from fonttools/set-redundant-attrs
[otlLib|featureVars] sort name records after building STAT, set redundant Counts
2022-10-20 17:31:45 +01:00
Cosimo Lupo
c41cda33c1
featureVars: set FeatureCount/LangSysCount, even if 0 2022-10-20 16:45:44 +01:00
Cosimo Lupo
41ff9511cc
otlLib: sort names after building STAT, set AxisValueCount=0 2022-10-20 16:44:02 +01:00
Jany Belluz
1cb5ef57dd [designspaceLib] Allow non-zero Upright values in STAT entries 2022-10-19 10:44:36 +01:00
Jany Belluz
3577728a43 [designspaceLib] Fix check for Upright STAT entry 2022-10-19 09:58:15 +01:00
Jany Belluz
12d13f0b26 [designspaceLib] Fix recursion error with linkedUserValue in both directions 2022-10-18 17:32:14 +01:00
Cosimo Lupo
040fdb03a0
Rework assertion per feedback 2022-10-13 19:17:33 +01:00
Cosimo Lupo
3c935f95ca
normalizeLocation: fix ZeroDivisionErrors with extrapolate=True
these happens when v < default and default==lower, or when v > default but default==upper...
2022-10-13 18:39:56 +01:00
Behdad Esfahbod
233014117b [instancer] Adjust featureVariations retaining logic
https://github.com/fonttools/fonttools/pull/2728#discussion_r975606307
2022-10-13 10:35:02 -06:00
Behdad Esfahbod
9c7ffef55e [instancer] Run black 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
e554ec1dc6 [instancer] Small fix for featureVariations instancing 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
1ff1a537e8 [instancer] Implement L4 featureVariations 2022-10-13 10:35:02 -06:00
Behdad Esfahbod
bce11dfc85 [instancer.solver] Improve diagram for a case 2022-10-13 10:35:02 -06:00