Behdad Esfahbod
5c1ca73123
[varLib] Rename allSame() to allEqual()
...
Being same ("is") is not the same as being equal ("=="), even though
the two are equal most of the time.
2018-11-10 15:06:07 -05:00
Behdad Esfahbod
83ea9f0f7c
[varLib] Merge GSUB as well
...
Again, currently this just checks that all masters have the same GSUB.
2018-11-08 23:04:49 -05:00
Behdad Esfahbod
96aa09203f
[varLib] Merge GDEF table
...
Currently, it just makes sure that all masters have the same GDEF.
2018-11-08 23:02:01 -05:00
Behdad Esfahbod
5cfb2fbb24
[varLib] Support sparse masters in MVAR
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 18:02:28 -05:00
Behdad Esfahbod
881023c700
[varLib] Minor
2018-11-08 17:58:30 -05:00
Behdad Esfahbod
c2f0cdc31b
[varLib] Fixups
...
Sorry that this is a mixed bag.
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 16:39:11 -05:00
Behdad Esfahbod
70d5429c92
[varLib] Fixup
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 15:02:04 -05:00
Behdad Esfahbod
6fb55304fc
[varLib] Remove stale comment
2018-11-08 15:01:16 -05:00
Behdad Esfahbod
4865f48c95
[varLib] Allow sparse masters in HVAR
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 14:48:24 -05:00
Behdad Esfahbod
446ee2a4d0
[varLib] Skip empty glyphs
...
Untested.
https://github.com/fonttools/fonttools/pull/1368#issuecomment-437082906
2018-11-08 12:58:29 -05:00
Behdad Esfahbod
b95967dd07
[varLib] Add models.allSame() and use it
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 11:36:58 -05:00
Behdad Esfahbod
fba530a548
[varLib] Add VariationModel.getDeltasAndSupports()
...
which automatically fetches submodel. Needs docstrings...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 11:31:44 -05:00
Behdad Esfahbod
6886075a23
[varLib] rename .modelFor() to .getSubModel()
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 11:31:42 -05:00
Behdad Esfahbod
23c58e91d0
[varLib] Allow sparse masters for CVT tables
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 11:31:41 -05:00
Behdad Esfahbod
40a5fb0808
[varLib] Allow sparse masters when merging hinting
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 11:31:39 -05:00
Behdad Esfahbod
1527bb8afc
[varLib] Allow sparse masters in gvar
...
Part of https://github.com/googlei18n/fontmake/issues/88
Part of https://github.com/fonttools/fonttools/issues/1355
2018-11-08 11:31:36 -05:00
David Březina
7e33c427db
Better test for none-ness
2018-10-24 19:08:11 +02:00
David Březina
28245afe1e
Fix normalization error when condition’s minimum/maximum are missing in designspace, update test too
...
Fixes #1346
2018-10-24 18:46:45 +02:00
Cosimo Lupo
9f18570aac
implement building GSUB FeatureVariations from DS rules
...
Fixes https://github.com/fonttools/fonttools/issues/1176
2018-09-14 16:16:33 +02:00
Cosimo Lupo
26ddbcfe46
varLib: return a namedtuple from load_designspace
...
so we can also return the list of parsed rule elements
2018-09-12 19:16:13 +02:00
Cosimo Lupo
5457270775
designspaceLib: 'axes' element is required by DesignSpaceDocument, remove fallback code
2018-09-11 18:25:43 +02:00
Cosimo Lupo
0f4bdf65e6
varLib: use designspaceLib instead of varLib.designspace
...
and replace _DesignspaceAxis with AxisDescriptor
2018-09-11 18:16:52 +02:00
Cosimo Lupo
d570fc038a
use otRound when rounding visual coordinates or deltas
...
So we now round towards +Infinity in:
- floatToFixed (which fully examplify that quotes from OT spec)
- psCharStrings: when packing floats as fixed 16.16
- t2CharStringPen: when rounding coordinates and advance widths
- subset: when rounding advance widths to compute average
- TupleVariation: rounding gvar deltas
- _g_l_y_f: when rounding coordinates: both in GlyphComponent.{x,y}
and for GlyphCoordinates.toInt()
- _h_m_t_x: for rounding horiz/vert metrics
- varLib: rounding horiz metrics and deltas
2018-06-14 17:40:11 +01:00
Cosimo Lupo
e35151a051
Merge remote-tracking branch 'origin/master' into add-feature-variations
2018-06-11 12:49:31 +01:00
ReadRoberts
4da8f43eeb
[varLib] Fix bug in varLib.build() for CFF2.
...
The logic should attempt to build a cvar table only if there is a glyf table. This stack dumps when the font is a CFF2 font.
2018-05-10 10:12:28 +01:00
Cosimo Lupo
c616e10e45
varLib: add --master-finder option
...
Takes a template containing predefined strings {dirname}, {basename},
{stem}, {ext} and {fullname}, to customize the location of the binary
master TTFs in relation to the designspace source filenames.
2018-04-25 13:19:58 +01:00
Cosimo Lupo
d7b4d06882
[varLib] minor: rename variables for clarity; fix mixed tab-space indent
...
confuses my vim
2018-04-17 14:22:52 +02:00
Cosimo Lupo
ffc7dfc23d
[varLib] don't need to read nameTable in _add_stat
...
for now at least...
2018-04-16 12:55:51 +02:00
Cosimo Lupo
08c30e9fde
[varLib] make STAT v1.2, reuse fvar nameIDs
...
Fixes https://github.com/googlei18n/fontmake/issues/417
2018-04-16 12:40:02 +02:00
Cosimo Lupo
168c7e1cd3
[varLib] rename --disableIUP to --disable-iup
2018-03-06 12:46:27 +01:00
Rob McKaughan
4b44d97920
Add flag to disable IUP optimization
2018-03-05 15:32:17 -08:00
Cosimo Lupo
ad7b97a7b2
[varLib.mutator] clamp width to 0 if left/right phantom points are swapped
...
https://github.com/fonttools/fonttools/pull/1198
2018-02-28 15:13:59 +00:00
Behdad Esfahbod
e910309952
[varLib] Optimize HVAR VarStore and indirection
2018-02-21 01:22:59 -08:00
Behdad Esfahbod
1adf7fd2c0
[varLib] Update tests for VarStore optimization
...
Also, don't emit GDEF if VarStore is empty.
2018-02-21 01:10:36 -08:00
Behdad Esfahbod
398f7169c8
[varLib] Optimize MVAR VarStore
2018-02-21 00:55:39 -08:00
Behdad Esfahbod
7aef5c8072
[varLib] Optimize GDEF VarStore when generating varfonts
...
Sweet...
2018-02-21 00:22:14 -08:00
Behdad Esfahbod
323783d41c
[varLib] Allow excluding arbitrary tables
2018-02-19 19:16:35 -08:00
Behdad Esfahbod
ca7cd85731
[varLib] Add a couple of commandline options
2018-02-19 17:18:27 -08:00
Behdad Esfahbod
48125e9812
[varLib] Fix HVAR generation
...
We cannot tail-optimize there.
2018-02-18 22:58:47 -08:00
Behdad Esfahbod
21cbab8ce9
Fix read/write of VarIdxMap to use glyph names
...
Was relying on glyph IDs. Ouch.
2018-02-18 22:33:32 -08:00
Behdad Esfahbod
eb6af2da72
[varLib] Fix pruning of HVAR
2018-02-18 21:49:39 -08:00
Behdad Esfahbod
23d373caac
[varLib] Comment
2018-02-18 21:45:27 -08:00
Denis Moyogo Jacquerye
846f1afa95
varLib: don’t fail if STAT already in font
2018-02-05 13:12:24 +00:00
Behdad Esfahbod
8af430997d
[varLib] Start generating STAT table
...
Right now just reflects the axes, and even that with certain limitations:
- AxisOrdering is set to the order axes are defined,
- Name-table entries are not shared with fvar.
Towards https://github.com/LettError/designSpaceDocument/issues/8
2017-11-13 21:25:04 -08:00
Behdad Esfahbod
22f3b466b4
[varLib] Add TODO
2017-11-13 21:01:27 -08:00
Behdad Esfahbod
645b7a8355
[varLib] Pass fvar axis order ot VariationModel()
...
Update expected test results.
2017-10-25 15:43:47 -06:00
Jens Kutilek
97a31eb34e
Missed a change in return values
2017-10-22 17:56:12 -04:00
Cosimo Lupo
4bd57b9844
[mvar] rename MVAR_entries -> MVAR_ENTRIES
...
I like all-uppercase for global constants
2017-10-22 12:19:24 +01:00
Cosimo Lupo
28bb992c1f
replace int(round(...)) with round(...)
...
We don't need to cast to int when using the round function from py23,
as this is a backport of python3's built-in round and thus it returns
an int when called with a single argument.
2017-10-22 12:03:52 +01:00
Behdad Esfahbod
8db7a65d39
[varLib.varStore] New module
2017-10-20 20:13:14 -04:00