26 Commits

Author SHA1 Message Date
Sascha Brawer
970c37e395 [GX] Compile sets of packed point numbers for 'gvar' table
Work in progress. Prints out various debug info that will be removed
in the final version.
2015-06-08 23:00:00 +02:00
Sascha Brawer
6976d8ed33 [GX] Omit 'gvar' tuples whose deltas are all zero
In the Apple Skia font, about 5% of all tuples are redundant
because all their delta offsets are (0, 0); these tuples can
be omitted without any visual loss. But in the BuffaloGalRegular
and JamRegular fonts, there are no such redundant tuples.
2015-06-08 23:00:00 +02:00
Sascha Brawer
303caee946 [GX] Rename decompileTuples_() to decompileGlyph_i()
For symmetry with compileGlyph_(), and because the name carries more meaning.
2015-06-08 23:00:00 +02:00
Sascha Brawer
936d079428 [GX] Fix default coordinate values for non-intermeditate 'gvar' tuples 2015-06-08 22:59:59 +02:00
Sascha Brawer
50a2ada262 [GX] Test compileGlyph() for 'gvar' table without actual variations 2015-06-08 22:59:59 +02:00
Sascha Brawer
86ecd4dac0 [GX] Build shared coordinate table when compiling 'gvar' 2015-06-08 22:59:59 +02:00
Sascha Brawer
21098228f0 [GX] Resurrect 'gvar' table from XML 2015-06-08 22:59:59 +02:00
Sascha Brawer
908bc15b74 [GX] Move decompilePoints() and decompileDeltas() into class GlyphVariation 2015-06-08 22:59:59 +02:00
Sascha Brawer
3f715e433e [GX] Move helper methods for (de)compiling GlyphVariation into class GlyphVariation
Specifically, compileCoords(), decompileCoords(), compileCoord(), decompileCoord(),
and getTupleSize().
2015-06-08 22:59:59 +02:00
Sascha Brawer
19863123d6 [GX] Add methods compileCoord() and compileCoords() 2015-06-08 22:59:58 +02:00
Sascha Brawer
c7650e5cb1 [GX] In XML for 'gvar' table, rename glyphVariation to glyphVariations
It is a list of variations, not a single variation.
2015-06-08 22:59:58 +02:00
Sascha Brawer
a82affb34c [GX] Move XML generation for GlyphVariations into separate method 2015-06-08 22:59:58 +02:00
Sascha Brawer
e0bd569a73 [GX] Align signature of decompileCoord() with that of similar methods 2015-06-08 22:59:58 +02:00
Sascha Brawer
5352ceb824 [GX] Handle intermediate coordinates in 'gvar' tuples 2015-06-08 22:59:58 +02:00
Sascha Brawer
343539d569 [GX] Write 'gvar' coordinates to XML 2015-06-08 22:59:58 +02:00
Sascha Brawer
50f3ca52da [GX] Handle embedded coordinates of 'gvar' tuples 2015-06-08 22:59:57 +02:00
Sascha Brawer
ea071c3025 [GX] Decompile non-embedded 'gvar' tuple coordinates 2015-06-08 22:59:57 +02:00
Sascha Brawer
39622ed66d [GX] Parse 'gvar' tuples and write them as XML 2015-06-08 22:59:57 +02:00
Sascha Brawer
5f317b2ed4 [GX] Decode packed point numbers 2015-06-08 22:59:57 +02:00
Sascha Brawer
1f650d7f72 Minor docfix 2015-06-08 22:59:57 +02:00
Sascha Brawer
1d90b77d2e Parse tuple header in 'gvar' table 2015-06-08 22:59:57 +02:00
Sascha Brawer
3b32f25ebd Use xrange() instead of range() 2015-06-08 22:59:56 +02:00
Sascha Brawer
9d7102fdfe [GX] Implement decoding of packed deltas 2015-06-08 22:59:56 +02:00
Sascha Brawer
37e9e04f0b Avoid string copies when parsing 'gvar' table 2015-06-08 22:59:56 +02:00
Sascha Brawer
674fb52c37 Assemble offset table for 'gvar' 2015-06-08 22:59:56 +02:00
Sascha Brawer
56a4d3f9e3 [GX] Handle 'gvar' table with glyph variations 2015-06-08 22:59:56 +02:00