Behdad Esfahbod
95f795f40a
Move offset overflow fixing logic where it belongs
2013-12-20 21:52:28 -05:00
Behdad Esfahbod
b76d6ff14a
[merge] Remove BaseTable.__hash__ need
2013-12-20 20:24:27 -05:00
Behdad Esfahbod
398770d51c
[merge] Map GSUB/GPOS feature / lookup indices properly
2013-12-19 15:30:24 -05:00
Behdad Esfahbod
ee6340f475
Only track one parent per Writer
...
We were not using the extra parents anyway.
2013-12-17 06:31:37 -05:00
Behdad Esfahbod
ab0ca1bd6b
Minor simplification
2013-12-17 06:19:15 -05:00
Behdad Esfahbod
6188b5b5f0
Remove unused variable
2013-12-17 06:11:41 -05:00
Behdad Esfahbod
dea08f2ba1
Minor optimization
2013-12-17 06:04:28 -05:00
Behdad Esfahbod
f6502635b9
Minor
2013-12-17 05:59:05 -05:00
Behdad Esfahbod
9e482332ba
Fix subtable-split logic
...
Though, the split logic isn't implemented for GPOS, so I have not
been successful in actually exercising it so far.
2013-12-17 05:46:51 -05:00
Behdad Esfahbod
5fec22bfcd
Compute correct LookupType when compiling font
...
Also ensures that all subtables of a lookup have the same
lookup type.
2013-12-17 02:42:18 -05:00
Behdad Esfahbod
dafdb2933a
Further optimize table loading
...
Again, both faster and more memory efficient
2013-12-17 00:58:02 -05:00
Behdad Esfahbod
b4070bd629
Minor optimization of table loading
...
Is both faster and more memory efficient.
2013-12-17 00:44:33 -05:00
Behdad Esfahbod
d76fa68785
Allow specifying table type as converter
...
Needed for upcoming MATH table.
2013-12-09 00:40:24 -05:00
Behdad Esfahbod
6bfee2cde5
Simplify Count writing
...
Needed for MATH table.
2013-12-09 00:35:15 -05:00
Behdad Esfahbod
273a90074a
Return NotImplemented
2013-12-07 03:40:44 -05:00
Behdad Esfahbod
8ea6439d3b
Implement __ne__ when __eq__ is defined
2013-12-06 22:25:48 -05:00
Behdad Esfahbod
9e6ef94b55
Use "is None" instead of "== None"
...
The latter hits the __eq__ method and can fail because we now
do not allow comparing objects of different types.
For example, was failing subsetting Andika-R.ttf.
2013-12-04 16:35:10 -05:00
Behdad Esfahbod
e388db566b
py23 Use new-style classes
...
Such that we get the same semantics in both Python 2 and 3.
2013-11-28 18:53:30 -05:00
Behdad Esfahbod
c0a9d697f6
Simplify read/writeUint24()
2013-11-28 17:32:44 -05:00
Behdad Esfahbod
18316aa769
ps23 More bytes fixes. All ''join()'s fixed
2013-11-28 17:32:43 -05:00
Behdad Esfahbod
821572c9a9
py23 Add bytesjoin()
2013-11-28 17:32:43 -05:00
Behdad Esfahbod
b7fd2e1913
py23 Remove uses of __cmp__ and cmp()
2013-11-28 17:32:42 -05:00
Behdad Esfahbod
960280bbd6
py23 Use more Tag()
2013-11-28 17:32:42 -05:00
Behdad Esfahbod
319c5fd10e
py23 introduce byteord() and use it
2013-11-28 17:32:42 -05:00
Behdad Esfahbod
32c10eecff
py23 from __future__ import division and adjust divisions
2013-11-28 17:32:42 -05:00
Behdad Esfahbod
30e691edd0
py23 from __future__ import print_function
2013-11-27 17:27:45 -05:00
Behdad Esfahbod
b7a2d797a4
py23 Use bytechr() instead of chr()
2013-11-27 15:25:00 -05:00
Behdad Esfahbod
7ed91eca1e
py23 import in all nontrivial source files and unused import cleanup
2013-11-27 15:25:00 -05:00
Behdad Esfahbod
b774f9f684
2to3 --fix=types manual additions
...
Don't know why the tool didn't catch these.
2013-11-27 14:01:44 -05:00
Behdad Esfahbod
3ec6a25823
2to3 --fix=print with manual fixup
2013-11-27 04:57:33 -05:00
Behdad Esfahbod
ac1b435946
2to3 --fix=idioms
2013-11-27 04:15:34 -05:00
Behdad Esfahbod
97dea0a5d0
2to3 --fix=xrange
2013-11-27 03:34:48 -05:00
Behdad Esfahbod
3a9fd30180
2to3 equivalent to --fix=tuple_params
...
I hope I got this all right...
2013-11-27 03:30:21 -05:00
Behdad Esfahbod
cd5aad92f2
2to3 --fix=raise
2013-11-27 02:42:28 -05:00
Behdad Esfahbod
180ace6a5f
2to3 --fix=ne
2013-11-27 02:40:30 -05:00
Behdad Esfahbod
2b06aaa2a6
2to3 --fix=import
2013-11-27 02:34:11 -05:00
Behdad Esfahbod
bc5e1cb195
2to3 --fix=has_key
2013-11-27 02:33:03 -05:00
Behdad Esfahbod
66214cbe8c
2to3 --fix=apply
2013-11-27 02:18:18 -05:00
Behdad Esfahbod
3ac9e63fce
Load / save FeatureParamSize decipoints values as float
2013-11-26 19:42:55 -05:00
Behdad Esfahbod
9e1bd2d0b4
Implement FeatureParams
...
All types of FeatureParams are correctly handled now.
The only thing not handled is broken fonts generated with the
old AFDKO that have their FeatureParams offset computed wrong.
I don't currently plan on handling those.
Fixes https://github.com/behdad/fonttools/issues/38
2013-11-26 19:23:08 -05:00
Behdad Esfahbod
1f0eed8459
Minor
2013-11-26 18:41:53 -05:00
Behdad Esfahbod
f4e61ae637
Undo making subReader lazy
...
Need this for upcoming FeatureParams implementation.
2013-11-26 17:37:03 -05:00
Behdad Esfahbod
79f734414c
Further simplify OTTableReader/Writer
2013-11-26 17:07:37 -05:00
Behdad Esfahbod
67eded5efa
Remove obsolete comment
2013-11-25 18:23:12 -05:00
Behdad Esfahbod
e0c2e8e2af
Fixup extension / longoffset
2013-11-25 05:32:17 -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
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
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
bdc5a99846
Remove unused method
2013-11-24 19:59:07 -05:00