1204 Commits

Author SHA1 Message Date
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
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
Behdad Esfahbod
2d5a3576d1 [varLib.interpolatable] Report index of contour in error message 2022-08-25 14:15:58 -06:00
Cosimo Lupo
f5933c1cfa Revert "[varLib.models] Generate narrower tents"
This reverts commit 688939394b8cae3b2a0d5747e435cbd828a14531.
2022-08-23 17:20:57 +01:00
Behdad Esfahbod
5284ac3c58 [varLib.models] Update docstring 2022-08-23 09:56:33 -06:00
Behdad Esfahbod
bad70c68ef [varLib] Support extrapolation
Fixes https://github.com/fonttools/fonttools/issues/1252
2022-08-23 09:56:33 -06:00
Behdad Esfahbod
fce82adba2 [varLib] Clean up __all__ 2022-08-22 11:59:04 -06:00
Behdad Esfahbod
129e9cf6a5 [varLib] Fix doc formatting 2022-08-22 07:43:48 -06:00
Behdad Esfahbod
aa2dae3be1 [instancer] Run black 2022-08-22 06:28:48 -06:00
Behdad Esfahbod
24c9fb6ffa [cliTools] Rename fragment to suffix 2022-08-22 06:26:30 -06:00
Behdad Esfahbod
e146ddfd86 [cliTools.makeOutputFileName] Add fragment argument
And use it from subsetter and instancer.

