1048 Commits

Author SHA1 Message Date
Behdad Esfahbod
a189402e27 Merge pull request #26 from olivierberten/master
Switched VCS from Subversion to git.
2013-11-25 04:44:30 -08:00
Behdad Esfahbod
5f875e76d6 Merge pull request #28 from olivierberten/ttc
Catch TTLibError raised when missing (or wrong) -y argument on a ttc file
2013-11-25 04:44:04 -08:00
Behdad Esfahbod
b3c860477c Remove workaround for buggy OS/2 tables
Those fonts should all be gone by now...
2013-11-25 07:27:43 -05:00
Behdad Esfahbod
88a1fabd06 Assert on size of OS/2 version 5
As to reject new bogus fonts.
2013-11-25 07:23:51 -05:00
Behdad Esfahbod
170fc9d40f Use true point sizes in new OS/2 version 5 fields 2013-11-25 07:21:10 -05:00
Behdad Esfahbod
6f3772bcb4 Merge pull request #27 from olivierberten/os2_v5
Support for OS/2 table version 5 as proposed by Microsoft
2013-11-25 04:12:44 -08:00
Behdad Esfahbod
e0c2e8e2af Fixup extension / longoffset 2013-11-25 05:32:17 -05:00
Behdad Esfahbod
05da970fec Don't renumber MarkGlyphSetsDef 2013-11-25 05:23:07 -05:00
Behdad Esfahbod
f41056dc76 Implement MarkFilteringSet in Lookup 2013-11-25 05:18:00 -05:00
Behdad Esfahbod
57fbb3dcb3 Remove fontTools.ttLib.test from setup.py
Fixes up 9e4b640932b25a59745e30a6de1f943a2f50d5ba

Fixes https://github.com/behdad/fonttools/issues/41
2013-11-25 04:57:42 -05:00
Behdad Esfahbod
4c2f1b6a2c [REGRESSION] _h_m_t_x.py", line 60, in compile metrics = sum(metrics,[])
TypeError: can only concatenate list (not "tuple") to list

Fixes https://github.com/behdad/fonttools/issues/30
2013-11-25 04:47:36 -05:00
Behdad Esfahbod
9fe4eefb1c [subset] Drop GSUB/GPOS main list items if empty 2013-11-25 04:28:37 -05:00
Behdad Esfahbod
5aea27dae3 [subset] Support GDEF MarkGlyphSetsDef 2013-11-25 04:19:42 -05:00
Behdad Esfahbod
5b9cabcb9a Implement GDEF MarkGlyphSetsDef
Aka. "Mark filtering sets".

Fixes https://github.com/behdad/fonttools/issues/39
2013-11-25 04:01:56 -05:00
Behdad Esfahbod
e72781bf37 Revert c386d54fe3f1bb12561126044cc5a7a7f0d80fe2 2013-11-25 03:52:30 -05:00
Behdad Esfahbod
6b6e9fae23 Rename repeatOffset to aux
To be used for other purposes soon.
2013-11-24 22:11:41 -05:00
Behdad Esfahbod
d58c38dc36 Seprate longOffset from ExtSubTable 2013-11-24 21:58:53 -05:00
Behdad Esfahbod
fe67e3121e Simplify ExtSubTable 2013-11-24 21:35:56 -05:00
Behdad Esfahbod
58acba2d02 Remove "optimization" re Extension lookups
Historically, Extension lookups were only decompiled upon access,
and decompiled Extension lookups were possibly copied verbatim to
output when compiling.  This discrepancy with all other table types
is confusing and undeed.  The possible time saving is not worth the
loss in possible optimization of table data.  Remove.
2013-11-24 20:08:05 -05:00
Behdad Esfahbod
9e4b640932 Remove unused and unmaintained fontTools.ttLib.test.ttBrowser 2013-11-24 19:59:07 -05:00
Behdad Esfahbod
f3a8aeada3 Remove unused fontTools.misc.psOperators 2013-11-24 19:59:07 -05:00
Behdad Esfahbod
e0f84aabfa Remove unused fontTools.misc.psLib 2013-11-24 19:59:07 -05:00
Behdad Esfahbod
bdc5a99846 Remove unused method 2013-11-24 19:59:07 -05:00
Behdad Esfahbod
3d8d5cd10d Port ttLib to respect font.lazy
I *hope* I didn't break anything...

