278 Commits

Author SHA1 Message Date
Behdad Esfahbod
153ec40209 Fix a few pychecker warnings
Fixes https://github.com/behdad/fonttools/issues/58
2013-12-04 01:15:46 -05:00
Behdad Esfahbod
c40e26ec4c Fix stupid mishap 2013-12-04 00:20:19 -05:00
Behdad Esfahbod
f2c2b4d38b Improve composite glyph bounds calculation
Extend GlyphCoordinates to transparently support float coordinates.
As a result, transformed glyph components now don't have their
coordinates rounded anymore.  This slightly changes bounding box
calculations.

There's also code added, but disabled, to calculate exact glyph
bounding box, but we don't seem to actually want that.
2013-12-01 13:36:09 -05:00
Behdad Esfahbod
21bae0e3db py23 fixes for psOperators 2013-11-29 20:27:21 -05:00
Behdad Esfahbod
70c46de635 Revert "Remove unused fontTools.misc.psOperators"
psOperators is still used by t1Lib.  I'm not sure whether I want
to drop t1Lib just yet.

This reverts commit f3a8aeada3ba54e16b0f7e6aa90ca59358668b85.
2013-11-29 20:24:58 -05:00
Behdad Esfahbod
f918ab4cf6 Fix typos
From
4d2d8c9642
2013-11-29 17:12:43 -05:00
Behdad Esfahbod
7279302238 py23 fixes for psLib 2013-11-29 16:31:21 -05:00
Behdad Esfahbod
b49aa66e61 Revert "Remove unused fontTools.misc.psLib"
psLib is still used by t1Lib.  I'm not sure whether I want to
drop t1Lib just yet.

This reverts commit e0f84aabfaea36a5a4e1dc161b6c47c3a0bc4e1b.
2013-11-29 16:31:00 -05:00
Denis Jacquerye
af1c9968b2 from __future__ imports must be first for python 3.3.2
adding \ to break lines in fontTools/misc/transorm.py
unneeded closing parenthesis in T_S_I__1.py
2013-11-29 16:03:42 -05:00
Denis Jacquerye
db08ee2c19 missing from __future__ import print_function in setup.py
python3: sum() can't sum bytes, using b''.join(seq) instead
2013-11-29 14:15:48 -05:00
Behdad Esfahbod
3fa26d783f py23 Use fixedToFloat() for fixed version numbers 2013-11-28 18:53:30 -05:00
Behdad Esfahbod
2d67a188b1 py23 Add fixedTools: Smart fixedToFloat() and floatToFixed()
Apparently Python 2 and Python 3 have different default
print precisions for floats.  Or at least with my build it
is the case.   As such, for example with amiri-regular.ttf
I see these annoying differences in the ttx output of the
two versions:

77203c77203
<       <component ... scale="0.5999755859375" flags="0x1004"/>
---
>       <component ... scale="0.599975585938" flags="0x1004"/>

That's just gross.  Specially when these numbers are show to
humans, while we know that's just 0.6.  The fixedToFloat()
routine in this module is smart enough to do that.

Not used yet.
2013-11-28 18:53:30 -05:00
Behdad Esfahbod
4069b39047 Simplify caselessSort() 2013-11-28 18:53:30 -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
1edfe57656 Strip name table records before writing to XML
They will be stripped reading back anyone, so any surrounding
whitespace will be lost.  At least this way diffs of ttx files
are cleaner.
2013-11-28 18:53:30 -05:00
Behdad Esfahbod
ca80208a15 Revert XML name table format changes
For the sake of separating py23 effort from feature changes,
I'm reverting the name table XML dump format back to what it
was.  I will clean it up after py23 is merged.
2013-11-28 17:33:23 -05:00
Behdad Esfahbod
714b2a6141 Remove __getslice__
Not needed.  __getitem__ handles it just fine.
2013-11-28 17:32:44 -05:00
Behdad Esfahbod
278c88c0af py23 Fix psCharStrings bytes issues 2013-11-28 17:32:44 -05:00
Behdad Esfahbod
c076261598 s/latin-1/latin1/g 2013-11-28 17:32:44 -05:00
Behdad Esfahbod
faaca764a1 py23 Fixup isinstance(..., str) issues 2013-11-28 17:32:43 -05:00
Behdad Esfahbod
6962f0cfb2 py23 XML encoding fixes
Name table entries that are Unicode are written out as native Unicode
now text in the XML now.
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
d3689390a6 py23 Fix up byteord() implementation 2013-11-28 17:32:43 -05:00
Behdad Esfahbod
3e8795d99a py23 Use io.BytesIO to replace StringIO.StringIO 2013-11-28 17:32:43 -05:00
Behdad Esfahbod
821572c9a9 py23 Add bytesjoin() 2013-11-28 17:32:43 -05:00
Behdad Esfahbod
1fcd04db70 py23 Fix sstruct exception format 2013-11-28 17:32:43 -05:00
Behdad Esfahbod
a0cd41ddf0 py23 Automatically convert str/bytes types in sstruct.pack/unpack 2013-11-28 17:32:43 -05:00
Behdad Esfahbod
5cf4008336 py23 tostr()/tobytes() and using them
ttf->xml seems to be mostly working now.
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
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
ac4672e451 py23 Introduce Tag to autoconvert tag types 2013-11-27 16:44:53 -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
503179f2ed Add py23 compat layer 2013-11-27 15:24:57 -05:00
Behdad Esfahbod
14fb031125 Remove most uses of module string 2013-11-27 14:01:44 -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
002c32fd0d 2to3 --fix=types with manual fixups 2013-11-27 04:48:20 -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
ecbe4c87b5 2to3 --fix=numliterals with manual cleanup 2013-11-27 03:37:29 -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
dc7e6f3e55 2to3 --fix=repr 2013-11-27 02:44:56 -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
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