Related to https://github.com/fonttools/fonttools/issues/1156
2022-08-19 12:20:21 -06:00
Behdad Esfahbod
a2ed526277 [--help] Remove end-of-line periods 2022-08-18 07:40:13 -06:00
Behdad Esfahbod
61160fe5db [cffLib.specializer] Fix generalizer blend
Fixes https://github.com/fonttools/fonttools/issues/1975
2022-08-17 11:13:42 -06:00
Behdad Esfahbod
e494b118c4 [varLib.iup] Document API 2022-08-16 14:07:43 -06:00
Behdad Esfahbod
3325b47606
Merge pull request #2717 from fonttools/varLib-narrow
[varLib.models] Generate narrower tents
2022-08-16 12:46:22 -06:00
Behdad Esfahbod
171670a15f
[instancer] Simplify a couple of things (#2732)
* [instancer] Simplify normalization
2022-08-15 11:47:09 -06:00
Behdad Esfahbod
41e6f60011
Merge pull request #2738 from fonttools/glyphset
TTVarGlyphset
2022-08-15 11:07:41 -06:00
Behdad Esfahbod
dc99ab6b3f [ttGlyphSet] Address review comments 2022-08-15 11:06:51 -06:00
Cosimo Lupo
e3aaf59084
Merge pull request #2734 from fonttools/instancer-bug
[instancer] Fix bug in _instantiateFeatureVariations()
2022-08-15 13:59:41 +01:00
Behdad Esfahbod
688939394b [varLib.models] Generate narrower tents
Based on https://github.com/fonttools/fonttools/pull/2218
but modify the general solver instead.
2022-08-14 14:00:09 -06:00
Behdad Esfahbod
125dbc64b5 [varLib.interpolatable] Use new ttGlyphSet var feature to open varfont 2022-08-14 12:08:12 -06:00
Behdad Esfahbod
13e592cadf [instancer] Fix bug in _instantiateFeatureVariations()
Fixes https://github.com/fonttools/fonttools/issues/2733
2022-08-09 17:15:29 -06:00
Nikolaus Waxweiler
489eff6715 [varlib.build_many] Pass on colr_layer_reuse 2022-08-08 14:06:49 +01:00
Behdad Esfahbod
68b0509711 [varLib.AligningMerger] Try harder to make it work as a standalone merger 2022-08-04 13:22:00 -06:00
Behdad Esfahbod
287ac43212 [varLib.AligningMerger] Make it work as a standalone merger 2022-08-04 12:30:44 -06:00
Behdad Esfahbod
21d22ae30f
Merge pull request #2716 from fonttools/interpolatable-opener
Interpolatable opener
2022-07-29 14:42:58 -06:00
Behdad Esfahbod
c1dc2f3c81
Merge pull request #2711 from fonttools/iup-cython
Compile a couple of modules with Cython when available
2022-07-29 11:21:47 -06:00
Behdad Esfahbod
3e6b9c8c08 [varLib.interpolatable] Open .glyphs files as well 2022-07-29 11:19:27 -06:00
Behdad Esfahbod
10aecc029a [varLib.interpolatable] Support reading .designspace file 2022-07-29 11:19:22 -06:00
Cosimo Lupo
c6b2ba5286 [varLib.merge] fix NameError: 'NotANone'
Fixes https://github.com/fonttools/fonttools/issues/2712
2022-07-29 13:05:26 +02:00
Behdad Esfahbod
aa509b6df2 [varLib.interpolatable] Fix mix of space & tab 2022-07-28 14:01:15 -06:00
Behdad Esfahbod
5d9677038b [varLib.iup] Compile with Cython when available
Even with no annotations, makes it ~35% faster.
2022-07-28 12:35:02 -06:00
Just van Rossum
8c19828d7e
[varLib.merge] Fix for error during error reporting (#2689)
* work around error during error reporting, as reported in #2688

* Use stack[-1] (the table tag) as per feedback
2022-07-12 20:59:29 +02:00
Just van Rossum
1c8efee98d fix typo in COLR merge 2022-07-07 16:00:43 +02:00
Cosimo Lupo
a08140dc76 [varStore/subset] correctly handle NO_VARIATION_INDEX when subsetting varidxes
otherwise GDEF/GPOS.remap_device_varidxes may fail with KeyError attempting to map a NO_VARIATION_INDEX
2022-07-06 17:29:00 +01:00
Cosimo Lupo
eab9aa5a22 instancer: use_NO_VARIATION_INDEX=False when optimizing {H,V}VAR VarStore
Same as we do in subsetter, see e01f643a8e
2022-07-06 16:36:05 +01:00
Nikolaus Waxweiler
ce38db6562
Merge pull request #2673 from daltonmaag/instancer-set-bits
Set RIBBI bits when cutting instances
2022-07-06 11:01:08 +01:00
Cosimo Lupo
2a07518b70
Merge pull request #2660 from fonttools/variable-colr
[varLib] add support for building variable COLR from set of master COLRv1 tables
2022-07-06 10:55:50 +01:00
Nikolaus Waxweiler
2cd4f7e688 Use NameID enum 2022-07-06 10:40:27 +01:00
Nikolaus Waxweiler
87bf2a866d Update docstring 2022-07-06 10:37:22 +01:00
Cosimo Lupo
cdc7cc3cc4 COLR merger be cleverer and only deepcopy effectively reused layers
instead of blindly copying them all like in previous commit.
2022-07-05 20:37:54 +01:00
Cosimo Lupo
c27483fa54 [instancer] add --no-recalc-bounds CLI option 2022-07-05 19:02:21 +01:00
Cosimo Lupo
8a9f16d129 COLRVariationMerger: copy destination layers to ensure they are unique and can be modified in place 2022-07-05 17:53:39 +01:00
Nikolaus Waxweiler
e84bee9cd9 Set bits only after updating names 2022-07-05 16:10:15 +01:00
Nikolaus Waxweiler
2c773441cf Remove logging 2022-07-05 16:09:37 +01:00
Nikolaus Waxweiler
16d899a2be Apply RIBBI bits to all kinds of fonts 2022-07-05 15:45:44 +01:00
Cosimo Lupo
e5029801d2 support merging COLR masters with 'sparse' glyphsets or different layer count
There is no longer a requirement that all the masters have exactly the same base color glyphs as the default masters. Similarly, it's no longer required that all masters' LayerLists have the same total count of layers. It is sufficient that, for a base color glyph in the default master, a non-default master may (or may not) contain one with the same name and same effective number of layers (which in turn can be laid out differently in the respective LayerLists).
This provides greater flexibility when working with variable font project with sparse glyph sets.
2022-07-05 00:11:12 +01:00
Cosimo Lupo
5d52124e49 varLib.errors: allow to give extra context as to where an error occurs in the optional 'cause' 2022-07-04 18:52:20 +01:00