Notably, cffLib is not ported yet.
2013-11-24 19:58:57 -05:00
Behdad Esfahbod
188f2a398a Default to non-lazy for ttx 2013-11-24 19:04:25 -05:00
Behdad Esfahbod
7ef23a85ae Add font.lazy 2013-11-24 19:03:18 -05:00
Behdad Esfahbod
3ebfea491e Move fontTools.ttLib.importXML to fontTools.misc.xmlReader
Better matches xmlWriter.
2013-11-24 19:00:59 -05:00
Behdad Esfahbod
38fdae6342 Use True/False instead of 1/0 2013-11-24 18:49:35 -05:00
Behdad Esfahbod
c491f45eff Create subReaders lazily
Should improve memory usage
2013-11-24 18:28:20 -05:00
Behdad Esfahbod
e84f9fd1b5 Minor 2013-11-24 18:15:47 -05:00
Behdad Esfahbod
0fac7fe320 Remove unused parameter 2013-11-24 18:15:47 -05:00
Behdad Esfahbod
ee27eb8517 Only propagate counts that are used in sub-tables 2013-11-24 18:15:47 -05:00
Behdad Esfahbod
2edc2da303 Use tableDict for DeltaValue lookbacks
Was abusing the set/getCount machinery before.
2013-11-24 17:10:55 -05:00
Behdad Esfahbod
078b36325d Instead of countVars, pass down tableDict
This is the tableDict of current struct being loaded.  This does NOT
get propagated down.

Currently unused.
2013-11-24 17:08:06 -05:00
Behdad Esfahbod
7981704a0a Move countVars into reader/writer objects
The countVars arguments are all unused now.  Cleanup coming.
2013-11-24 16:59:42 -05:00
Behdad Esfahbod
7d130307e6 Simplify converter mapping for DeltaValue 2013-11-24 16:13:00 -05:00
Behdad Esfahbod
6f9b64f296 Fixup 41caf2d for DeltaValue tables
Not that I can find any fonts having these... Had to construct one
to test.
2013-11-24 16:09:57 -05:00
Behdad Esfahbod
24f978ccc6 Fixup 41caf2d
Lexical binding...

Fixes https://github.com/behdad/fonttools/issues/40
2013-11-24 15:09:49 -05:00
Behdad Esfahbod
c386d54fe3 Allow passing in locals variables to safeEval() 2013-11-24 09:37:49 -05:00
Behdad Esfahbod
601bb94afc Minor
Followup for 6e556aafc3be5ccf48a01d8113313abd2a633ba6.
2013-11-23 20:20:39 -05:00
Behdad Esfahbod
ffc3cfeed1 Allow using binary / octal / hex numbers in XML
In OpenType Layout tables that is.  Most (all) of the other
tables already use safeEval() which accepts these kinds of
things.
2013-11-23 20:18:24 -05:00
Behdad Esfahbod
a221a57ccd Improve Version handling
Version is really just a major.minor, NOT a Fixed.  But it has
been implemented as Fixed.  We now:

  1. Check that major is 1,
  2. If minor is not 0 (only defined for GDEF so far), then
     print the whole thing as hex in XML,
  3. When reading the XML, accept hex,
  4. In all four methods dealing with Version, support both
     fixed version (ie. 1.0), and long version (ie. 0x00010000).
2013-11-23 19:45:29 -05:00
Behdad Esfahbod
0b18ef6111 Remove Fixed vs fixed32 inconsistency 2013-11-23 19:21:24 -05:00
Behdad Esfahbod
ea017bd66f Remove USHORT vs uint16 inconsistency 2013-11-23 19:19:48 -05:00
Behdad Esfahbod
5962268b79 Remove unused "LONG" converter
LONG was replaced by Fixed long time ago.
2013-11-23 19:18:53 -05:00
Behdad Esfahbod
0de65295f6 Remove script to build otData.py
The was was originally generated, but is static now and this
allows cleaning it up and modifying it.
2013-11-23 19:12:11 -05:00
Behdad Esfahbod
3879cf9439 Use slots for OTTableReader
Slight performance gain even.
2013-11-22 19:34:57 -05:00
Behdad Esfahbod
6e556aafc3 Make ValueRecordFactory() immutable
Gives another 3% speedup.
2013-11-22 19:34:46 -05:00
Behdad Esfahbod
41caf2dea1 Remove tableStack in favor of countVars
We only needed tableStack to look back for counts.  So, just store
counts.  Gives ~8 speedup for large fonts I tested.  We are not
faster than not loading fonts lazily without this patch, so the
laziness patch combined with this doesn't have a net negative
performance impact anymore.
2013-11-22 19:13:14 -05:00
Behdad Esfahbod
0585b64f70 Minor 2013-11-22 16:46:03 -05:00