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
Behdad Esfahbod
1adacb34f0
[varLib.mutator] Apply avar
2017-10-20 20:13:14 -04:00
Behdad Esfahbod
9d4991e20c
[varLib] Move MVAR data table to varLib.mvar
2017-10-17 11:09:50 -07:00
Behdad Esfahbod
f284b733a9
[varLib] Move IUP code into fontTools.varLib.iup
2017-10-15 18:16:01 -04:00
Jens Kutilek
a25a401fd2
Merging TT hinting ( #1069 )
...
Merge cvts; copy fpgm, prep, glyf programs from base master if compatible.
2017-10-12 10:40:40 +02:00
Behdad Esfahbod
c91f0323db
Rename CVTValues to arrayTools.Vector
...
This is generic, and useful in other cases.
2017-10-10 12:43:15 +02:00
Jens Kutilek
55cda3901c
Only emit a cvar tuple if any delta is not zero.
2017-10-09 17:30:27 +02:00
Jens Kutilek
eaeb366810
Remove debug prints
2017-10-09 13:16:58 +02:00
Jens Kutilek
5b39aa7af2
Implement building cvar tables
2017-10-09 13:08:55 +02:00
Cosimo Lupo
588f5246c0
[varLib] default to using "name" attribute if "labelname" is missing
...
Instead of raising AssertionError when users define custom axes
without explicit `<labelname xml:lang="en">ZZZZ</labelname>` element,
it's better to use the axis' name attribute, and treat it as "en"
language.
For example, if users generate the designspace from SuperPolator,
they can't edit the axis labelname attribute from the UI (or maybe
it's just me that couldn't figure out how to do it).
2017-09-15 16:49:16 -04:00
Cosimo Lupo
04eacf13cd
[varLib] include default maps for all avar axes, even without <map> elements
...
This is a follow-up to Jens' comment:
19c4b377b8 (commitcomment-23458151)
Now, if there's any axis that has 'interesting' segment maps (and thus
an avar table is added), we also ensure that for the rest of the axes
that aren't modified (either because no <map> elements are defined or
because an identity mapping is defined in the designspace), we always
have a non-empty segment maps array containing the three default maps:
{-1.0: -1.0, 0.0: 0.0, 1.0: 1.0}.
This is to work around CoreText and DirectWrite rendering issue with
empty avar segment maps arrays.
2017-08-16 16:30:11 +01:00
Behdad Esfahbod
49f249b118
[varLib] Add faster tables first
...
Speeds up development speed :).
2017-08-04 09:07:38 +01:00
Cosimo Lupo
b5ab6d3af3
[varLib] temporary workaround to make MVAR tests pass
...
https://travis-ci.org/fonttools/fonttools/jobs/260671300#L2519-L2519
Behdad will revert this later
2017-08-03 17:57:16 +01:00