792 Commits

Author SHA1 Message Date
Sascha Brawer
b85ff8ed31 [GX] Compile delta offsets for 'gvar' table to compact encoding 2015-06-08 23:00:01 +02:00
Sascha Brawer
94bf26eace Minor 2015-06-08 23:00:00 +02:00
Sascha Brawer
054002225d [GX] Test round-trip compilation of randomized 'gvar' points 2015-06-08 23:00:00 +02:00
Sascha Brawer
79e704807d [GX] Add comment on when to use shared versus private point lists for 'gvar' tuples 2015-06-08 23:00:00 +02:00
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
362aadc8e7 Fix typo in name of test method 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
41c2081a5c Fix unittest on 'gvar' shared coordinates 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
Behdad Esfahbod
8724513a67 [kern] Speedup compiling by 2x
By using font.getReverseGlyphMap().
2015-05-27 17:09:33 -07:00
Behdad Esfahbod
1d93f9099d [kern] Make decompiling another 2x faster
By using font.getGlyphOrder()!
2015-05-27 17:05:09 -07:00
Behdad Esfahbod
4860a88243 [kern] Speed up decompiling by 4x
Mostly by not creating a new object in the hot loop.
2015-05-27 17:05:01 -07:00
Cosimo Lupo
c9ee926356 [sfnt] raise TTLibError if there aren't enough bytes to unpack header
Fixes https://github.com/behdad/fonttools/issues/239
2015-05-17 11:07:42 +01:00
Behdad Esfahbod
330406f3e6 Merge pull request #268 from anthrotype/sfnt_typo
[sfnt] fixed typo: 'checksum' -> 'checkSum'
2015-05-11 15:03:54 -07:00
Cosimo Lupo
4bbe6ef57f [glyf] fixed 'noname' 2015-05-11 17:37:48 +01:00
Cosimo Lupo
73b9acb5a2 [sfnt] fixed typo: 'checksum' -> 'checkSum' 2015-05-11 17:35:52 +01:00
Behdad Esfahbod
ca451d8c74 Merge pull request #256 from anthrotype/os2_char_index
[OS/2] update fsFirstCharIndex and fsLastCharIndex upon compile
2015-05-09 11:12:47 -07:00
Cosimo Lupo
1fbdbca41a [OS/2] update fsFirstCharIndex and fsLastCharIndex upon compile;
add comment to XML output;
use all unicode cmap subtables, but set 0xFFFF as max value for USHORT
2015-05-09 10:17:12 +01:00
Sascha Brawer
5cda3d4e72 Minor fixes to reduce the number of code smells 2015-05-06 19:17:08 +02:00
Behdad Esfahbod
3d6932549c Fix immediate decompiling of cmap subtables
This codepath never worked, and is never exercised during normal operations.
Found by landscape.io.
2015-04-26 03:01:25 -04:00
Behdad Esfahbod
f588727554 Fixup; ouch! 2015-04-26 02:06:36 -04:00
Behdad Esfahbod
b30e12ae00 More whitespace 2015-04-26 02:01:01 -04:00
Behdad Esfahbod
bd67253118 Some more whitespace fixes from pep8 tool 2015-04-26 01:59:01 -04:00
Behdad Esfahbod
5287b52d22 Whitespace 2015-04-26 00:49:36 -04:00
Behdad Esfahbod
cc072eca9f Use utf_16_be instead of utf_16be
That's the canonical name.

https://github.com/behdad/fonttools/issues/236
2015-04-24 12:48:37 -07:00
Behdad Esfahbod
0ac019ca2c Use native mac_romanian and mac_croatian encodings
Apparently they are implemented in Python, just miss aliases.

https://github.com/behdad/fonttools/issues/236
http://bugs.python.org/issue24043
2015-04-24 12:32:56 -07:00
Behdad Esfahbod
2df891f25c Handle double-encoded UTF-16BE
Merge the logic with the marked-Mac-but-UTF-16BE logic.

Fixes https://github.com/behdad/fonttools/issues/249
2015-04-22 02:22:11 -07:00