Cosimo Lupo
71e44a52ee
TupleVariation.toXML: sort attrs min/value/max in TTX dump
...
It's more legible if the peak value is written after the min and before the max value
defining a given region.
2019-03-04 16:41:26 -08:00
Behdad Esfahbod
349cd94d17
[graphite] Fix for big-endian
...
Make all "if sys.byteorder..." and "byteswap" be on the same line for
earsier grep verification.
Fixes https://github.com/fonttools/fonttools/issues/1311
2018-09-05 21:12:53 -07: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
Jens Kutilek
cb6676f93e
Don't share points in cvar by default (fails in Chrome), adjust tests to test both shared and private points in cvar
2017-11-24 19:06:36 +01:00
Jens Kutilek
b9bca702f6
[varLib] Try a set of used points instead of all points ( #1090 )
...
* Try a set of used points instead of all points when testing whether to share points.
* Amend comment, remove unused variable
2017-11-06 11:49:26 +01:00
Jens Kutilek
cb364aff2c
Remove outdated comment
2017-10-22 17:56:12 -04:00
Jens Kutilek
3745cf19ec
Keep track of whether a tuple with proposed shared points actually can use them
2017-10-22 17:56:12 -04:00
Jens Kutilek
671cdc2edb
Reactivate shared point logic
2017-10-22 17:56:12 -04:00
Jens Kutilek
abe0553c63
Fix constant name in unused code
2017-10-22 17:56:12 -04:00
Cosimo Lupo
a1c2cf1137
[TupleVariation] write axis coord values as float in toXML()
...
https://github.com/fonttools/fonttools/pull/1026#pullrequestreview-56807115
2017-08-17 11:13:00 +01:00
Behdad Esfahbod
3ece5d842c
[TupleVariation] Copy items in constructor
...
Avoids surprises when aller modifies those same objects.
2017-05-18 16:06:10 -07:00
Denis Moyogo Jacquerye
891405fd68
TupleVariation: round deltas before encoding ( #861 )
...
* TupleVariationTest.test_compileDeltaValues(): also test floats
* TupleVariation: round deltas before encoding
Python 3 was raising 'struct.error: required argument is not an integer' and Python 2 was truncating when deltas are floats
2017-02-24 08:58:41 -08:00
Sascha Brawer
155ec67ae6
[cvar] Implement cvar table
2017-01-10 17:57:04 +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
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
625460836a
[cvar] Pass table tag to point decompilation routine
2017-01-09 13:23:51 +01:00
Sascha Brawer
de55ab2889
[cvar] Rename numPointsInGlyph to pointCount so it works for cvar
...
There are no glyphs in the `cvar` table.
2017-01-09 13:21:51 +01:00
Sascha Brawer
7c082600d3
[cvar] Move decompilation for single TupleVariation out of gvar
...
Rename local variables to match terminology of OpenType 1.8 specification
2017-01-09 12:14:12 +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