15 Commits

Author SHA1 Message Date
Sascha Brawer
155ec67ae6 [cvar] Implement cvar table 2017-01-10 17:57:04 +01:00
Sascha Brawer
7dd5c6e358 [cvar] Add test case for round-tripping TupleVariationStore for cvar 2017-01-10 10:52:19 +01:00
Sascha Brawer
6a67c6ee0f [cvar] Fix crashing cvar compilation if deltas are None 2017-01-10 10:45:41 +01:00
Sascha Brawer
317c26418a [cvar] Compile tuple variations whose deltas affect constants 2017-01-10 10:10:21 +01:00
Sascha Brawer
552b72c3d6 [gvar] Cosmetic cleanup of unit tests 2017-01-10 10:10:21 +01:00
Sascha Brawer
689008a4f5 [gvar/cvar] Rename decompileVariationTuples to decompileVariationTupleStore
For consistency with the terminology of the OpenType 1.8 specification,
and for symetry with the compileVariationTupleStore function.
2017-01-09 19:00:39 +01:00
Sascha Brawer
5d3eae404c [cvar] Compile TupleVariationStores in common library 2017-01-09 17:34:45 +01:00
Sascha Brawer
c3d68a684e [cvar] Move compileSharedTuples() to module TupleVariation 2017-01-09 17:01:43 +01:00
Sascha Brawer
87d854e881 [cvar] Move decompilation of shared tuples to TupleVariation.py 2017-01-09 14:25:16 +01:00
Sascha Brawer
24a02fedd7 [cvar] Refactor decompilation of tuple variation stores 2017-01-09 14:05:52 +01:00
Sascha Brawer
7f9ab7fc7f [gvar] Remove unused function 2017-01-05 17:54:38 +01:00
Sascha Brawer
039cb48927 [gvar] Move gvar.computeMinMaxCoord() to TupleVariation.inferRegion()
Document what this helper function does, using terminology from
the OpenType 1.8 specification.
2017-01-05 13:35:27 +01:00
Sascha Brawer
39c4ef621c [cvar] Change warning message for out-of-range points 2017-01-05 08:55:36 +01:00
Sascha Brawer
6275668840 [cvar] Support XML input/output for TupleVariations on constant values
OpenType TupleVariations can be used in two places:

* In the `gvar` table, they modify glyph contour points by shifting
  them towards a point in 2D space.

* In the `cvar` table, they modify constant values.

Before this change, we only had code to handle the `gvar` version
which shifts points around by delta values.

After this change, the XML parsing and generation routines of
TupleVariations can handle deltas that modify constant values in the
CVT table, as used in `cvar`.

An upcoming change will add support for the binary encoding of
TupleVariations as needed for `cvar`.
2017-01-04 18:16:14 +01:00
Sascha Brawer
3420bb116c [gvar] Move TupleVariation to its own source file
The TupleVariation structure is used both for `gvar` and `cvar`.
2017-01-04 14:07:38 +01:00