1175 Commits

Author SHA1 Message Date
Behdad Esfahbod
39a39ac00a Use module __all__ instead of manually cleaning the module space 2013-08-22 18:10:17 -04:00
Behdad Esfahbod
68819fda9a Remove obsolete code 2013-08-22 15:35:00 -04:00
Behdad Esfahbod
4b3df49b5b Fix XML encoding
1. Write out using utf-8 encoding.  Shouldn't matter really since
we don't generate non-ASCII data,

2. When parsing, DON'T override the file's encoding!
2013-08-20 15:29:19 -04:00
Behdad Esfahbod
348f858b6f Fix recursion glyph filtering again
When writing this code I argued that no two recursion records
in the same rule can both apply to index=0.  Well, cibu found
that NotoSansBengali-Regular.ttf does exactly that...

Test with "য্রী".
2013-08-20 11:50:04 -04:00
Behdad Esfahbod
9a72de4b89 Minor 2013-08-20 11:43:34 -04:00
Behdad Esfahbod
d8b32bf6e2 Minor import cleanup 2013-08-19 15:27:14 -04:00
Behdad Esfahbod
d711d4bf71 Cleanup imports 2013-08-19 14:46:08 -04:00
Behdad Esfahbod
45a8460ad3 Clean up imports 2013-08-19 14:44:49 -04:00
Behdad Esfahbod
e4a670cc7d Make GlyphOrder object iterable 2013-08-19 14:17:11 -04:00
Behdad Esfahbod
96b321c8ae Fix comparison to arbitrary objects 2013-08-19 14:17:11 -04:00
Behdad Esfahbod
843ffd8c79 Port glyf coordinates from numpy to custom type 2013-08-19 14:17:11 -04:00
Behdad Esfahbod
4f033683ca Port glyf transform from numpy to lists 2013-08-19 14:17:11 -04:00
Behdad Esfahbod
bca6e99d1c Port glyf flags from numpy to array module 2013-08-19 14:17:11 -04:00
Behdad Esfahbod
b1a7f87c2f Port GPKG table from numpy to array module 2013-08-19 14:17:11 -04:00
Behdad Esfahbod
8da8242d61 Port cmap table from numpy to array module 2013-08-19 14:17:10 -04:00
Behdad Esfahbod
fd647bf353 Port loca table from numpy to array module 2013-08-19 14:17:10 -04:00
Behdad Esfahbod
035bc7da23 Port hmtx table from numpy to array module 2013-08-19 14:17:10 -04:00
Behdad Esfahbod
4ffd404449 Fix decompiling GPKG on 64bit systems
array.array("L") reads 64bit ints, not 32bit.  Use "I" instead.
2013-08-19 14:17:10 -04:00
Behdad Esfahbod
400e9539fd Improve import handling
For example trying to run fontTools on Jython or PyPy fails
because they don't have a numpy module.  However, the error
is caught by the getTableModule() and instead DefaultTable
used for tables that use numpy in their implementation.  Fix
that.
2013-08-19 14:17:10 -04:00
Behdad Esfahbod
b0dc6dfc8b Add support for saving WOFF file format 2013-08-19 14:17:02 -04:00
Behdad Esfahbod
58d7416124 Add support for loading WOFF file format 2013-08-19 14:16:49 -04:00
Behdad Esfahbod
f09f1d4064 Raise exceptions on unimplemented T2CharString operators 2013-08-19 14:16:07 -04:00
Behdad Esfahbod
183afe6408 Optimize Coverage.postRead() 2013-08-19 14:16:07 -04:00
Behdad Esfahbod
12fd2ea9dc Turn "too much glyph data" into a warning
Some tools generate 4 bytes of padding where 0 is needed...
It's recoverable, so make it a warning.
2013-08-19 14:16:07 -04:00
Behdad Esfahbod
7d2c10ec74 Allow toXML() to be called on individual tables
Was hitting a missing attribute since disassembleInstructions was
being set by saveXML() only.
2013-08-19 14:16:06 -04:00
Behdad Esfahbod
85be2e0a97 Change duplicate-name resolution from n^2 to linear time
For a font with thousands of glyphs with the same name (like ipagp.ttf)
this was taking 9 seconds to complete.  Less than a millisecond now!
2013-08-19 14:16:06 -04:00
Behdad Esfahbod
26549ce298 Warn about excess data in kern table instead of aborting 2013-08-19 14:16:06 -04:00
Matt Fontaine
65499c1042 Minor improvement to TableStack
Push/pop on the end side, which should be faster.
2013-08-19 14:16:06 -04:00
Behdad Esfahbod
50d9a44e58 Add support for Microsoft COLR/CPAL layered color glyphs 2013-08-19 14:16:06 -04:00
Matt Fontaine
7baa13689c Add -z flag to ttx to choose a bitmap dump format 2013-08-19 14:16:04 -04:00
Matt Fontaine
b9ba775413 Add support for Google CBLC/CBDT color bitmaps 2013-08-19 14:15:58 -04:00
Matt Fontaine
c33b0a22ef Add support for standard EBLC/EBDT embedded bitmaps 2013-08-19 14:15:46 -04:00
Behdad Esfahbod
75858f653a Minor 2013-08-19 13:01:45 -04:00
Behdad Esfahbod
8623d02c7c Make things a bit lazier 2013-08-18 17:19:13 -04:00
Behdad Esfahbod
62d1d24a14 Simplify things a bit 2013-08-18 17:13:43 -04:00
Behdad Esfahbod
8a407591f3 Minor 2013-08-18 16:54:44 -04:00
Behdad Esfahbod
453ceedc8a Decompile T2CharStrings 2013-08-18 16:53:57 -04:00
Behdad Esfahbod
e33143139f Expand BaseDicts 2013-08-18 16:40:18 -04:00
Behdad Esfahbod
1d6e7264fc Rewrite using custom treemodel
Fixes performance issue.
2013-08-18 16:08:44 -04:00
Behdad Esfahbod
9c64ded292 Minor 2013-08-17 13:40:12 -04:00
Behdad Esfahbod
aa736d8a7b Expand CFF Index tables 2013-08-17 13:21:47 -04:00
Behdad Esfahbod
112d17e49b Minor 2013-08-17 13:21:41 -04:00
Behdad Esfahbod
78b7494271 Improve sequence handling 2013-08-17 13:08:33 -04:00
Behdad Esfahbod
aa55d75547 Wrap strings in quotes 2013-08-17 12:50:18 -04:00
Behdad Esfahbod
051ec0c1a4 Smarter way to write out short sequences 2013-08-17 12:49:56 -04:00
Behdad Esfahbod
8d0272aec8 Don't show protected members 2013-08-17 12:38:50 -04:00
Behdad Esfahbod
7013279422 Improve handling of sequence types 2013-08-17 12:38:50 -04:00
Behdad Esfahbod
f5d67a06de Minor 2013-08-17 12:19:05 -04:00
Behdad Esfahbod
be4809ca0d Initial sketch 2013-08-17 11:40:00 -04:00
Behdad Esfahbod
d9b6308ee9 Work around some Jython versions 2013-08-16 17:16:11 -04:00