Behdad Esfahbod
470d610eb2
Further micro-optimize cmap subtable format 4 loading
2014-05-14 00:12:03 -04:00
Behdad Esfahbod
2db5eca0df
Micro-optimize cmap subtable format 4 loading
2014-05-14 00:08:15 -04:00
Behdad Esfahbod
0d182bfb80
Speed up cmap format 4 loading
...
From quadratic to linear. Sigh.
2014-05-14 00:00:47 -04:00
Behdad Esfahbod
da223b8fa8
Minor optimization
2014-05-09 17:05:32 -04:00
Behdad Esfahbod
0f74e80d59
Add isUnicode() and isSymbol() to cmap subtables
2014-03-12 12:17:33 -07:00
Behdad Esfahbod
1ae29591ef
from __future__ import absolute_import
...
Such that our Python 2 is closer to Python 3.
Part of https://github.com/behdad/fonttools/issues/77
2014-01-14 15:07:50 +08:00
Behdad Esfahbod
1a4f96b787
Remove total_ordering
...
Upon studying further, we don't need it. Since we only expect
comparing objects of the same type, just having __lt__ is enough.
2013-12-07 12:17:32 -05:00
Behdad Esfahbod
273a90074a
Return NotImplemented
2013-12-07 03:40:44 -05:00
Behdad Esfahbod
56da965344
Add @total_ordering to classes with __lt__
2013-12-07 03:35:16 -05:00
Behdad Esfahbod
dc87372c88
Use True/False instead of 1/0
2013-12-04 21:28:50 -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
2242b26742
Fix cmap UVS encode/decode on big-endian systems
...
Previous code didn't make any sense.
2013-11-28 17:32:43 -05:00
Behdad Esfahbod
43e4b3d256
py23 cmap bytes fix
2013-11-28 17:32:43 -05:00
Behdad Esfahbod
5f6418d9e1
py23 Turn Unicode XML parsing on; more bytes fixes
2013-11-28 17:32:43 -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
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
7ed91eca1e
py23 import in all nontrivial source files and unused import cleanup
2013-11-27 15:25:00 -05:00
Behdad Esfahbod
c2297cd41d
2to3 --fix=dict with manual cleanup
2013-11-27 14:01:45 -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
e5ca79699d
2to3 --fix=map with manual cleanup
2013-11-27 04:38:16 -05:00
Behdad Esfahbod
ac1b435946
2to3 --fix=idioms
2013-11-27 04:15:34 -05:00
Behdad Esfahbod
fa5f2e85ab
2to3 --fix=zip with manual cleanup
2013-11-27 04:13:15 -05:00
Behdad Esfahbod
28aeabb08b
2to3 --fix=filter
2013-11-27 04:07:28 -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
7ab0cb0b09
Fixup cmap lazy loading
2013-11-26 19:22:13 -05:00
Behdad Esfahbod
13a08d0c3a
When compiling cmap format 6, fill in missing codes
...
They should just map to glyph 0.
Fixes https://github.com/behdad/fonttools/issues/42
2013-11-26 15:49:36 -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
94118dcea4
Fix cmap subtable sort order
...
https://github.com/behdad/fonttools/issues/22
2013-10-28 12:16:41 +01:00
Behdad Esfahbod
0ba7aa7ab5
Make __cmp__() functions stable
2013-10-28 12:07:15 +01:00
Roozbeh Pournader
51a17826be
Add support for cmap format 13.
2013-10-09 15:55:07 -07:00
Behdad Esfahbod
96b321c8ae
Fix comparison to arbitrary objects
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
pabs3
17012aabbb
Fix some broken assertions in the cmap format 1 code.
...
Shame on Gentoo for not forwarding the patch upstream.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@577 4cde692c-a291-49d1-8350-778aa11640f8
2009-11-08 15:55:53 +00:00
jvr
0cb8a08d89
cmap format 1 support, contributed by rroberts
...
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@554 4cde692c-a291-49d1-8350-778aa11640f8
2008-05-16 15:07:09 +00:00
jvr
1b7d54fedc
converted usage of Numeric to numpy
...
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@537 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-04 15:25:27 +00:00
jvr
9be387c94f
Use sys.byteorder, getting rid of ttLib.endian
...
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@527 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-01 11:43:01 +00:00
jvr
2db352c748
- skip subtables of length zero
...
- minor tweak in cmap 4 logic
contributed by rroberts
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@523 4cde692c-a291-49d1-8350-778aa11640f8
2008-02-29 14:43:49 +00:00
jvr
d299b55d14
patches from rroberts:
...
# 1) Switched to using Numeric module arrays rather than array modules arrays,
# because of a memory leak in array.array when handling elements > 1 byte.
# 2) speed optimizations:
# - For loops are collapsed when possible
# - the data for a subtable is parsed only if a mapping value is requested
# - if two subtables share the same data offset, then on
decompilation, they will
# share the same cmap dict, and not get decompiled twice. Same for compiling.
# - as before, two tables with the same contents will get compiled to a single
# data block in the font.
# 3) added (self.platformID, self.platEncID) == (3, 10) to the list
of subtables that
# get Unicode comments.
# 4) allow item reference by GID as well as by name. I did this when
experimenting to see if using GID references only would speed the
compile; it didn't but it seemed useful enough to leave in.
# 5) Fixed compile to/from XML: for cmap type unknown ( aka cmap
format 10, in practice.)
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@510 4cde692c-a291-49d1-8350-778aa11640f8
2006-10-21 13:54:30 +00:00
jvr
427f9802bc
make sure that a cmap subtable instance always has a language attr, so __cmp__ can't fail
...
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@473 4cde692c-a291-49d1-8350-778aa11640f8
2004-09-26 18:32:50 +00:00
jvr
a84b28d934
- Refactored XML writing, removed lots of code duplicaiton
...
- Only output unicode names as comments if we're in fact dealing with
a unicode cmap subtable (and this is -- in theory -- independent of
cmap format)
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@468 4cde692c-a291-49d1-8350-778aa11640f8
2004-09-25 09:06:58 +00:00