• Home
  • History
  • Annotate
  • only in /external/fonttools/Lib/fontTools/ttLib/
History log of /external/fonttools/Lib/fontTools/ttLib/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
62dd7b2a0e0ab1109b56572c568ef5f582d8a0fd 27-May-2014 Behdad Esfahbod <behdad@behdad.org> Refactor getSearchRange()
_init__.py
fnt.py
ables/_c_m_a_p.py
ables/_k_e_r_n.py
9fed95216a963b6ef4733d68a691f0ac965b120d 27-May-2014 Behdad Esfahbod <behdad@behdad.org> Fix rangeShift calculations for count=0 in sfnt, cmap, and kern
fnt.py
ables/_c_m_a_p.py
ables/_k_e_r_n.py
ec5f5150e2c9ba53696fbddae504a004398b367a 22-May-2014 Behdad Esfahbod <behdad@behdad.org> Simplify cmap subtable format 4 idDelta code
ables/_c_m_a_p.py
e7fb216ad8f65ee4d451a0c3e698dfafd7cf2436 22-May-2014 Behdad Esfahbod <behdad@behdad.org> Fix cmap subtable format 4 compiling

Was failing all these years, if a idDelta value happened to be
exactly -0x8000...

Test case: roundtripping MTLmr3m.ttf.
ables/_c_m_a_p.py
4c777d3465d16db968dc3f58a1f30444eed732a3 21-May-2014 Behdad Esfahbod <behdad@behdad.org> Typo
ables/_c_m_a_p.py
3012076942bbda1a77b06ecc2b6573fa1354d85f 19-May-2014 Behdad Esfahbod <behdad@behdad.org> Minor
_init__.py
ebde5454e509ca68fe5647ae9b45fbfdc6480159 15-May-2014 Behdad Esfahbod <behdad@behdad.org> Merge pull request #103 from olivierberten/post4

'post' format 4.0 support
487b15fd9492fdb3e9d578866e539f726f12b4af 14-May-2014 Behdad Esfahbod <behdad@behdad.org> Add a few __delitem__ implementations
ables/C_O_L_R_.py
ables/V_O_R_G_.py
ables/_g_l_y_f.py
ables/_h_m_t_x.py
37b7bad5b1c39ccbe8b778ede4b8fe18138b1e25 14-May-2014 Behdad Esfahbod <behdad@behdad.org> Micro-optimize hmtx/vmtx loading
ables/_h_m_t_x.py
d56eebfa96bd07ebc3e6d076b62f96d97d569c99 14-May-2014 Behdad Esfahbod <behdad@behdad.org> Use .extend() syntax instead of += for sets
ables/_c_m_a_p.py
470d610eb2cba2629889b00575742921079bc1cb 14-May-2014 Behdad Esfahbod <behdad@behdad.org> Further micro-optimize cmap subtable format 4 loading
ables/_c_m_a_p.py
2db5eca0df1ff21f4c6bb5dee44512bf02e3f203 14-May-2014 Behdad Esfahbod <behdad@behdad.org> Micro-optimize cmap subtable format 4 loading
ables/_c_m_a_p.py
0d182bfb8078665313280db759b782c3144f65fa 14-May-2014 Behdad Esfahbod <behdad@behdad.org> Speed up cmap format 4 loading

From quadratic to linear. Sigh.
ables/_c_m_a_p.py
da223b8fa8a1073f96b3d2c8e400f73e51941b71 09-May-2014 Behdad Esfahbod <behdad@behdad.org> Minor optimization
ables/_c_m_a_p.py
497863a190b70a51e9f6c8013e19e2424a69acfb 02-May-2014 Behdad Esfahbod <behdad@behdad.org> Allow disabling 'head' table modified-timestamp recalculation

Part of:
https://github.com/behdad/fonttools/issues/115
https://github.com/behdad/fonttools/issues/46
_init__.py
ables/_h_e_a_d.py
4bb028e44f6fc320a5935e80730002ca54d15ec3 28-Mar-2014 Behdad Esfahbod <behdad@behdad.org> Fix identifierToTag for Python 3
_init__.py
50d6c7298ad51eade3a2b4f693ff8dff7913213e 28-Mar-2014 Behdad Esfahbod <behdad@behdad.org> Minor
_init__.py
d0a31f5a43c4743671c4941fe45dda059aada0be 28-Mar-2014 Behdad Esfahbod <behdad@behdad.org> Make tag parameter to table constructor optional

If not provided, extract from class name.
_init__.py
ables/DefaultTable.py
77ccf45eb0c59830fb90830d6829108e59e93192 12-Mar-2014 Behdad Esfahbod <behdad@behdad.org> Add NameRecord.isUnicode()
ables/_n_a_m_e.py
0f74e80d59cf5426b3003ab955729c6d909860a6 12-Mar-2014 Behdad Esfahbod <behdad@behdad.org> Add isUnicode() and isSymbol() to cmap subtables
ables/_c_m_a_p.py
319643ade2891343cab878ac22eb8fc76470f08a 20-Feb-2014 Behdad Esfahbod <behdad@behdad.org> Fix up regression in promoting lookups to extensions

Was broken by 6ed2eb409231a7fe3e0c2a135f9a89796206f639

Fixes https://github.com/behdad/fonttools/issues/110
ables/otTables.py
6338375bd8b6d8a6888972c3cabc9a30431c152f 30-Jan-2014 Behdad Esfahbod <behdad@behdad.org> Allow loading zero-length tables

Fixes https://github.com/behdad/fonttools/issues/106
fnt.py
ec8dccb7318988591aa65bdf3a70d521837d094b 28-Jan-2014 Olivier Berten <olivier.berten@gmail.com> More array instead of pack
ables/_p_o_s_t.py
149b9f97e39fa2ff3272a9677e49d9d3e7901140 28-Jan-2014 Olivier Berten <olivier.berten@gmail.com> use array instead of unpack
ables/_p_o_s_t.py
4a73f8b4e983b3910d888bab7d50293e363152e9 28-Jan-2014 Olivier Berten <olivier.berten@gmail.com> 'post' format 4.0 support
ables/_p_o_s_t.py
a36c74e8b894801d36aecfb4402801b5542c2347 19-Jan-2014 Behdad Esfahbod <behdad@behdad.org> Add logic for keeping PUSHB/PUSHW distinction

And avoid merging consequent pushes. No option to control this
externally right now, but the logic is there.

Part of https://github.com/behdad/fonttools/issues/92
ables/ttProgram.py
1ae29591efbb29492ce05378909ccf4028d7c1ee 14-Jan-2014 Behdad Esfahbod <behdad@behdad.org> from __future__ import absolute_import

Such that our Python 2 is closer to Python 3.

Part of https://github.com/behdad/fonttools/issues/77
_init__.py
acUtils.py
fnt.py
ables/BitmapGlyphMetrics.py
ables/C_B_D_T_.py
ables/C_F_F_.py
ables/C_O_L_R_.py
ables/C_P_A_L_.py
ables/D_S_I_G_.py
ables/DefaultTable.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/G_M_A_P_.py
ables/G_P_K_G_.py
ables/L_T_S_H_.py
ables/M_E_T_A_.py
ables/O_S_2f_2.py
ables/S_I_N_G_.py
ables/S_V_G_.py
ables/T_S_I__0.py
ables/T_S_I__1.py
ables/T_S_I__5.py
ables/V_O_R_G_.py
ables/_c_m_a_p.py
ables/_c_v_t.py
ables/_f_p_g_m.py
ables/_g_a_s_p.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_e_a_d.py
ables/_h_h_e_a.py
ables/_h_m_t_x.py
ables/_k_e_r_n.py
ables/_l_o_c_a.py
ables/_m_a_x_p.py
ables/_n_a_m_e.py
ables/_p_o_s_t.py
ables/_s_b_i_x.py
ables/_v_h_e_a.py
ables/asciiTable.py
ables/otBase.py
ables/otConverters.py
ables/otTables.py
ables/sbixBitmap.py
ables/sbixBitmapSet.py
ables/ttProgram.py
95f795f40a5d75c2c14c03c1b74cf1ee8816dbf8 21-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Move offset overflow fixing logic where it belongs
ables/otBase.py
b76d6ff14a8283f7057847494c3c5c81ff236a6e 21-Dec-2013 Behdad Esfahbod <behdad@behdad.org> [merge] Remove BaseTable.__hash__ need
ables/otBase.py
398770d51c3ae0e7c267ef2b315beae2b6aa2df8 19-Dec-2013 Behdad Esfahbod <behdad@behdad.org> [merge] Map GSUB/GPOS feature / lookup indices properly
ables/otBase.py
9c5e2ce1b6cb09728b962ed9e055ffe8fd72b372 19-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Add a get() method to TTFont ala dict.get()
_init__.py
ee6340f4752e9bc286340399fbd2cc5a790d0574 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Only track one parent per Writer

We were not using the extra parents anyway.
ables/otBase.py
ab0ca1bd6b495ea3b9523c74cc06ab957a10293c 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Minor simplification
ables/otBase.py
6188b5b5f0818884cfc6c1b7e31bd5f5ef79a9e0 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Remove unused variable
ables/otBase.py
dea08f2ba1c7d88465f81fbdd413bb82a8dbc5e4 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Minor optimization
ables/otBase.py
f6502635b91a0b3ae0e3ef8add9b5fb2ed9e3872 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Minor
ables/otBase.py
ables/otTables.py
9e482332baf75b67058bcd9e2b0ae139fbbebc78 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> 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.
ables/otBase.py
ables/otData.py
42d305a8245c46e2c3962f5d1757a63b8a552b5c 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Further adjustment
ables/ttProgram.py
fcc56e637afd7d593baa5fe0a54a0b0a667b8fbf 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Choose most compact representation when writing PUSH instructions

Can use some testing...
ables/ttProgram.py
965c87fb4a7a89fced0a267fa02952094b523955 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> When disassembling, merge multiple PUSH ops

Fonts typically have multiple consecutive PUSHB / PUSHW
operators. Merge them in the disassembled output.

This, for now, generates worse assmebly because all PUSHB's
grouped with PUSHW's now generate as PUSHW. Followup fix
will address that.
ables/ttProgram.py
ce84d3215e08ab82dc78f25b5219730b8532046d 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Generate PUSH mnemonic for PUSHB/NPUSHB/PUSHW/NPUSHW

Reduces XML noise while reenabling the optimization
during assembly.

Fixes https://github.com/behdad/fonttools/issues/73
ables/ttProgram.py
3714c78c92c511e0e54a78bccfd8cc57c9880906 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> When writing PUSH instructions, obey requested opcode

Previously fonttools was choosing between the optimal opcode
from PUSHB, NPUSHB, PUSHW, and NPUSHW. We now respect
whatever was requested and err if the format doesn't support
the data.

Morevoer, if the number of numbers to push is more than 255,
we add multiple push instructions to push all the numbers.

Finally, add a new pseudo-opcode "PUSH" that automatically
chooses the best format.

This, by itself, reduces roundtrip noise by not optimizing
the bytecode as it was before. In a followup commit I'll
change the bytecode disassembler to always produce PUSH
in the textual instructions instead of the four variants.
That way, we get both the optimization during assembling,
and reduced noise in XML.

Part of https://github.com/behdad/fonttools/issues/73
ables/ttProgram.py
e93e29125f6c88a352e15b4d7732fc94a6402548 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Don't write Format for Coverage, ClassDef, Single/Alternate/LigatureSubst

The format values for those are automatically handled in
postRead/preWrite to choose optimal format. As such, don't write them
in XML. Reduces noise.

Part of https://github.com/behdad/fonttools/issues/73
ables/otTables.py
6ed2eb409231a7fe3e0c2a135f9a89796206f639 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Write LookupType as a comment

We compute LookupType from the type of the subtables, so write it out
as an informative comment in XML as opposed to an element.
ables/otConverters.py
5fec22bfcd53fe9a10fa066e17d0a0d18cf2d74a 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Compute correct LookupType when compiling font

Also ensures that all subtables of a lookup have the same
lookup type.
ables/otBase.py
ables/otConverters.py
ea82d6dfd194f6ff6dfc7a65e7d9a0f9d671d827 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Handle NULL coverage table in ligature substitute

Just to be in line with Single and Alternate subst.
ables/otTables.py
dafdb2933a9d4ef7ef5365c5e8ecfba39b4d3c57 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Further optimize table loading

Again, both faster and more memory efficient
ables/otBase.py
ables/otConverters.py
b4070bd6293998ac4bc6a68c1f774e9e9908c65b 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Minor optimization of table loading

Is both faster and more memory efficient.
ables/otBase.py
283fb26820a8f6a1f8ae7104699de708364ffb96 16-Dec-2013 Behdad Esfahbod <behdad@behdad.org> By default, don't load fonts lazily

Lazy loading has implications on how people use objects.
So, by default, don't load lazily. This only affects
GSUB/GDEF/GPOS/etc and is closer to what fonttools used
to do traditionally.

Turn lazy loading on in subset and inspect.
_init__.py
43d7ac16b19f9cad251a8d74a0b93cf8d439fad7 16-Dec-2013 Behdad Esfahbod <behdad@behdad.org> py23 Similar encoding fix in post table
ables/_p_o_s_t.py
9041c2ddcdc2dbc88b40e5cea790cb085639c6bb 09-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Actually add M_A_T_H_.py
ables/M_A_T_H_.py
f952a22af7b59862d49ee2947932f4baab37a5ed 09-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Implement MATH table

Fixes https://github.com/behdad/fonttools/issues/67
ables/otData.py
ables/otTables.py
d76fa68785bc843ad83e2901ada96f2a5b02397d 09-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Allow specifying table type as converter

Needed for upcoming MATH table.
ables/otBase.py
ables/otConverters.py
ables/otTables.py
6bfee2cde5b16f46a4fe91342b8d20db35cb8046 09-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Simplify Count writing

Needed for MATH table.
ables/otBase.py
871495aff5fa8a31949eed240cb1253026f7c0e1 08-Dec-2013 Denis Jacquerye <moyogo@gmail.com> Add support for FontForge time stamp table

Fixes https://github.com/behdad/fonttools/issues/56
ables/F_F_T_M_.py
ables/__init__.py
6d658cf0ea4f0d0e26c0138ff0845fd37b558b89 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Minor
ables/ttProgram.py
b23b4cefda2acf417bfecf2135357554dbd32277 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Fix ClassDef

Ouch. Broke it in 63b257e677993295ee015e02b92ff438a5e91135.
ables/otTables.py
1a4f96b7871a0cf9b83e89c5f70854ddb0f41a5e 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> 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.
ables/_c_m_a_p.py
ables/_n_a_m_e.py
9c573019d5d7b397c600407d8dfe22f2a969426f 07-Dec-2013 Khaled Hosny <khaledhosny@eglug.org> Fix compiling back Times New Roman font

This has been broken since f2c2b4d38bd7bba23db71936262db984e4b7aebb,
assigning a new object to a function argument will not change the
original one, so we need to return the modified list.
ables/_g_l_y_f.py
273a90074ac209d67b5e2cb8ea510cd6c2b10272 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Return NotImplemented
ables/DefaultTable.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/_n_a_m_e.py
ables/otBase.py
56da965344d25223d41e202aa7fd463dc6228752 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Add @total_ordering to classes with __lt__
ables/_c_m_a_p.py
ables/_n_a_m_e.py
8ea6439d3b66c5acc246261d761d4375bcb7cfab 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Implement __ne__ when __eq__ is defined
ables/DefaultTable.py
ables/_g_l_y_f.py
ables/otBase.py
98753abb91800b90488a5b6f147a1446eade62e9 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Update table list for sbix
ables/__init__.py
de85e4599f192055569542b90da96773d4140661 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 sbix code

This seems to work now.

At some point we should go back and clean up and merge datastructures
between the four different color font formats.
ables/_s_b_i_x.py
ables/sbixBitmap.py
ables/sbixBitmapSet.py
1b8cde1b6f005d3c9c1b2aadf11a0519cc02f15e 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Fix imports
ables/_s_b_i_x.py
ables/sbixBitmap.py
ables/sbixBitmapSet.py
4801a3ae39bfd79b05e3bb00245c06ab5e09d622 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Whitespace
ables/_s_b_i_x.py
ables/sbixBitmap.py
ables/sbixBitmapSet.py
f1394f3fddcccc9ecf4669522c1a6d8152e5f173 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Initial sbix support from Jens Kutilek
ables/_s_b_i_x.py
ables/sbixBitmap.py
ables/sbixBitmapSet.py
d0a85754fed52754dfbd192065cda4b049ff7c14 06-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Remove unused data
ables/_h_e_a_d.py
1112495ae59542ad76d1cc72f40ab91e7e562f1c 06-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Simplify mac_epoch_diff
ables/_h_e_a_d.py
65d3a02d165c43fa681f4c90d12a5210da53908c 06-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Simplify date parsing
ables/_h_e_a_d.py
b8e1afa809d19202c1f1e405aa4c7312625947d1 06-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Use struct format 'Q' to read/write 64bit integers
ables/_h_e_a_d.py
5e36f854aafa3a4e75883dd4e4c943afff50e32d 06-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Remove redundant code
ables/_h_e_a_d.py
650a38fffc19e23426816994bf059441a8853341 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Relax some warnings
ables/otTables.py
e5bee3716e537cf53d3f0fe7a58cf76e78e7b7b9 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Allow converting 'glyphXXX' to glyphID

There was an inconsistency: when allowVID was False, we were allowing
gid->glyphXXX, but not the reverse. This was allowing some fonts to
be loaded, but then not to be written back. Fix that.
_init__.py
e06166b83aa82582dab2e011520b1a77f72aa9f9 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Fix SingleSubstFormat1 modulo math
ables/otTables.py
ebefbbaa58f9e821dd535b354fcccecc2d24d914 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Minor
_init__.py
9a980a8d2d81bbd4c7332b8c9ed1befe7dcc9936 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Minor
ables/otTables.py
43f6e363475caee9df35d52f536d6de4cf2d443b 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Simplify Coverage table postRead
ables/otTables.py
63b257e677993295ee015e02b92ff438a5e91135 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Handle out-of-range glyphIDs in ClassDef
ables/otTables.py
dc87372c88dfd3bb4418c4113d9301102324359e 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Use True/False instead of 1/0
_init__.py
ables/C_F_F_.py
ables/C_O_L_R_.py
ables/V_O_R_G_.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/otTables.py
f4e39bf3637499c00c8e7a55866988699dcac97f 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Convert warning to warnings module
ables/_h_m_t_x.py
9e6ef94b5554c5b7dda2de9c863c11ed4b996b7a 04-Dec-2013 Behdad Esfahbod <behdad@behdad.org> 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.
_init__.py
fnt.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/G_M_A_P_.py
ables/S_V_G_.py
ables/_c_m_a_p.py
ables/otBase.py
ables/otTables.py
153ec402094adbea673e914385b87f1d99191d0b 04-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Fix a few pychecker warnings

Fixes https://github.com/behdad/fonttools/issues/58
_init__.py
fnt.py
ables/ttProgram.py
83e2f34194696f76eb89c384bdddd10419b88e10 02-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Implement compiling to ClassDef Format=1
ables/otTables.py
f2c2b4d38bd7bba23db71936262db984e4b7aebb 01-Dec-2013 Behdad Esfahbod <behdad@behdad.org> 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.
ables/_g_l_y_f.py
81acddadbd0384e105becc1eac292e50e21084a5 01-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Add optional progress to DefaultTable

Such that if dumping glyf/CFF failed and falling back to DefaultTable
implementation, toXML will match.
ables/DefaultTable.py
f918ab4cf65c8000a639bc834bc0f362dd997358 29-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fix typos

From
https://bitbucket.org/Milla/fonttools/commits/4d2d8c9642d68443e1f09d6b66ea7180a5e60cfb
ables/T_S_I__0.py
af1c9968b2edc827ee9115355a72b3c56c4fbe61 29-Nov-2013 Denis Jacquerye <moyogo@gmail.com> 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
ables/S_V_G_.py
ables/T_S_I__1.py
3fa26d783f6a2ab5103df66a99d0322491e1d8a6 29-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Use fixedToFloat() for fixed version numbers
ables/_k_e_r_n.py
ables/otConverters.py
ables/otData.py
1336105c31bcde039c852fec43668dc724e50f67 29-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Use fixedToFloat() in glyf table

Sample output:

Before: <component ... scale="0.599975585938" flags="0x1004"/>
After: <component ... scale="0.6" flags="0x1004"/>

Now the Python 2 and 3 outputs agree on these.
ables/_g_l_y_f.py
fd68c9d25143d12a2e004c10b2be4ef68cfa0435 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Fixup SING/META tables

They have been totally broken for years.
ables/M_E_T_A_.py
ables/S_I_N_G_.py
e388db566b9ba42669c7e353db4293cf27bc2a5b 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Use new-style classes

Such that we get the same semantics in both Python 2 and 3.
_init__.py
acUtils.py
fnt.py
ables/BitmapGlyphMetrics.py
ables/C_O_L_R_.py
ables/C_P_A_L_.py
ables/D_S_I_G_.py
ables/DefaultTable.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/G_M_A_P_.py
ables/M_E_T_A_.py
ables/O_S_2f_2.py
ables/S_V_G_.py
ables/V_O_R_G_.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/_k_e_r_n.py
ables/_n_a_m_e.py
ables/otBase.py
ables/ttProgram.py
1edfe576563d4e260a958301eeeb956adc7d0610 29-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 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.
ables/_n_a_m_e.py
ca80208a1514ea4d7c55114ae1979f0ba6b41d16 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 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.
ables/S_V_G_.py
ables/_n_a_m_e.py
1a3909756d1b3bb71530df821d239977a64a18e8 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Pad DSIG table to even length

Looks like other font generators do.
ables/D_S_I_G_.py
5e1e8f6890f4bc9d14126185b3ee3b160594574d 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 More bytes fixes
ables/G_M_A_P_.py
ables/T_S_I__1.py
c0a9d697f62545ddf48f7bff062302096328c0bc 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Simplify read/writeUint24()
ables/otBase.py
2242b26742caaadd015c999a5ea7e0758c1ce621 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fix cmap UVS encode/decode on big-endian systems

Previous code didn't make any sense.
ables/_c_m_a_p.py
43e4b3d256745165c9792d73efd14dbe3b76043e 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 cmap bytes fix
ables/_c_m_a_p.py
816df48e03957e937ff389acdbccd4889d840491 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Fix DSIG encoding/decoding
ables/D_S_I_G_.py
faaca764a1cd62d376f783df20cd1edce21ca816 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Fixup isinstance(..., str) issues
ables/C_O_L_R_.py
ables/C_P_A_L_.py
ables/E_B_D_T_.py
ables/G_M_A_P_.py
ables/G_P_K_G_.py
ables/M_E_T_A_.py
ables/V_O_R_G_.py
4be8db031d5df7a3bdd1e4e0fa02de0246cb20ae 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fix up EBLC/EBDT non-lazy decompile

Fallout from 3d8d5cd10d2d30ba9997b7cc43336e504111be9a.
ables/E_B_D_T_.py
ables/E_B_L_C_.py
6962f0cfb2b7edfcfa1ff291e99fec756f06c6f8 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 XML encoding fixes

Name table entries that are Unicode are written out as native Unicode
now text in the XML now.
ables/S_V_G_.py
ables/_n_a_m_e.py
5f6418d9e1fa15a89dcec29cdc433ba2c99732c3 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Turn Unicode XML parsing on; more bytes fixes
ables/T_S_I__0.py
ables/_c_m_a_p.py
ables/_g_a_s_p.py
ables/_g_l_y_f.py
ables/_k_e_r_n.py
ables/_n_a_m_e.py
ables/_p_o_s_t.py
18316aa769566eeb6f3f4a6ed2685fa8f8e861c2 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> ps23 More bytes fixes. All ''join()'s fixed
ables/C_B_D_T_.py
ables/C_O_L_R_.py
ables/C_P_A_L_.py
ables/D_S_I_G_.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/G_P_K_G_.py
ables/S_V_G_.py
ables/T_S_I__1.py
ables/V_O_R_G_.py
ables/_c_m_a_p.py
ables/_h_d_m_x.py
ables/_n_a_m_e.py
ables/asciiTable.py
ables/otBase.py
ables/ttProgram.py
821572c9a92d338a7ecbb4261c08ce378eb5434d 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Add bytesjoin()
fnt.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/_h_e_a_d.py
ables/_n_a_m_e.py
ables/otBase.py
5cf40083364e1d2dce119de25cb42ce69d2fb53c 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 tostr()/tobytes() and using them

ttf->xml seems to be mostly working now.
_init__.py
fnt.py
ables/_p_o_s_t.py
b7fd2e19138b177403689bdd6989cfd2402aa2b3 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Remove uses of __cmp__ and cmp()
ables/DefaultTable.py
ables/M_E_T_A_.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/_h_e_a_d.py
ables/_k_e_r_n.py
ables/_l_o_c_a.py
ables/_n_a_m_e.py
ables/otBase.py
ables/otTables.py
960280bbd6277b56be45595a050a720a49fd5917 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Use more Tag()
_init__.py
ables/DefaultTable.py
ables/otBase.py
319c5fd10e2ea84304bd299b7483e05b5b0d5480 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 introduce byteord() and use it
_init__.py
ables/E_B_D_T_.py
ables/M_E_T_A_.py
ables/S_I_N_G_.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_e_a_d.py
ables/_p_o_s_t.py
ables/otBase.py
d2f5d2f8b4bce13ff7811cbf4c1ede81b73b8192 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 use Tag in ttLib/__init__
_init__.py
32c10eecffb4923e0721c395e4b80fb732543f18 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 from __future__ import division and adjust divisions
_init__.py
acUtils.py
fnt.py
ables/BitmapGlyphMetrics.py
ables/C_B_D_T_.py
ables/C_F_F_.py
ables/C_O_L_R_.py
ables/C_P_A_L_.py
ables/D_S_I_G_.py
ables/DefaultTable.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/G_M_A_P_.py
ables/G_P_K_G_.py
ables/L_T_S_H_.py
ables/M_E_T_A_.py
ables/O_S_2f_2.py
ables/S_I_N_G_.py
ables/S_V_G_.py
ables/T_S_I__0.py
ables/T_S_I__1.py
ables/T_S_I__5.py
ables/V_O_R_G_.py
ables/_c_m_a_p.py
ables/_c_v_t.py
ables/_f_p_g_m.py
ables/_g_a_s_p.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_e_a_d.py
ables/_h_h_e_a.py
ables/_h_m_t_x.py
ables/_k_e_r_n.py
ables/_l_o_c_a.py
ables/_m_a_x_p.py
ables/_n_a_m_e.py
ables/_p_o_s_t.py
ables/_v_h_e_a.py
ables/asciiTable.py
ables/otBase.py
ables/otConverters.py
ables/otData.py
ables/otTables.py
ables/ttProgram.py
30e691edd056ba22fa8970280e986747817bec3d 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 from __future__ import print_function
_init__.py
acUtils.py
fnt.py
ables/BitmapGlyphMetrics.py
ables/C_B_D_T_.py
ables/C_F_F_.py
ables/C_O_L_R_.py
ables/C_P_A_L_.py
ables/D_S_I_G_.py
ables/DefaultTable.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/G_M_A_P_.py
ables/G_P_K_G_.py
ables/L_T_S_H_.py
ables/M_E_T_A_.py
ables/O_S_2f_2.py
ables/S_I_N_G_.py
ables/S_V_G_.py
ables/T_S_I__0.py
ables/T_S_I__1.py
ables/T_S_I__5.py
ables/V_O_R_G_.py
ables/_c_m_a_p.py
ables/_c_v_t.py
ables/_f_p_g_m.py
ables/_g_a_s_p.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_e_a_d.py
ables/_h_h_e_a.py
ables/_h_m_t_x.py
ables/_k_e_r_n.py
ables/_l_o_c_a.py
ables/_m_a_x_p.py
ables/_n_a_m_e.py
ables/_p_o_s_t.py
ables/_v_h_e_a.py
ables/asciiTable.py
ables/otBase.py
ables/otConverters.py
ables/otTables.py
ables/ttProgram.py
ac4672e4510a79a56c4983ad28b42724c30ea9d1 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Introduce Tag to autoconvert tag types
acUtils.py
fnt.py
b7a2d797a40fb658d1e6dca6c08c9d2e1d83e78a 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Use bytechr() instead of chr()
_init__.py
ables/E_B_D_T_.py
ables/S_I_N_G_.py
ables/_h_d_m_x.py
ables/_h_e_a_d.py
ables/_p_o_s_t.py
ables/otBase.py
7ed91eca1eaa96b79eae780778e89bb9ec44c1ee 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 import in all nontrivial source files and unused import cleanup
fnt.py
ables/BitmapGlyphMetrics.py
ables/C_B_D_T_.py
ables/C_F_F_.py
ables/C_O_L_R_.py
ables/C_P_A_L_.py
ables/D_S_I_G_.py
ables/DefaultTable.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/G_M_A_P_.py
ables/G_P_K_G_.py
ables/L_T_S_H_.py
ables/M_E_T_A_.py
ables/O_S_2f_2.py
ables/S_I_N_G_.py
ables/S_V_G_.py
ables/T_S_I__0.py
ables/T_S_I__1.py
ables/T_S_I__5.py
ables/V_O_R_G_.py
ables/_c_m_a_p.py
ables/_c_v_t.py
ables/_f_p_g_m.py
ables/_g_a_s_p.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_e_a_d.py
ables/_h_h_e_a.py
ables/_h_m_t_x.py
ables/_k_e_r_n.py
ables/_l_o_c_a.py
ables/_m_a_x_p.py
ables/_n_a_m_e.py
ables/_p_o_s_t.py
ables/_v_h_e_a.py
ables/asciiTable.py
ables/otBase.py
ables/otConverters.py
ables/otTables.py
ables/ttProgram.py
bb0beb7385d00a0f5c99895e7299a5a1307ec193 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 Use py23 to close some of the bytes/str/unicode gaps
_init__.py
acUtils.py
fnt.py
ables/M_E_T_A_.py
9005774c106a796473cae36edc1ca24413139e2f 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=unicode equivalents

Remove usage of unicode module. The rest are mostly false
positives.

Remains u'' in macUtils.py and u"" and unichr in M_E_T_A_.py.
ables/_n_a_m_e.py
c2297cd41d6c00b95f857b65bc9fd4b57559ac5e 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=dict with manual cleanup
_init__.py
fnt.py
ables/L_T_S_H_.py
ables/T_S_I__1.py
ables/V_O_R_G_.py
ables/_c_m_a_p.py
ables/otTables.py
55e7d79ecfbeaaf4045cf5ecdc92032670f76b06 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 manual lambda syntax fix
ables/_k_e_r_n.py
e1d97b827791a4d190fbd0ec597f602aefd09025 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 replace use of module new
ables/otTables.py
14fb031125b773f0a15eb19be4f02ed8540b2db6 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove most uses of module string
_init__.py
ables/C_B_D_T_.py
ables/DefaultTable.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/M_E_T_A_.py
ables/S_I_N_G_.py
ables/S_V_G_.py
ables/T_S_I__1.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_e_a_d.py
ables/_n_a_m_e.py
ables/asciiTable.py
ables/ttProgram.py
b774f9f684c5a0f91f5fa177c9a461968789123f 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=types manual additions

Don't know why the tool didn't catch these.
ables/BitmapGlyphMetrics.py
ables/C_O_L_R_.py
ables/C_P_A_L_.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/G_M_A_P_.py
ables/G_P_K_G_.py
ables/M_E_T_A_.py
ables/O_S_2f_2.py
ables/S_V_G_.py
ables/V_O_R_G_.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/_k_e_r_n.py
ables/_n_a_m_e.py
ables/_p_o_s_t.py
ables/otBase.py
ables/otConverters.py
ables/otTables.py
223273f7923ef25e8b697b378a4b89ab1f88674f 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=except
_init__.py
b92c08059d49a13364257629dd5601dad4ff91d7 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=imports with manual fixups
_init__.py
acUtils.py
ables/C_F_F_.py
3ec6a258238b6068e4eef3fe579f1f5c0a06bbba 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=print with manual fixup
_init__.py
fnt.py
ables/BitmapGlyphMetrics.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/S_V_G_.py
ables/_c_m_a_p.py
ables/_m_a_x_p.py
ables/_n_a_m_e.py
ables/otBase.py
ables/otConverters.py
ables/ttProgram.py
e5ca79699d00fdf7ac6eaceaed372aea8d6bc1fd 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=map with manual cleanup
ables/C_O_L_R_.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/V_O_R_G_.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_e_a_d.py
ables/otTables.py
ac1b4359467ca3deab03186a15eae1d55eb35567 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=idioms
_init__.py
acUtils.py
fnt.py
ables/BitmapGlyphMetrics.py
ables/C_O_L_R_.py
ables/DefaultTable.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/L_T_S_H_.py
ables/M_E_T_A_.py
ables/O_S_2f_2.py
ables/S_V_G_.py
ables/T_S_I__1.py
ables/T_S_I__5.py
ables/V_O_R_G_.py
ables/_c_m_a_p.py
ables/_g_a_s_p.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_e_a_d.py
ables/_h_m_t_x.py
ables/_k_e_r_n.py
ables/_l_o_c_a.py
ables/_m_a_x_p.py
ables/_n_a_m_e.py
ables/_p_o_s_t.py
ables/otBase.py
ables/otConverters.py
ables/otTables.py
ables/ttProgram.py
fa5f2e85ab49c349468f5ae08f15163daa256a04 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=zip with manual cleanup
ables/E_B_L_C_.py
ables/_c_m_a_p.py
ables/otTables.py
28aeabb08b2656cb240063865c37f192532badf5 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=filter
ables/E_B_L_C_.py
ables/_c_m_a_p.py
7cc6d271ac955782d730161b27e728001fb5f347 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=long with manual cleanup
ables/C_O_L_R_.py
ables/G_M_A_P_.py
ables/G_P_K_G_.py
ables/M_E_T_A_.py
ables/S_I_N_G_.py
ables/V_O_R_G_.py
ables/_h_e_a_d.py
4b775ee5f16b7feef22dd796f2faefb366f535f3 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=itertools
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ecbe4c87b5b4b57ee965c3f9c0302cb4044a6875 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=numliterals with manual cleanup
ables/O_S_2f_2.py
ables/_h_e_a_d.py
ables/_h_h_e_a.py
ables/_m_a_x_p.py
ables/_v_h_e_a.py
97dea0a5d02ba1655d27a06fe91540e3495b8ef9 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=xrange
acUtils.py
fnt.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/otBase.py
ables/otTables.py
3a9fd301808f5a8991ca9ac44028d1ecb22d307f 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 equivalent to --fix=tuple_params

I hope I got this all right...
_init__.py
ables/BitmapGlyphMetrics.py
ables/C_F_F_.py
ables/C_O_L_R_.py
ables/C_P_A_L_.py
ables/D_S_I_G_.py
ables/DefaultTable.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/G_M_A_P_.py
ables/G_P_K_G_.py
ables/L_T_S_H_.py
ables/M_E_T_A_.py
ables/O_S_2f_2.py
ables/S_I_N_G_.py
ables/S_V_G_.py
ables/T_S_I__0.py
ables/T_S_I__1.py
ables/T_S_I__5.py
ables/V_O_R_G_.py
ables/_c_m_a_p.py
ables/_c_v_t.py
ables/_f_p_g_m.py
ables/_g_a_s_p.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_e_a_d.py
ables/_h_h_e_a.py
ables/_h_m_t_x.py
ables/_k_e_r_n.py
ables/_m_a_x_p.py
ables/_n_a_m_e.py
ables/_p_o_s_t.py
ables/_v_h_e_a.py
ables/asciiTable.py
ables/otBase.py
ables/otConverters.py
ables/otTables.py
ables/ttProgram.py
dc7e6f3e5563a853477ebe26166b002c158dbe8b 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=repr
_init__.py
ables/_h_d_m_x.py
ables/_p_o_s_t.py
ables/ttProgram.py
cd5aad92f23737ff93a110d5c73d624658a28da8 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=raise
_init__.py
acUtils.py
fnt.py
ables/C_F_F_.py
ables/DefaultTable.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/O_S_2f_2.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/_p_o_s_t.py
ables/otBase.py
ables/otConverters.py
ables/ttProgram.py
180ace6a5ff1399ec53bc696e8bef7cce6eef39a 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=ne
_init__.py
acUtils.py
fnt.py
ables/DefaultTable.py
ables/G_P_K_G_.py
ables/L_T_S_H_.py
ables/O_S_2f_2.py
ables/T_S_I__5.py
ables/_c_m_a_p.py
ables/_c_v_t.py
ables/_g_a_s_p.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_m_t_x.py
ables/_k_e_r_n.py
ables/_l_o_c_a.py
ables/_m_a_x_p.py
ables/_n_a_m_e.py
ables/_p_o_s_t.py
ables/otBase.py
ables/otConverters.py
ables/ttProgram.py
2b06aaa2a6bcd363c25fb0c43f6bb906906594bd 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=import
_init__.py
ables/B_A_S_E_.py
ables/C_B_D_T_.py
ables/C_B_L_C_.py
ables/C_F_F_.py
ables/C_O_L_R_.py
ables/C_P_A_L_.py
ables/D_S_I_G_.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/G_D_E_F_.py
ables/G_M_A_P_.py
ables/G_P_K_G_.py
ables/G_P_O_S_.py
ables/G_S_U_B_.py
ables/J_S_T_F_.py
ables/L_T_S_H_.py
ables/M_E_T_A_.py
ables/O_S_2f_2.py
ables/S_I_N_G_.py
ables/S_V_G_.py
ables/T_S_I_B_.py
ables/T_S_I_D_.py
ables/T_S_I_J_.py
ables/T_S_I_P_.py
ables/T_S_I_S_.py
ables/T_S_I_V_.py
ables/T_S_I__0.py
ables/T_S_I__1.py
ables/T_S_I__5.py
ables/V_O_R_G_.py
ables/__init__.py
ables/_c_m_a_p.py
ables/_c_v_t.py
ables/_f_p_g_m.py
ables/_g_a_s_p.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_e_a_d.py
ables/_h_h_e_a.py
ables/_h_m_t_x.py
ables/_k_e_r_n.py
ables/_l_o_c_a.py
ables/_m_a_x_p.py
ables/_n_a_m_e.py
ables/_p_o_s_t.py
ables/_v_h_e_a.py
ables/asciiTable.py
ables/otBase.py
ables/otConverters.py
ables/otTables.py
bc5e1cb195c0bfa1c8e7507326d5a9ad05aecb4b 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=has_key
_init__.py
acUtils.py
fnt.py
ables/C_O_L_R_.py
ables/C_P_A_L_.py
ables/T_S_I__1.py
ables/V_O_R_G_.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/_h_h_e_a.py
ables/_k_e_r_n.py
ables/_m_a_x_p.py
ables/_n_a_m_e.py
ables/_p_o_s_t.py
ables/_v_h_e_a.py
ables/otBase.py
ables/otConverters.py
ables/otTables.py
66214cbe8c220625e61a85f386756c6de4ec82b2 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=apply
ables/_g_l_y_f.py
ables/otBase.py
3ac9e63fce920ca3cf12f53e067641849c9cdbb4 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Load / save FeatureParamSize decipoints values as float
ables/otBase.py
ables/otConverters.py
ables/otData.py
862b14722fd80a9cacf0fa7666da570fc4f4be56 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Improve OS/2 format 5 compile
ables/O_S_2f_2.py
9e1bd2d0b4416acc7fce623a3bae37064d61d15b 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 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
ables/otBase.py
ables/otConverters.py
ables/otData.py
ables/otTables.py
7ab0cb0b09f67f69990c47944100010435cc3b6a 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fixup cmap lazy loading
ables/_c_m_a_p.py
cb4adf682848103b25f955d19a892fb33fbde9e3 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fix XML->ttf for fonts that have some missing anchors, etc

Eg. EBGaramond12-Regular.ttf. It has a base anchor missing.
Dropping the empty table from XML changes the size of the base
anchor array, which will then result in an assertion because
all bases should have the same array length.

Fixes many other broken fonts too.
ables/otConverters.py
2f2fd9ca7c1da36d86adfc7467c53fb283d9196e 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor
ables/otConverters.py
1f0eed84596e81650b9a8aabfc385bf8dc0c97a2 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor
ables/otBase.py
f4e61ae637f3d12b4121c1264560390b430d294f 26-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Undo making subReader lazy

Need this for upcoming FeatureParams implementation.
ables/otBase.py
ables/otConverters.py
79f734414c2a8d6851fb1b3ec69287ff0e0077b9 26-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Further simplify OTTableReader/Writer
ables/otBase.py
ables/otConverters.py
13a08d0c3a59402459875155b7dbd194787fb229 26-Nov-2013 Behdad Esfahbod <behdad@behdad.org> When compiling cmap format 6, fill in missing codes

They should just map to glyph 0.

Fixes https://github.com/behdad/fonttools/issues/42
ables/_c_m_a_p.py
67eded5efa89608cd123f5543ad57ccdd8014dfb 26-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove obsolete comment
ables/otBase.py
f1e8c3e8a0bd12858e1ab361973c286eb7cad30a 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor
ables/O_S_2f_2.py
b3c860477c42c4c0adc1197dcf47bb899db258c4 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove workaround for buggy OS/2 tables

Those fonts should all be gone by now...
ables/O_S_2f_2.py
88a1fabd0628ddf7c20af902ec38656c369f6e78 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Assert on size of OS/2 version 5

As to reject new bogus fonts.
ables/O_S_2f_2.py
170fc9d40fb1abf5bf5582f603ba4e9a0a441a0c 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Use true point sizes in new OS/2 version 5 fields
ables/O_S_2f_2.py
6f3772bcb4c884a8c5bf98d1399217c26d33bb9f 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Merge pull request #27 from olivierberten/os2_v5

Support for OS/2 table version 5 as proposed by Microsoft
e0c2e8e2af82f79c25026bb8e603ca5bd560c552 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fixup extension / longoffset
ables/otBase.py
ables/otConverters.py
f41056dc764d1300f96354b643a5e5cf7236f09c 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Implement MarkFilteringSet in Lookup
ables/otData.py
4c2f1b6a2c2e4d85d4987606795097d592b1586a 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> [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
ables/_h_m_t_x.py
5b9cabcb9a83e2d95e43c4b6a113f7dc71169c7f 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Implement GDEF MarkGlyphSetsDef

Aka. "Mark filtering sets".

Fixes https://github.com/behdad/fonttools/issues/39
ables/otBase.py
ables/otData.py
6b6e9fae23499de4d17372d0bd7ce4a8f194b4d7 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Rename repeatOffset to aux

To be used for other purposes soon.
ables/otBase.py
ables/otConverters.py
d58c38dc3660f764b659ec13fcbc6e54c1ec2078 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Seprate longOffset from ExtSubTable
ables/otBase.py
ables/otConverters.py
fe67e3121e421e8f146c7b4df8b7188c620d1e5a 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Simplify ExtSubTable
ables/otConverters.py
58acba2d0284ec63bf27c457fa261adf7774e996 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 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.
ables/otBase.py
ables/otConverters.py
ables/otTables.py
9e4b640932b25a59745e30a6de1f943a2f50d5ba 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove unused and unmaintained fontTools.ttLib.test.ttBrowser
est/__init__.py
est/ttBrowser.py
bdc5a99846c43fe48a99c1207d1af5d675a04ac1 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove unused method
ables/otBase.py
3d8d5cd10d2d30ba9997b7cc43336e504111be9a 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Port ttLib to respect font.lazy

I *hope* I didn't break anything...

Notably, cffLib is not ported yet.
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
7ef23a85ae49039ae491e337be173caba7bdd534 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Add font.lazy
_init__.py
ables/otConverters.py
3ebfea491ea795217e0f9649c23ee81df769a250 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Move fontTools.ttLib.importXML to fontTools.misc.xmlReader

Better matches xmlWriter.
_init__.py
mlImport.py
38fdae6342ae5339fbd148ef920f16291aa1e259 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Use True/False instead of 1/0
_init__.py
mlImport.py
c491f45eff9a884e69a44cbf9ae69288be9478b5 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Create subReaders lazily

Should improve memory usage
ables/otBase.py
ables/otConverters.py
e84f9fd1b5d5baa4202d895b88cef65e544f201d 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor
ables/otBase.py
0fac7fe32072e813d36882ba68af1227b6caff9b 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove unused parameter
ables/otBase.py
ables/otConverters.py
ee27eb8517ee53594a6232d110e17403a37ff2d9 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Only propagate counts that are used in sub-tables
ables/otBase.py
ables/otConverters.py
2edc2da303716b9e401fd8dc808f54456d8137f2 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Use tableDict for DeltaValue lookbacks

Was abusing the set/getCount machinery before.
ables/otBase.py
ables/otConverters.py
078b36325d7f64ae989e7db22e4910bf6550562d 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Instead of countVars, pass down tableDict

This is the tableDict of current struct being loaded. This does NOT
get propagated down.

Currently unused.
ables/otBase.py
ables/otConverters.py
7981704a0aade1831d36ece04e2faa02394e8305 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Move countVars into reader/writer objects

The countVars arguments are all unused now. Cleanup coming.
ables/otBase.py
ables/otConverters.py
7d130307e6e6094e40a841a3c41fc74b203b7e8e 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Simplify converter mapping for DeltaValue
ables/otConverters.py
ables/otData.py
6f9b64f2966d18cccad3fcf6e03f44f208dbc2a4 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fixup 41caf2d for DeltaValue tables

Not that I can find any fonts having these... Had to construct one
to test.
ables/otBase.py
ables/otConverters.py
24f978ccc6bfbe4e5ad96d9c77aed70d050aa585 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fixup 41caf2d

Lexical binding...

Fixes https://github.com/behdad/fonttools/issues/40
ables/otBase.py
601bb94afca4892835922c35d26116aaecf90283 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor

Followup for 6e556aafc3be5ccf48a01d8113313abd2a633ba6.
ables/otBase.py
ffc3cfeed12e67b383ed5f540d05cab01b33bb77 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 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.
ables/otConverters.py
a221a57ccdeefc752384778444ee737d4559a516 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 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).
ables/otConverters.py
ables/otData.py
0b18ef611103518c4eecc22668063ada473a9312 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove Fixed vs fixed32 inconsistency
ables/otConverters.py
ables/otData.py
ea017bd66f790d066a3f4f0b5974479875dd5dfc 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove USHORT vs uint16 inconsistency
ables/otConverters.py
ables/otData.py
5962268b7971f624a56ba97c75d95ed11c190ac4 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove unused "LONG" converter

LONG was replaced by Fixed long time ago.
ables/otConverters.py
0de65295f66c882920988c6fe23485b7a4858575 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove script to build otData.py

The was was originally generated, but is static now and this
allows cleaning it up and modifying it.
ables/otData.py
3879cf94396869f645ae4c34dcdafed40ccdcdd4 23-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Use slots for OTTableReader

Slight performance gain even.
ables/otBase.py
6e556aafc3be5ccf48a01d8113313abd2a633ba6 23-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Make ValueRecordFactory() immutable

Gives another 3% speedup.
ables/otBase.py
41caf2dea1e0c58c5ac763ad2575592df734b62c 23-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 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.
ables/otBase.py
ables/otConverters.py
0585b64f70cca15aab3483f529c8faf1b7b825fd 22-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor
ables/otBase.py
ables/otConverters.py
d01c44a59bcf8f8e75e8606142da422319d281e2 22-Nov-2013 Behdad Esfahbod <behdad@behdad.org> When lazy-loading tables, copy ValueFormat

Otherwise it may be overwritten before we use it.
ables/otBase.py
ables/otConverters.py
fc10b20c25af08267bba6ac56aea9638cc56f603 21-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor
ables/otConverters.py
f50d0dff869a8b74bcff028721204a284cadff12 21-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Load all OpenType sub-structures lazily

Huge win for subsetter and anyone else who doesn't need the entire
tables. Subsetting a huge font (eg. NotoSans-Regular.ttf) to a
small set (say, main Cyrillic characters) is something like six
times faster now. Bulk of time was being spent in blowing up the
GPOS kerning pairs and attach points. Now we don't load those if
they won't be in the final subset.

Slight slowdown for usecases that need the entire table.
ables/otBase.py
ables/otConverters.py
5988cc32cbe04ed8ff6330bd6ede634b9c68faf0 19-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Make BaseTable a new-style object
ables/otBase.py
aa37c0aa7d4e692cc85c70a9bb22be16433c2394 18-Nov-2013 Olivier Berten <olivier.berten@gmail.com> Support for OS/2 table version 5 as proposed by Microsoft
https://github.com/fontforge/fontforge/issues/956
ables/O_S_2f_2.py
fc4f4384966bd88f5d304e342895c42cf16c89d2 18-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fix parsing of hinting instructions that end in a PUSHB

Sounds useless, but MReifutaiM-Regular.ttf seems to have that, and the
parsing back from XML was failing because we expected a token whereas
after dropping whitespace there wasn't any left.
ables/ttProgram.py
17700bf926645d7def1d4013b2e119d2be4ff904 18-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Handle and warn about out-of-order Coverage table entries

Apparently the SIL Gentium fonts have wrong sorting in Coverage
tables. That's broken by the spec, but shapers still work with
such fonts. So, we warn when reading, and when writing, such
out-of-order coverage tables.
ables/otTables.py
6e7066765929929d8315a719aeff1c5e5a5d9e9a 15-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Support loading broken Coverage tables

Hit by Google Fonts's font "Cabin" for example and a handful
of others.
ables/otTables.py
67fef70631891279de499473c4e528f1b8f92663 15-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Support decode/encoding of unknown glyf hinting instructions

New instructions can be defined in the prep program. We don't
check that the "unknown" instruction was actually defined. Just
pass it through.

Fixes ttx with Skia.ttf on the Mac OS X.

Fixes https://github.com/behdad/fonttools/issues/21
ables/ttProgram.py
4ff77121313e2af3b43ef8285495a2d4669dff2a 15-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Restructure code

In anticipation of upcoming change.
ables/ttProgram.py
4fab60ca5b023855fc35e14b5d1aa99e4cc03317 15-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove unused instruction name propagation

No functional change whatsoever.
ables/ttProgram.py
978b1ea8774d2ed24d12099b60bfa53fea3239b4 15-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Indent
ables/_h_h_e_a.py
246301acc9a54c38f83dcbc9b15127edff33b804 15-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fixup hhea recalc after 9222b8ef93fd6b41f9c4dcf152593cd0c80f0ba4
ables/_h_h_e_a.py
c360f047541040df9ff37617ea110f334886aa40 15-Nov-2013 Roozbeh Pournader <roozbeh@google.com> Separate out the logic of computing advanceWidthMax from minLeftSideBearing, minRightSideBearing, and xMaxExtent for minimal fonts.
ables/_h_h_e_a.py
dec666aa05c05badef506f232249ac9f6f30c46f 15-Nov-2013 Roozbeh Pournader <roozbeh@google.com> Only modify the loca table is there is such a table.
ables/_g_l_y_f.py
7bdf6d39fc124bfcbc8bafb0c3f7a64b5c85cd2f 14-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor
ables/_h_h_e_a.py
9222b8ef93fd6b41f9c4dcf152593cd0c80f0ba4 14-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Consider composite glyphs when recalcing 'hhea' values

Fixes https://github.com/behdad/fonttools/issues/20
ables/_h_h_e_a.py
335f182a585975725c316d66add5e8cdd9f34e6a 14-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Consider advance width of all glyphs when recalcing 'hhea'

Part of https://github.com/behdad/fonttools/issues/20
ables/_h_h_e_a.py
cd4fac4f4a7c5b912e3870d83fd74830f9a438d0 14-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Avoid overflow when compiling glyf table

https://github.com/behdad/fonttools/pull/25
ables/_g_l_y_f.py
c55d592661d1862b96fa3cfa66287d0e6285d688 14-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove unreachable code
ables/_g_l_y_f.py
94118dcea43bbc618b35774d9c9913738fa5e97a 28-Oct-2013 Behdad Esfahbod <behdad@behdad.org> Fix cmap subtable sort order

https://github.com/behdad/fonttools/issues/22
ables/_c_m_a_p.py
ables/_n_a_m_e.py
0ba7aa7ab5153e6a490425dd0f859cc5947360f4 28-Oct-2013 Behdad Esfahbod <behdad@behdad.org> Make __cmp__() functions stable
ables/DefaultTable.py
ables/M_E_T_A_.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/_h_e_a_d.py
ables/_k_e_r_n.py
ables/_l_o_c_a.py
ables/_n_a_m_e.py
ables/otBase.py
d95db25720eff340230e33971f95de846d2ef96c 26-Oct-2013 Behdad Esfahbod <behdad@behdad.org> Indent
ables/_h_h_e_a.py
1e0ad3a9a8d89c7d48443bf65a840871bd5d59ed 13-Oct-2013 Denis Jacquerye <moyogo@gmail.com> remove non utf-8 character in unmaintainted code
est/ttBrowser.py
51a17826be4fb43d1f6ad5ada94207d8e18fc458 10-Oct-2013 Roozbeh Pournader <roozbeh@google.com> Add support for cmap format 13.
ables/_c_m_a_p.py
cff3740f1440997cd013f538fecb06243d13c6a1 09-Oct-2013 Denis Jacquerye <denis.jacquerye@daltonmaag.com> * wrong indentation after else
ables/_h_h_e_a.py
ables/_m_a_x_p.py
d7921e33d9d1944c394e6c17b3746e7108dd1da4 09-Oct-2013 Roozbeh Pournader <roozbeh@google.com> Improved support for minimal fonts (with no visible glyphs).
_init__.py
ables/_h_h_e_a.py
ables/_l_o_c_a.py
ables/_m_a_x_p.py
1e4c89f83aa3fb63c0973f59de2d91a07683de75 07-Oct-2013 Behdad Esfahbod <behdad@behdad.org> Update SVG table implementation

New drop from Read Roberts.
ables/S_V_G_.py
805caae0d5a16e381fa65f5a7f5e4e6262978706 02-Oct-2013 Behdad Esfahbod <behdad@behdad.org> Merge pull request #5 from davelab6/master

New -q for Quiet mode
2e998ea692d7af0433869e427a43b681a1640cf0 29-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Fix GlyphCoordinates slicing

Based on patch from Roozbeh.
ables/_g_l_y_f.py
043108cbdb6a18bf0871410796d346ed86098aaa 27-Sep-2013 Behdad Esfahbod <behdad@behdad.org> [subset] Fix glyf component closure

https://github.com/behdad/fonttools/pull/11
ables/_g_l_y_f.py
bb56ddb971b9d3d885a9243f37c642d5f922c66f 20-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Fix composite glyph coordinate routines

Ouch, was modifying the component's own coordinates before.
ables/_g_l_y_f.py
70fee1648affd71286ee1469da5c163ff78cddc9 20-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Fix glyph removeHinting re padding
ables/_g_l_y_f.py
626107c833da0e5ce5c8b652990222181d0d3834 20-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Move some methods from subset.py to 'glyf' table implementation
ables/_g_l_y_f.py
9d7dc222990efdab0681ce7c519ef3a73d3fd718 20-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Add copyright notices
ables/C_B_D_T_.py
ables/C_B_L_C_.py
ables/C_O_L_R_.py
ables/C_P_A_L_.py
8413c108d21e8cf0e9059bbfffde8d13f2616340 17-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Move sstruct under fontTools.misc

Our footprint in the Python module namespace is all under
fontTools now. User code importing sstruct should be updated
to say "from fontTools.misc import sstruct".
fnt.py
ables/BitmapGlyphMetrics.py
ables/C_B_D_T_.py
ables/D_S_I_G_.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/G_M_A_P_.py
ables/G_P_K_G_.py
ables/M_E_T_A_.py
ables/O_S_2f_2.py
ables/S_I_N_G_.py
ables/S_V_G_.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_e_a_d.py
ables/_h_h_e_a.py
ables/_m_a_x_p.py
ables/_n_a_m_e.py
ables/_p_o_s_t.py
ables/_v_h_e_a.py
f65033e277ec5161fd77ec340ab899edc2e03764 17-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Move xmlWriter into fontTools.misc

Trying to cleanup our footprint in the Python namespace.
_init__.py
a9b7e14f9bc7c92a715e2486b07578731f9db9f2 04-Sep-2013 Dave Crossland <dave@lab6.com> Merge http://github.com/behdad/fonttools
9316a90e320e693f21fbe209937e92b6d15fb474 04-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Fixup from numpy removal
ables/_g_l_y_f.py
1e50d944873b6c88efb3f626333f0ba5e4d79b55 04-Sep-2013 Dave Crossland <dave@lab6.com> Merge http://github.com/behdad/fonttools
2058dcfb68609724bb21f9d489c574873ac0cbdf 04-Sep-2013 Behdad Esfahbod <behdad@behdad.org> More GlyphCoordinates fixup

I'm sure it's correct this time, though I couldn't reproduce the latest
issue Dave was hitting.
ables/_g_l_y_f.py
a2fb9508fbff35f13eb9e12aed47227769f609aa 04-Sep-2013 Dave Crossland <dave@lab6.com> Merge http://github.com/behdad/fonttools
e9ea5a0a10b9950632bf770515300526a149279e 04-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Really fix GlyphCoordinates this time

Argh. I should stop committing without proper time to test first.

https://github.com/behdad/fonttools/issues/4
ables/_g_l_y_f.py
c7e0cf475419d37d8a05d50de742d269fb4d807c 04-Sep-2013 Dave Crossland <dave@lab6.com> Merge http://github.com/behdad/fonttools
71d76fa1b876a255f6ac86162b806a54c613cefb 04-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Fix GlyphCoordinates

It's embarrassing that I failed to test ttx completely.

https://github.com/behdad/fonttools/issues/4
ables/_g_l_y_f.py
d7efd5692cac74702d487e641ca7ddf9c6cfecec 04-Sep-2013 Dave Crossland <dave@lab6.com> Make parsing XML quiet
_init__.py
85af40e7d8c4f4f4a3df3562a5ec9e5731cfe43f 04-Sep-2013 Dave Crossland <dave@lab6.com> Adding quiet mode to xmlImport
_init__.py
mlImport.py
562400ea10b8f2a4faf11bfd4b73fd0dd937f789 29-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Update table list for SVG
ables/__init__.py
ddcca79308b52dc36b24ef94cab4ab00c8e32376 28-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Add 'SVG ' table implementation from Read Roberts (Adobe)
ables/S_V_G_.py
c4af3964fbcfefb562fcc72171f5b48bb5065040 28-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Revert "Make GlyphOrder object iterable"

This reverts commit e4a670cc7da93d3a12ba23d8cfefdeb0ec7be01f.

As Read Roberts wrote to me:

"you changed the definition of the GlyphOrder class to take a ttFont as
the argument for the __init__ function, rather than just the
tag, as before, I think so that the glyph order is defined when the
table is instantiated, rather than only when to/fromXML() is called

The problem with this is that the ttx.py compile function passes in a tag,
so compiling a font from an ttx file fails here, and in
xmlImport.startElementHandler(). I discovered this because a number of my
scripts use the same logic. What is the reason for this change? I have no
problem with changing the several FDK scripts that build a new TTF font
from scratch, to pass in the ttFont rather than a tag, but wanted to be
sure that this was necessary. The main issues are that when reading in an
entire TTX file, the table has to be instantiated before the data can be
provided, and the GylphOrder initialization is then different than for
all the other tables"""

As such revert. This means that GlyphOrder is again non-iterable. Will
have to fix in some other way later.
_init__.py
4b3df49b5b70b3618e91e3ab954cedca773831d6 20-Aug-2013 Behdad Esfahbod <behdad@behdad.org> 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!
mlImport.py
d8b32bf6e208a18421cfd4705801d6237e281f93 19-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Minor import cleanup
_init__.py
e4a670cc7da93d3a12ba23d8cfefdeb0ec7be01f 18-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Make GlyphOrder object iterable
_init__.py
96b321c8aea4dc64110d15a541c6f85152ae19cf 17-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Fix comparison to arbitrary objects
ables/DefaultTable.py
ables/M_E_T_A_.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/_h_e_a_d.py
ables/_k_e_r_n.py
ables/_l_o_c_a.py
ables/_n_a_m_e.py
ables/otBase.py
843ffd8c795e9b75aac51226f01e23c0703555f3 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port glyf coordinates from numpy to custom type
ables/_g_l_y_f.py
4f033683ca79093de30b62f5a3b87c2c466496f0 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port glyf transform from numpy to lists
ables/_g_l_y_f.py
bca6e99d1c94b44cfc68c62229ac821e04809715 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port glyf flags from numpy to array module
ables/_g_l_y_f.py
b1a7f87c2f424e27e0e0db6112098d7c87b53787 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port GPKG table from numpy to array module
ables/G_P_K_G_.py
8da8242d614d8e57f5c1d1730436d455777449b5 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port cmap table from numpy to array module
ables/_c_m_a_p.py
fd647bf3533c21de7995893982811c6c56617542 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port loca table from numpy to array module
ables/_l_o_c_a.py
035bc7da2318f0dcacecba2e1e24c0a4bf3cf80c 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port hmtx table from numpy to array module
ables/_h_m_t_x.py
4ffd404449cf4bbe74f30dbad87b9ca808bb98bc 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Fix decompiling GPKG on 64bit systems

array.array("L") reads 64bit ints, not 32bit. Use "I" instead.
ables/G_P_K_G_.py
400e9539fd5968fcbfeeb36abaea54d9c8997872 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> 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.
_init__.py
b0dc6dfc8baf01db94782fccc2e734a281b9ba12 15-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Add support for saving WOFF file format
_init__.py
fnt.py
58d7416124dc0ebaa3faccb1b77dd5f7926a628a 15-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Add support for loading WOFF file format
_init__.py
fnt.py
183afe6408fade5d45dd45d062293c416a4adef1 09-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Optimize Coverage.postRead()
ables/otTables.py
12fd2ea9dccfec104f4f8a79a8988c092c0b712c 29-Jul-2013 Behdad Esfahbod <behdad@behdad.org> 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.
ables/_g_l_y_f.py
7d2c10ec74b923facf7cb496ac79f56f1d3d6a84 25-Jul-2013 Behdad Esfahbod <behdad@behdad.org> Allow toXML() to be called on individual tables

Was hitting a missing attribute since disassembleInstructions was
being set by saveXML() only.
ables/ttProgram.py
85be2e0a9773acec3c6d14c345b1fd94ab3aa5c3 25-Jul-2013 Behdad Esfahbod <behdad@behdad.org> 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!
ables/_p_o_s_t.py
26549ce2981aae3bd1bd6186249635840a149276 25-Jul-2013 Behdad Esfahbod <behdad@behdad.org> Warn about excess data in kern table instead of aborting
ables/_k_e_r_n.py
65499c1042bd5d12a1593e598454acbe1a6b0130 05-Aug-2013 Matt Fontaine <mfontaine@google.com> Minor improvement to TableStack

Push/pop on the end side, which should be faster.
ables/otBase.py
50d9a44e5887e303480af571cca8b69cd82c3173 24-Jul-2013 Behdad Esfahbod <behdad@behdad.org> Add support for Microsoft COLR/CPAL layered color glyphs
ables/C_O_L_R_.py
ables/C_P_A_L_.py
ables/__init__.py
b9ba77541323c56a8f88c96f16bb6e32279d975d 19-Aug-2013 Matt Fontaine <mfontaine@google.com> Add support for Google CBLC/CBDT color bitmaps
ables/C_B_D_T_.py
ables/C_B_L_C_.py
ables/__init__.py
c33b0a22ef0046c392275e3dba974dfbadee24fa 19-Aug-2013 Matt Fontaine <mfontaine@google.com> Add support for standard EBLC/EBDT embedded bitmaps
_init__.py
ables/BitmapGlyphMetrics.py
ables/E_B_D_T_.py
ables/E_B_L_C_.py
ables/__init__.py
3ac875aa1df2c773a973aa8f15852c4551ce20f4 12-Jun-2013 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> Fix consistency of space/tab usage.

Reference: http://docs.python.org/reference/lexical_analysis.html#indentation

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@613 4cde692c-a291-49d1-8350-778aa11640f8
ables/otConverters.py
e0ddc58fc2e4e4af5f64b707502e034e5f4128f6 10-Nov-2012 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Georg Seifert: fix bug with Apple's kern table format

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@612 4cde692c-a291-49d1-8350-778aa11640f8
ables/_k_e_r_n.py
91bca4244286fb519c93fe92329da96b0e6f32ee 18-Oct-2012 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> merging fixes & changes from delft-sprint-2012

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@611 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
acUtils.py
fnt.py
ables/D_S_I_G_.py
ables/_g_a_s_p.py
ables/_g_l_y_f.py
ables/ttProgram.py
3de0e58f294263cd5d0b18aab95e267e8abc2689 13-Feb-2011 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> Fix bug in last commit

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@587 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_m_t_x.py
d3d7250fc3147b6333e365e5be4ff29aa92ee506 13-Feb-2011 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> Be more thorough when working around font bugs in the hmtx table

https://bugs.launchpad.net/ubuntu/+source/fonttools/+bug/223884

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@586 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_m_t_x.py
d5721376f20a83bbb3b4b22ff898775fe91a6a9e 13-Feb-2011 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> Be more thorough when working around font bugs in the loca/glyf tables

https://bugs.launchpad.net/ubuntu/+source/fonttools/+bug/223884

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@585 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
ables/_l_o_c_a.py
df16db5bb82db74141dd8cba25a1df444103d10b 13-Feb-2011 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> Be more thorough when working around font bugs in the OS/2 table

https://bugs.launchpad.net/ubuntu/+source/fonttools/+bug/223884

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@584 4cde692c-a291-49d1-8350-778aa11640f8
ables/O_S_2f_2.py
98caac29f318976f9ab5b8200f96b1853a00b31c 13-Feb-2011 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> Long-format loca tables are unsigned not signed.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@583 4cde692c-a291-49d1-8350-778aa11640f8
ables/_l_o_c_a.py
1344bc9b6208d9f779ac67bd8121c82de0eb085f 09-Jan-2010 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> Fix typos: 'neccesary' should be 'necessary'.

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@581 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
17012aabbbc595da0e0c809fff09408bef6b758e 08-Nov-2009 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> 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
ables/_c_m_a_p.py
86368e7ac0565f965a71cfa50b0bcfcb38046609 08-Nov-2009 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> Raising strings is deprecated in Python 2.5, raise an exception instead.

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@569 4cde692c-a291-49d1-8350-778aa11640f8
ables/ttProgram.py
0e2aecec53da493c44d6a5c253910a9475da218a 24-Mar-2009 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> Fix some warnings due to signedness and 64-bitness issues

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@568 4cde692c-a291-49d1-8350-778aa11640f8
fnt.py
e70bb8af7026ed6c19677eaf5ac762c6b1228f5c 23-Mar-2009 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> Remove old .cvsignore file

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@566 4cde692c-a291-49d1-8350-778aa11640f8
ables/.cvsignore
7e91e776c9d10d3b295de06ee7f665d8106306d8 22-Feb-2009 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> Apply remainder of #1675210: add support for TrueType Collection (TTC) files.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@564 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
fnt.py
d67cf25974ab1d9c022d3a2d24a31cace48bbd60 16-Sep-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> don't use 'as' as a name, it's a keyword in Python >= 2.6


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@563 4cde692c-a291-49d1-8350-778aa11640f8
ables/ttProgram.py
c63ac64007caf769f1e6a267403280264d4ae7bd 17-Jun-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fixed buglet that caused the last table in the font not to be padded to a 4-byte boundary (the spec is a little vague about this, but I believe it's needed, also, Suitcase may complain...)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@562 4cde692c-a291-49d1-8350-778aa11640f8
fnt.py
a220bf3567a71be4fb5e9f5335b3a0b92f222491 17-May-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> a different fix for [1296026]: just comment out the offending assert


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@557 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
03e02adeb4621c714dc88ef43da655917452e536 17-May-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> back out 'fix', as this solution isn't portable


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@556 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
0cb8a08d89ecd3126aac5a528997bfd0d41e8b10 16-May-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> 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
ables/_c_m_a_p.py
14654b2a88b9316c6a513407dc2004f232fb77eb 16-May-2008 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> Apply 1296026: fix tracebacks in some timezones


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@551 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
e5b245fd074a2efa5fc8902cb7a11a5dcad0f3f5 09-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> added refactoring note


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@548 4cde692c-a291-49d1-8350-778aa11640f8
ables/otTables.py
ce47e0d978a7768bdc55e00c6ebd6b691e1eaeb3 09-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> minor fix: one zero too many in assert


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@547 4cde692c-a291-49d1-8350-778aa11640f8
ables/otBase.py
1c734526926cad812f4f0e688eb2f68a33eda2f8 09-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fixed some comment typos


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@545 4cde692c-a291-49d1-8350-778aa11640f8
ables/otBase.py
cd75d570d47c5e1dc81ba9a5a5e775d49ed82ca4 09-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> don't crash on empty VORG table (reported by Werner Lemberg)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@544 4cde692c-a291-49d1-8350-778aa11640f8
ables/V_O_R_G_.py
1ebda677eb6061e809c422fc6d3b483f965a8281 08-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> squash 2 bugs related to the numpy conversion


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@543 4cde692c-a291-49d1-8350-778aa11640f8
fnt.py
ables/_g_l_y_f.py
28afd331e197fbdc4f78ac4a1ac26d80fc583983 04-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> initialize data to empty string instead of list


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@539 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_a_s_p.py
91ff4fdfdaade8ef53875c45c084285047079f31 04-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> ar.typecode() doesn't exist in numpy, but then again, this was overkill


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@538 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
1b7d54fedc29a9863250dc5486dcd86ed6f70a23 04-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> converted usage of Numeric to numpy


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@537 4cde692c-a291-49d1-8350-778aa11640f8
fnt.py
ables/G_P_K_G_.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/_h_m_t_x.py
ables/_l_o_c_a.py
est/ttBrowser.py
f5e9825454f9a17139d872f0cac94e00ac6a05b0 04-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> note this file is deprecated


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@536 4cde692c-a291-49d1-8350-778aa11640f8
est/ttBrowser.py
ccaf0376d6ee5863390eb56c026b92b28453f1a5 04-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> removed some redundant imports


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@535 4cde692c-a291-49d1-8350-778aa11640f8
ables/_v_m_t_x.py
b018bf71203a067e6dda2736429b99e52f48e4e9 01-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> the gasp portion of patch 1675210: support for ClearType


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@529 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_a_s_p.py
212ea147062ac1ba9c914836b25bb4a8a8463522 01-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fixed oversight in sys.byteorder transition


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@528 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_m_t_x.py
9be387c94ff8199f8031b7f11f06c52cce5ccf6d 01-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> 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
_init__.py
fnt.py
ables/G_P_K_G_.py
ables/T_S_I__5.py
ables/_c_m_a_p.py
ables/_c_v_t.py
ables/_g_l_y_f.py
ables/_h_m_t_x.py
ables/_l_o_c_a.py
ables/_p_o_s_t.py
2545f16b54798fe809238c76e2240f901fce8f8d 01-Mar-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Make a hidden feature accessible: optionally ignore decompilation errors,
falling back to DefaultTable, retaining the binary data. It's a bit
dangerous to enable this by default, since it can lead to hiding other
errors or bugs (in the font or fonttools itself).


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@524 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
2db352c748a933d85264deb102036137f06b840f 29-Feb-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> - 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
ables/_c_m_a_p.py
86331951040a6585bce9b33ba5d63784e64d0741 19-Feb-2008 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fixed problem with private VTT table, found by Peter Bilak


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@522 4cde692c-a291-49d1-8350-778aa11640f8
ables/T_S_I__1.py
9728601b444a98cd4740baaf4fd0287300546757 14-Nov-2007 pabs3 <pabs3@4cde692c-a291-49d1-8350-778aa11640f8> Fix 1762552: traceback on amd64 with DejaVuSans.ttf


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@514 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
4acb76de2ef06f9dbf431a52abe0c6da7c5f2a8a 22-Oct-2007 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> added 'support' for OS/2 version 4: can anyone verify this is correct? I can't seem to find an OS/2 v4 spec...


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@513 4cde692c-a291-49d1-8350-778aa11640f8
ables/O_S_2f_2.py
823f8cd15f16bb9dc3991c2672f16dd90579711b 21-Oct-2006 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Misc patches from rroberts:

fontTools/ttx.py
# support virtual GIDs, support handling some GSUB offset overflows.

fontTools/ttlib/__init__.py
# 1) make getReverseGlyphMap a public function; I find a reverse map
to often be useful
# 2) support virtual glyphs, e.g. references to GID's that are not in the font.
# Added the TTFont argument allowVID (default 0) to turn this off and on;
# added the arg requireReal ( default 0) so as to get the obvious
default behaviour when
# allowVID is 0 or 1, but to allow requiring a true GID when allowVID is 1.

fontTools/ttlib/tables/otBase.py
fontTools/ttlib/tables/otConverters.py
fontTools/ttlib/tables/otData.py
fontTools/ttlib/tables/otTables.py
# 1) speed optimization
# - collapse for loops
# - do not decompile extension lookups until a record is requested
from within the lookup.
# 2) handling offset overflows
# 3) support of extension lookups
# 4) Fixed FetauresParam converter class def so as to survive a font
that has this offset non-NULL.
# This fixes a stack dump.
# The data will now just get ignored


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@511 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
ables/otBase.py
ables/otConverters.py
ables/otData.py
ables/otTables.py
d299b55d14fa77411140c0cc1c2524583b4ffa58 21-Oct-2006 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> 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
ables/_c_m_a_p.py
bc6e55b31e36c11d452fbf0082b834bc4320013f 21-Oct-2006 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Speed optimizations from rroberts


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@508 4cde692c-a291-49d1-8350-778aa11640f8
ables/V_O_R_G_.py
4cc0051c087e7e9c294559a21540e296cfe9ef4a 21-Oct-2006 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Some non-official OT tables from rrboerts. He wrote:

There are also some new files, for SING glyphlet support, that you
may or may not want to add, because they are not in the OpenType spec.

M_E_T_A_.py # SING glyphlet meta data table. see
'http://partners.adobe.com/public/developer/opentype/gdk/topic.html"
S_I_N_G_.py # SING glyphlet basic info. See same web site as for META
data table.

G_M_A_P_.py # Summary of sing glyphlet info that has been stuck into
a parent font. Not documented anywhere yet.
G_P_K_G_.py # Opaque wrapper for SING glyphlet info; travels with
application document. Is also stuck into augmented parent font. Not
documented anywhere yet


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@507 4cde692c-a291-49d1-8350-778aa11640f8
ables/G_M_A_P_.py
ables/G_P_K_G_.py
ables/M_E_T_A_.py
ables/S_I_N_G_.py
ables/__init__.py
3a3721cb1ce57051fdcce544d34129376d5d4f7f 25-Jan-2006 fcoiffie <fcoiffie@4cde692c-a291-49d1-8350-778aa11640f8> In some bad fonts, kern table is incomplete (it only contains a version number). In this case, the code accept a table without kernTables.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@504 4cde692c-a291-49d1-8350-778aa11640f8
ables/_k_e_r_n.py
dc66e7e1180e77999ba8c02683956fb31f0e1003 25-Jan-2006 fcoiffie <fcoiffie@4cde692c-a291-49d1-8350-778aa11640f8> LTSH length can be different of numGlyphs as the table length must be 4-bytes aligned (assertion changed to (len(data) % numGlyphs) < 4)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@503 4cde692c-a291-49d1-8350-778aa11640f8
ables/L_T_S_H_.py
83f069d66c3165a8899c35296053f7fbd350a9f6 25-Jan-2006 fcoiffie <fcoiffie@4cde692c-a291-49d1-8350-778aa11640f8> The dates are stored in 8-bytes fields (Microsoft reference document) but Macintosh dates are only coded with 4-bytes. In some fonts, these date fields are badly coded and 8-bytes are used. So, a ValueError occurs.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@502 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
04985bfdded4d445c67524b018965df1f4a4c313 12-Jan-2006 fcoiffie <fcoiffie@4cde692c-a291-49d1-8350-778aa11640f8> Unsigned long data field must be packed with "L" instead of "l" (sometimes an OverflowError can occur)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@501 4cde692c-a291-49d1-8350-778aa11640f8
ables/O_S_2f_2.py
ables/_p_o_s_t.py
2e4cc02ca31c43eafb6f752e44dbca9b004a3a2f 08-Mar-2005 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> BasePen should not fail if a base glyph does not exist in the glyph set; added get() method to _TTGlyphSet class


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@497 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
31ae380735dbf75a460df002a7fc2bcd81e28153 11-Feb-2005 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fixed problem with empty ClassDef, as well as added some more defenses for possible empty tables


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@484 4cde692c-a291-49d1-8350-778aa11640f8
ables/otTables.py
7afc6b989c39e3ff5e5e2ad8ed02abb2b40251e2 24-Jan-2005 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> uh, and the other one


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@482 4cde692c-a291-49d1-8350-778aa11640f8
ables/T_S_I__0.py
79c1316d6561f3ae3196425008883c1872f1f814 24-Jan-2005 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fixed buglet in GlyphSet support code


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@481 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
1ed5b4746de2459c306d273c02ac050d982d3503 24-Jan-2005 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fixed 2.4 compat issue


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@480 4cde692c-a291-49d1-8350-778aa11640f8
ables/T_S_I__0.py
f34c6f393799c77de669dab4ad84f299b11f0875 24-Dec-2004 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fix for new 2.4 hex() behavior


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@478 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
28ae1962292b66ad67117aef2a99d5735a70b779 16-Nov-2004 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Refactored and enhanced table order support:
- Rewrote sorting function, it was really quite buggy.
- Added reorderFontTables() functions, which reorders the
tables in a font at the sfnt level.
- TTFont.save() will now by default rewrite the font in the
optimized order. This is done through a temp file since
our dependency checking logic gets in the way of writing
the tables in a predefined order directly (if table A depends
on B, table B will always be compiled and written first, so
this prevents A from showing up in the file before B).

sfnt.py:
- removed closeStream option from SFNTWriter.close(); it's better
done by the caller (TTFont).


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@475 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
fnt.py
a4f6688ebe8f0eea3971308e53ca9b3ba9bb9a5d 16-Nov-2004 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> tweak & bugfix


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@474 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
427f9802bccf942f51567170e72a71ac14443c71 26-Sep-2004 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> 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
ables/_c_m_a_p.py
fba0609d545c47c14609cc50cfe599ed417dcfc3 25-Sep-2004 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Fix for [ 808370 ] Dumping Legendum.otf fails on 'kern' table
Work around buggy kern table.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@472 4cde692c-a291-49d1-8350-778aa11640f8
ables/_k_e_r_n.py
1fae9b48d3a275c6e1dc0649c40ae121dfc4098d 25-Sep-2004 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> [ 637398 ] Failure while parsing OpenType file
Deal with empty Coverage table: it will be None so won't have a .glyphs
attribute.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@471 4cde692c-a291-49d1-8350-778aa11640f8
ables/otTables.py
266bf21dbe3c4b8aad86dfccbe97549fb04d18c1 25-Sep-2004 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> workaround for bug [ 766694 ] Error from invalid date


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@470 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
980fae897a18cd1315879b9dcb8ec6ab28fbb5e9 25-Sep-2004 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> bug #784690: simple workaround for buggy name table


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@469 4cde692c-a291-49d1-8350-778aa11640f8
ables/_n_a_m_e.py
a84b28d934fb697755823c62799f4b65e2b92237 25-Sep-2004 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> - 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
ables/_c_m_a_p.py
0cd79a5642101821d66392e3bd0e3c445e97f09b 25-Sep-2004 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Patch #845571 from Anthony Fok:
- better exception msg in loca table
- renamed "version" to "language" in cmap
- made cmap 12 work (untested by me)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@463 4cde692c-a291-49d1-8350-778aa11640f8
ables/_c_m_a_p.py
ables/_l_o_c_a.py
7718d95951335e4122f934d0ed23bd2cd41e2391 25-Sep-2004 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> whoops, forgot one part os OS/2 version 3 support


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@462 4cde692c-a291-49d1-8350-778aa11640f8
ables/O_S_2f_2.py
30bcb12dcbce10d4d767b3a25cd7c031a46261f6 24-Sep-2004 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> added support for OS/2 table #3


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@461 4cde692c-a291-49d1-8350-778aa11640f8
ables/O_S_2f_2.py
8e1d75b1a3fb4874bb78d9c34a11ba30de81a5cc 22-Sep-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> ReverseChainSingleSubst support from Yannis H. (must get that generate-otdata-from-the-docs working again)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@459 4cde692c-a291-49d1-8350-778aa11640f8
ables/otData.py
ables/otTables.py
df1f145e5afee009fe88dfaa9c255363003f5f9f 22-Sep-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> bug from the spec leaked into here; pointed out by Yannis H.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@458 4cde692c-a291-49d1-8350-778aa11640f8
ables/otData.py
27f108844ef1aeeb5c694a8304bf6c4944783d42 11-Sep-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> this should have been part of the previous path by some fixes from klchxbec


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@450 4cde692c-a291-49d1-8350-778aa11640f8
ables/otTables.py
3a6aa2359e179779c281e6d319cb9a1a851e6df1 02-Sep-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> tweaked doc string


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@445 4cde692c-a291-49d1-8350-778aa11640f8
ables/otBase.py
5aaeac333388f2859191e2648e2b8287372a1637 01-Sep-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Ha, a reserved field got eaten. Noticed by Yannis Haralambous.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@443 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_h_e_a.py
1cff4cb190c49020bd34cfcc7a67fcb143055ae4 28-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> workaround for buggy 2.2 mac support


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@436 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
3430abf7ab289b3f50aa581a6207150ebe70fc0d 28-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> whitespace nits


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@435 4cde692c-a291-49d1-8350-778aa11640f8
ables/_c_m_a_p.py
bafa66e665afa581b58391585f1792578a4d3d2d 28-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Another patch from rroberts. He writes:
"""It adds full support for cmap format 2, which is what
the Adobe CJK fonts use for the Mac cmap subtable."""


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@434 4cde692c-a291-49d1-8350-778aa11640f8
ables/_c_m_a_p.py
d028b7be3cffa4ce796e494a9c9ea0f11a432e36 26-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Set .width in _TTGlyph.__init__ after all: these are just this wrapper
objects, _TTGlyphSet doesn't cache them, so setting .width in .draw()
is confusing to say the least.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@430 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
6f8f5ded55b76c79098faf5222df40081aa552e6 26-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fixed AttributeError in _TTGlyphSet.keys()


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@428 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
6d9e8e8831cd08fa358f33f155a760de3ec59f3b 25-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> document that this file is generated


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@425 4cde692c-a291-49d1-8350-778aa11640f8
ables/__init__.py
1c9917bcf4fc789b0addc1dc078674972f13660e 25-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> comment typo fix, reflow


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@422 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
8df8f6385e045bc70f538a0d047ea6d13c9cacf0 25-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> TTFont now has a getGlyphSet() method, which will return a generic
GlyphSet. A GlyphSet is simply a dict-like object mapping glyph names
to glyphs. The glyphs in a GlyphSet have a .draw(pen) method and a
.width attribute. This provides a generic interface for drawing glyphs
or extracting outlines, and works both for CFF-based fonts and TT fonts.

See also fontTools.pens.basePen for a description of what makes a Pen
a Pen.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@420 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
731ed49dbc3fa849b3455532baa65412919c2748 25-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> add some more dict-like stuff to the glyf table


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@419 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
b47e3ba3ae2ae6ffab891b2b9dcb39f98262484b 22-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> some fixes from klchxbec


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@409 4cde692c-a291-49d1-8350-778aa11640f8
ables/otData.py
aa2723c559bd72a11e06670a12ad4d13f7449a7e 22-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> VORG support by rroberts.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@408 4cde692c-a291-49d1-8350-778aa11640f8
ables/V_O_R_G_.py
700df031313741e79b0647f045949a1a04d03371 22-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> - attempted to sort tables in order recommended by spec.
TODO: need to fix table dependency order to complete this.
(Read: would you mind posting a bug report regarding this?)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@406 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
f509c0f0707a85184525243dfb6efeba043dc793 22-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> support for CEF fonts: don't depend on the head table being available


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@405 4cde692c-a291-49d1-8350-778aa11640f8
fnt.py
07dd0e4504fcdf7bfb0aaee4350435e03ab2c2d8 22-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> recalc numGlyphs upon writing


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@404 4cde692c-a291-49d1-8350-778aa11640f8
ables/_m_a_x_p.py
d40797354560cd5a99008b0a367c94709beff9cd 22-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> update macUtils to current day MacPython


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@403 4cde692c-a291-49d1-8350-778aa11640f8
acUtils.py
0bb3ba522291076df18825a63c2f367d8ce3e48a 22-Aug-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> some modernizations


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@401 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
e73b8a53a54b2e9cb6a108412cbeb138e8fca7c2 23-Feb-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Fix for bug #691744; calc_mac_epoch_diff() was broken when the timezone
was GMT (or perhaps other situations; it's not entirely clear).


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@391 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
924e4e274e18508a70b2a8b150f6e9be033d3a3e 08-Feb-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> cmap format 12 support, donated by rroberts: thanks!


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@390 4cde692c-a291-49d1-8350-778aa11640f8
ables/_c_m_a_p.py
a87cde236e17d7a40ca3927edc6d188798917215 25-Jan-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> second try to work around bogus stringOffset value


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@389 4cde692c-a291-49d1-8350-778aa11640f8
ables/_n_a_m_e.py
b71d0f46f65e5ac935c444ae3a6d6088a5f42e84 25-Jan-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> renamed stringoffset to stringOffset as per spec


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@388 4cde692c-a291-49d1-8350-778aa11640f8
ables/_n_a_m_e.py
aabca6d793a14e728260d08a75149343b56ff073 25-Jan-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> gracefully handle bogus stringOffset values (thanks to Anthony Fok)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@387 4cde692c-a291-49d1-8350-778aa11640f8
ables/_n_a_m_e.py
1332d3e5491140c90fde2dfac5225ce820c64e20 10-Jan-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> clean up checkSumAdjustment XML output: suppress trialing 'L'


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@386 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
26fc63c854d08df6532802a625ac3c4a73e1404e 10-Jan-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fix from Owen Taylor that fixes my previous patch; thanks!


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@385 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
df22c27d923417c2cd2682704145ca81f3a7aaf3 03-Jan-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> detab table string literal


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@384 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
130c1a0d9c3332b0c56dbc744a999fc9c7895162 03-Jan-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> make two fields unsigned, to conform to the spec but also to suppress Python 2.3 warnings for hex(negativenumber).


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@383 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
02e76e905f08c0dcb2fb36bd5566fb86da13a906 03-Jan-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> suppres Python 2.3 warning


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@381 4cde692c-a291-49d1-8350-778aa11640f8
fnt.py
257fba71729b4552a73f296b8fbd5b6224cdcabb 03-Jan-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> make sure Coverage instances have a 'glyphs' attribute


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@379 4cde692c-a291-49d1-8350-778aa11640f8
ables/otTables.py
4170cfd5e9e14094883c4676f8a172e7915c9cc4 03-Jan-2003 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> allow OS/2 tables containing too much data


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@378 4cde692c-a291-49d1-8350-778aa11640f8
ables/O_S_2f_2.py
44751311bf24c022f94d6e6c46f00a60509e96bb 27-Oct-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> revised comment, added note about MS disagreement, removed alignment tabs


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@374 4cde692c-a291-49d1-8350-778aa11640f8
tandardGlyphOrder.py
b74f03c7e5cf0823b4adefbd84a6c6c59a507889 08-Oct-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fixed previous fix: it assumed 4 bytes of data, which is wrong


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@372 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
c3974fb0553abe5de23c10f3a5ad9bab7e0fd80d 07-Oct-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Handle negative long time values gracefully instead of looping infinitely. Reported by Jessica P. Hekman


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@371 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
a138467da399c071dbd78682938642b8e8d8a4ce 24-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> deal gracefully with empty coverage tables; fixes bug 611509


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@370 4cde692c-a291-49d1-8350-778aa11640f8
ables/otTables.py
898295619d8df4e4422c566cd9499c48d1d6b647 16-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> minor cleanups


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@368 4cde692c-a291-49d1-8350-778aa11640f8
ables/_m_a_x_p.py
bc90c7a05b2e5114db9b0c0a6448e68d80ccf622 16-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> interpret any version value as 0x0001000 if it's not 0x00005000 (workaround for buggy font)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@367 4cde692c-a291-49d1-8350-778aa11640f8
ables/_m_a_x_p.py
4845ba5fa50b43d838ff65279336ef5e4784e0b0 13-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> whoops, reversed key and value


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@363 4cde692c-a291-49d1-8350-778aa11640f8
ables/otTables.py
f2164abef39af7cfef989352fadfca628ed077b2 12-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> added manual implementation of LigatureSubst to get nicer XML output


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@355 4cde692c-a291-49d1-8350-778aa11640f8
ables/otTables.py
b2486125e9438443a1419706c50958ab0676eb5a 12-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> added manual implementation of AlternateSubst to get nicer XML output


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@354 4cde692c-a291-49d1-8350-778aa11640f8
ables/otTables.py
a1dfa2b77a0ac7cf2e7cdca25e024e31de436b1a 12-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> added manual implementation of ClassDef to get nicer XML output as well as to get rid of GlyphID dependencies


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@353 4cde692c-a291-49d1-8350-778aa11640f8
ables/otTables.py
1d6360af4c553a7b26447b0e1e96f7b701c9325e 12-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> added manual implementation of SingleSubst to get nicer XML output as well as to get rid of GlyphID dependencies


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@351 4cde692c-a291-49d1-8350-778aa11640f8
ables/otTables.py
3507eeb3d8e09172dffc3e9b91ac8b730d8162fd 12-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> don't barf on empty name tables (!)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@349 4cde692c-a291-49d1-8350-778aa11640f8
ables/_n_a_m_e.py
1a53beb7b4bb252dc002dcdc2de70517d4727494 12-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> renamed table to rawTable


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@344 4cde692c-a291-49d1-8350-778aa11640f8
ables/otTables.py
d41386e7f7b950d2429fbf6d1964ba129d2bc2a6 12-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> added manual implementation for the Coverage subtable to get rid of GlyphID dependencies


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@341 4cde692c-a291-49d1-8350-778aa11640f8
ables/otTables.py
52966bb14409b558dc46b52d34953fbde7dc1bca 12-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> minor refactoring


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@340 4cde692c-a291-49d1-8350-778aa11640f8
ables/otBase.py
ables/otConverters.py
f7ef96ccca73f8c5abfeb1cd110e3c9a314d06b4 10-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> refactored slightly to make later specializations easier


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@330 4cde692c-a291-49d1-8350-778aa11640f8
ables/otBase.py
2b96925bdb9b527f0108dd34aa745d06205ab58d 10-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> __init__.py is now generated my MetaTools/builtTableList.py


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@321 4cde692c-a291-49d1-8350-778aa11640f8
ables/__init__.py
5fc79b3ac5e05fea04397efcc200bce2be9a09db 09-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> use latin-1 as the default encoding when parsing XML files


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@302 4cde692c-a291-49d1-8350-778aa11640f8
mlImport.py
ff6a25cdb99c86ce7d60c6f6780178fdbfa8674b 05-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> align glyphs on 4-byte boundaries, seems the current recommendation by MS


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@300 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
223b3588e35483518b98bfe0d237b582d6c43e68 05-Sep-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> allow 4-byte alignment of glyph data


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@299 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
e97a27bf18c6da4e6698dd1ac6cc9165780bc8d5 30-Aug-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fixed spelling consistency bug. Note to self: report as bug in OT doco.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@298 4cde692c-a291-49d1-8350-778aa11640f8
ables/otData.py
6ab979cacaa9c15666a526e05c669b7f87bb6de9 23-Jul-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> some (modified) progress bar support


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@294 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
acUtils.py
ables/_g_l_y_f.py
mlImport.py
4105ca0b9515887a8a4cbb873c3de98009cbc633 23-Jul-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> reordered/regrouped some methods for clarity


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@288 4cde692c-a291-49d1-8350-778aa11640f8
ables/otBase.py
8e48312f88adc41feb7c730154c6d058a010189d 23-Jul-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> don't use __len__ for arbitrary length method


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@287 4cde692c-a291-49d1-8350-778aa11640f8
ables/otBase.py
1f8a4bb02ac37fb92f3dbe9eca5d66ecee6755f3 23-Jul-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> clarified cmap4 optimization strategy


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@286 4cde692c-a291-49d1-8350-778aa11640f8
ables/_c_m_a_p.py
24d79cb026b3109b0a81ddd794acd08b702c7941 23-Jul-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> duh, I don't even _need_ to track referers with the current scheme


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@285 4cde692c-a291-49d1-8350-778aa11640f8
ables/otBase.py
f8f2a369270faa8b9d3b7890f112abc808e88342 23-Jul-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> minor changes


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@284 4cde692c-a291-49d1-8350-778aa11640f8
ables/otBase.py
cfadfd0096d634f4505bca27d6926555d43305d4 23-Jul-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> completely revamped optimization strategy: now even _shrinks_ certain Adobe and MS OTL tables.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@283 4cde692c-a291-49d1-8350-778aa11640f8
ables/otBase.py
58629637261cbc9ee7f536b040ce960882aa907e 21-Jul-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Wow, the master checksum in the 'head' table was never written to file correctly on little-endian platforms :-(. Fixed.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@282 4cde692c-a291-49d1-8350-778aa11640f8
fnt.py
542b9510e6a8909e35e99a5279b7c2ec57c78e3c 20-Jul-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Optimized cmap format 4 compile function: now creates more compact binary. The code is horrible, but then again cmap format 4 is beyond horrible...


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@281 4cde692c-a291-49d1-8350-778aa11640f8
ables/_c_m_a_p.py
9da0f12decd3112f1cff7d01ee75c9ec982c306f 11-Jul-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> make dynamic table import work when importing from a zip file (for py2exe)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@277 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
a80dce0e494763192976b3adfa50ed30341a235b 04-Jul-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> repair ttcompile -b


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@276 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
4f6cfa71d2733e77f2116a4d1b009a3b2cccf9af 04-Jul-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> ignore .pyc files


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@275 4cde692c-a291-49d1-8350-778aa11640f8
ables/.cvsignore
675d6c3fc93f46176733e1994064fa0a6fc7e5c0 06-Jun-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> increment progress less frequently, it was too costly...


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@273 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
83eca4374015a8b9656ba6db1656881e32f1208b 06-Jun-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> MacPython 2.2 compat


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@272 4cde692c-a291-49d1-8350-778aa11640f8
acUtils.py
20d41f31e40a8d20902fcfea4543fa9c2c4d8cae 04-Jun-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> add dummy import function, so modulefinder can find our tables.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@269 4cde692c-a291-49d1-8350-778aa11640f8
ables/__init__.py
d57c4346e5725bbfe0e1b13067b292c3faaaeb8e 25-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> It still wasn't right; I think the glyph order mess is now sufficiently cleaned up; at least compiling the result of ttdump -x glyf works again.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@265 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
ables/_g_l_y_f.py
mlImport.py
22f068929cbc8f3e5d18931c69a14d757eaa4de1 25-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> make sure the glyph order is loaded when importing XML as the TTX file may not contain it (ttdump -t/ttcompile -i).


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@264 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
e5ae28e8424192ce7ea19897473601f590dc80ea 25-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> whoops, the new GlyphOrder table stuff broke ttdump -s


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@263 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
1872557451256004f27133686eeddbbbdf163c69 24-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> gross hack to allow ; in glyph names (I don't think it _is_ allowed, but hey, I've got this font here...)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@260 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_d_m_x.py
dd2fea582acf48b3380c944546c67c1dfb56de6a 24-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> don't blow up on orphaned VTT index tables


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@259 4cde692c-a291-49d1-8350-778aa11640f8
ables/T_S_I__0.py
02c17a7d3df1cedb1dc803428e6714781de27269 24-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fixed ttdump -i mode


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@258 4cde692c-a291-49d1-8350-778aa11640f8
ables/ttProgram.py
4e5af60930726d06a58a30bae45bb27ae50aea77 24-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> CFF/T2 <-> XML roundtripping has begun!


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@254 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
ables/C_F_F_.py
0011bb691018c7feed1f8c3554d88b9ae096e127 23-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> big change: the glyph order is now dumped as a separate table and not as part of glyf (which didn't make much sense to begin with, but can't work at all in the case of CFF...)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@252 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
ables/_g_l_y_f.py
mlImport.py
fe665777eae7b67a274e6804295191c1b7a995bf 22-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> refactored saveXML() method


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@251 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
357d71b4385418a6d28290300581ad49d67daf15 16-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> some changes to adapt to new cffLib.py


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@240 4cde692c-a291-49d1-8350-778aa11640f8
ables/C_F_F_.py
7007a0854548f744c44bb9c35380efcba7894bfb 16-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> whoops, compile was broken due to Fixed 'fix'


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@238 4cde692c-a291-49d1-8350-778aa11640f8
ables/otConverters.py
0ecc43373669b195d11fb8fa6f3750aec1e6ad25 15-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> ignore tables we don't have upon saving as XML: this is indispensible for batch processing


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@237 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
04b3204dd168571635133d430a68175297282b1f 14-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fixed typo in comment


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@230 4cde692c-a291-49d1-8350-778aa11640f8
fnt.py
6d73fdef1cd1e62a230647845d37915f0f8df792 13-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> this wasn't meant te be checked in yet.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@229 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_h_e_a.py
b776a882ee55fff8c39543f352c528bb5d338177 13-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> added Fixed type


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@228 4cde692c-a291-49d1-8350-778aa11640f8
ables/otConverters.py
e69caf8771a0dd675ca3c4490625dac963a6b65c 13-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> more cosmetics


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@227 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_h_e_a.py
ables/otBase.py
8307fa42cd145bb1b961ff942bbe3eef63908e55 13-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> a whole bunch of renames, purely stylistic


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@226 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
ables/table_API_readme.txt
mlImport.py
0b63b28615933a1332ea55ce4f5daedf5269192c 13-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> don't get glyph names from CFF it it's a CID-keyed font; invent glyph name on the spot if glyphID is too high (dubious change..).


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@224 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
a2a75b348da46073cdd1dea50915384eabfff7c9 13-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> use a StringIO stream instead slicing strings all the time; don't barf on CID-keyed fonts (but CID support is by no means there yet!)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@223 4cde692c-a291-49d1-8350-778aa11640f8
ables/C_F_F_.py
b0e5f299ffc5794f1960e694a855a05fc9cea01e 13-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> use spaces for alignment


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@222 4cde692c-a291-49d1-8350-778aa11640f8
fnt.py
ea9dfa9fb28966175bf2275d20aeb62c3040c86d 12-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> renamed several items to use camelCase


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@220 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
fnt.py
ables/_c_m_a_p.py
ables/_k_e_r_n.py
ce1d50aca8642b52b28deb0d0cb4f3e8594e574e 12-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Applied patch from Owen Taylor that allows zero-length tables to be ignored. Added comment why.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@219 4cde692c-a291-49d1-8350-778aa11640f8
fnt.py
56bfea43176d03cede26f8de51638c4ab9f4bd64 11-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> minor restructuring


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@214 4cde692c-a291-49d1-8350-778aa11640f8
mlImport.py
4bb05c6ad4b112de40642d77663aa87d145f863f 11-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> added support for the new ttdump -s output: read file references from mini-ttx file


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@213 4cde692c-a291-49d1-8350-778aa11640f8
mlImport.py
0f293034749578d29494c2560c042c01ced50601 11-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> change how saveXML with splitTable=True works: it no longer creates a directory, and outputs a small file that references the individual table files


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@212 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
64b5c80e80444a124da335e8d4d208bffcf2737b 11-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> results of morning-after code review, added some doc strings, etc.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@210 4cde692c-a291-49d1-8350-778aa11640f8
ables/otBase.py
ables/otConverters.py
ables/otTables.py
3f776b83cb29ea22ebe3ec65e7598681e8226715 11-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> removed non-functioning lame-ass previous attempt


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@209 4cde692c-a291-49d1-8350-778aa11640f8
ables/otCommon.py
d4d151390d1288f8d2df30f6dfa26a309c7334da 11-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Completely revamped OT support; this time it works and is complete. XML output is not yet as pretty as can be.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@208 4cde692c-a291-49d1-8350-778aa11640f8
ables/B_A_S_E_.py
ables/G_D_E_F_.py
ables/G_P_O_S_.py
ables/G_S_U_B_.py
ables/J_S_T_F_.py
ables/otBase.py
ables/otConverters.py
ables/otData.py
ables/otTables.py
6fc514edf3e4b68c59a6b3c120344cb9a7c96fc3 10-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fix unknown subtable format and handling of Apple fonts


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@207 4cde692c-a291-49d1-8350-778aa11640f8
ables/_k_e_r_n.py
22dcb9e6f9a9d087e87cece6caca6aa5d92f4d91 10-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> a few cosmetic/style changes


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@206 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
ables/O_S_2f_2.py
ables/_c_m_a_p.py
ables/_g_l_y_f.py
ables/_k_e_r_n.py
ables/_p_o_s_t.py
1940dfbe0e98cc43b142b7e300999b0f98d40424 10-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> checking in last edits to the old OT support; this stuff will be replaced by brand new code soon.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@205 4cde692c-a291-49d1-8350-778aa11640f8
ables/G_S_U_B_.py
ables/otCommon.py
9f1e14bec9dad6d59300bbff6a5a9d5a8d0828f9 05-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Work around bootstrapping problem in TTFont._getGlyphNamesFromCmap():
If the cmap parser was the one to cause _getGlyphNamesFromCmap() to be
called, no unicode cmap was found as it was just starting to get
loaded. This resulted in different glyph names, depending on when
the cmap parser was invoked.
Also added a bunch of comment describing what this method does.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@204 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
cf4b3b3d9b0f8b9777097a86810c842e7042d516 05-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> renamed _getTableData() to getTableData(); optimized getGlyphOrder() somewhat.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@202 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
f70746325687393330f7a765814a0fe78f11f847 05-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> added support for deleting tables: del f[tag]


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@201 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
fnt.py
0d762b00de43e9c73a77969afb52a68f1974c54e 05-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> use dict for extraNames lookups, getting rid of quadratic behavior


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@200 4cde692c-a291-49d1-8350-778aa11640f8
ables/_p_o_s_t.py
a36fd88a20e9441bef930a870b7e4ce7c9ef597c 03-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Work in progress on CFF, GPOS and GSUB. Since it's only partly working, it's diasabled by default.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@189 4cde692c-a291-49d1-8350-778aa11640f8
ables/C_F_F_.py
ables/G_P_O_S_.py
ables/G_S_U_B_.py
ables/otCommon.py
2a9c630193ea7fc1f9aa01bef1eb99a5036c1331 03-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> use composition rather than inheritance; \


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@188 4cde692c-a291-49d1-8350-778aa11640f8
ables/C_F_F_.py
e82b4d5658a7a38cf92b4b9392861257a2cfbb36 02-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> only keep the orginal table around in two special cases.\n this fixes a problem with importing individual tables.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@186 4cde692c-a291-49d1-8350-778aa11640f8
mlImport.py
d04a3bb4f932dff5dfbd45ed33fa4c357b471527 02-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> use version from fontTools.__init__.py


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@184 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
9b7b8e0f5b5f968acb95f8c3a484ea8d42924d65 02-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> re-added progress support, to be tested


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@183 4cde692c-a291-49d1-8350-778aa11640f8
mlImport.py
1288f8ad41b183ccdc3a8657b751ce53e03953a7 02-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> whoops, lastIndex can't be smaller than 1


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@182 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_m_t_x.py
e493669d196f292f24d4c09ce340c3e67749bce5 01-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> rearranged a bit, removed redundant imports


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@180 4cde692c-a291-49d1-8350-778aa11640f8
mlImport.py
ca4c45681ef2ea9290c6845f8bf61dff281fc5c4 01-May-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Complety revised the XML import code:
- use expat instead of xmlproc
- minor fixes here and there

Fixed bug in hmtx/vmtx code that only occured if all advances were equal.

FontTools now officially requires Python 2.0 or up, due to exapt and unicode.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@179 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_m_t_x.py
ables/_n_a_m_e.py
mlImport.py
f9104bcc2cd61bf029ac6736ef0ee98968bde472 17-Jan-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> another buggy font workaround; sped up unpackPStrings somewhat


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@177 4cde692c-a291-49d1-8350-778aa11640f8
ables/_p_o_s_t.py
ae43d92ea9e8f9dee1e886bd0116ff7706bbf7c0 07-Jan-2002 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> Hm, these instructions had their stack pop-count reversed.
Thanks to L. Peter Deutsch for finding this.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@176 4cde692c-a291-49d1-8350-778aa11640f8
ables/ttProgram.py
c2b05ccf8ce7b8ae80e06b667152398ebd4c4872 05-Nov-2001 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> fixed post table format 1 error: even though the glyph order is fixed,
that doesn't mean all glyphs in the standard order are there.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@174 4cde692c-a291-49d1-8350-778aa11640f8
ables/_p_o_s_t.py
c3403cfbd4ceb9f5cea0080745ea091aff9f4fbd 15-Aug-2001 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> style constency


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@168 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
6146b084c29234a873c31e3bfaee5df2d015e63a 15-Aug-2001 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> spec changed: three fields are now unsigned instead of signed,
and due to the the wonderful <snort> hungarian notation the field
names changed as well... (So this change is not b/w compatible)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@167 4cde692c-a291-49d1-8350-778aa11640f8
ables/O_S_2f_2.py
95cf546fb4434a06808ac8393adb4cad5e83f0ba 15-Aug-2001 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> dump macStyle as binary


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@166 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
4d3b7279db9d40299192289046af5738a8d4e5bd 11-Aug-2001 jvr <jvr@4cde692c-a291-49d1-8350-778aa11640f8> work around MacPython 2.1 incompatibility


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@164 4cde692c-a291-49d1-8350-778aa11640f8
acUtils.py
30dae0d1795d59245c6277073fcabd539ddf64cd 30-Jul-2001 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> removed dependency on old transformation class


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@139 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
64892f5a34ad2eda5b7675566837b546e3b717e6 28-Jun-2001 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> Don't take month and day names from calendar.py: a buggy Metrowerks strftime() made this crash hard in Python 2.2.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@137 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
a556f51db59a347549c08dd6483ba5b408d0bcfd 23-Feb-2001 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> don't allow duplicate glyph names when building names from cmap/agl


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@129 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
ae180248fdc1abcd10f782c8e32b77a62594d349 13-Jan-2001 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> workaround for currupt (?) cmap subtable


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@128 4cde692c-a291-49d1-8350-778aa11640f8
ables/_c_m_a_p.py
731e4377e13b91d906d78f6e1e8c7ca2097c71e8 03-Nov-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> don't complain as loudly with fonts that don't completely adhere to the spec


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@127 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_m_t_x.py
ables/_l_o_c_a.py
6d925f5b9a6e1b58765ee09fe8552b75f75241c3 23-Oct-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> workaround for odd-length unicode strings (!)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@126 4cde692c-a291-49d1-8350-778aa11640f8
ables/_n_a_m_e.py
fc99ad1513ca5443a29f1cc99df6016325e8dcbb 19-Oct-2000 Petr <Petr@4cde692c-a291-49d1-8350-778aa11640f8> doh! font bounding box goes to the head table, not maxp itself.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@125 4cde692c-a291-49d1-8350-778aa11640f8
ables/_m_a_x_p.py
481fb094956023aa7b158d6ed1582931bdcad1bf 13-Oct-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added workaround for buggy Apple fonts


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@122 4cde692c-a291-49d1-8350-778aa11640f8
ables/O_S_2f_2.py
43fa4be9483ec7cfc2f3c183be8bed746862b7f3 11-Oct-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added workaround for Py 1.5.1 compatibility


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@121 4cde692c-a291-49d1-8350-778aa11640f8
ables/_c_m_a_p.py
0f675860ce081e9aeaf880ccc4a8e5d49e83f553 02-Oct-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> improved support for writing to (in memory) streams


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@119 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
fnt.py
fdea99d2655f4d22542f94a8499e5a3308607776 23-Aug-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> minor fix


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@118 4cde692c-a291-49d1-8350-778aa11640f8
fnt.py
ables/_p_o_s_t.py
d5b65a4ed12ba82e07fa0a2f507bb909d2065774 23-Aug-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> made calculating bounding box handle empty coordinate arrays gracefully


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@117 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
f6b1563e0dc4e396264d62598cac856b0959c0f7 23-Aug-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> removed an assert that was too strict


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@116 4cde692c-a291-49d1-8350-778aa11640f8
ables/_c_m_a_p.py
c91a95189abd06cd2c314f511f3f8cb306aba8e7 23-Aug-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> minor changes


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@115 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
ca9679ededda1d55ed23d620df37beebcea6503f 29-Jun-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> another OT source table


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@112 4cde692c-a291-49d1-8350-778aa11640f8
ables/T_S_I_J_.py
859967e5218bed974d05ddec93996b9aea2782a5 08-Jun-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> formatting


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@111 4cde692c-a291-49d1-8350-778aa11640f8
ables/O_S_2f_2.py
306d24ec79890eb6d123dd45a567bdadaaa612d6 07-Jun-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> Allow long-aligned glyph records (as is in fact recommended by the latest MS spec, but almost nobody seems to do it...)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@110 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
1b850986ef5611934a43bd31104a398e311af713 07-Jun-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> Fixed cmap optimizer bug: needs more testing!


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@109 4cde692c-a291-49d1-8350-778aa11640f8
ables/_c_m_a_p.py
e0433b907dc491d8902312b0cf36601f772e74b9 07-Jun-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> Fixed getCoordinates() so it works correctly with "empty" components.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@108 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
cb317bfad3213dc009e8150149d5ce9a70356f10 07-Jun-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> The "flags" field is an unsigned short, not a byte


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@107 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
5216353ab40f6dad4c6c8f23c0f669fa98483d66 15-Mar-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added doc strings to empty __init__.py files: WinZip apparently skips empty files. Doh!


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@94 4cde692c-a291-49d1-8350-778aa11640f8
est/__init__.py
7bf760f45c951c3b5312e196728c4229902377ae 15-Mar-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> fixed multi-arg .append() call, for Python 1.6 compatibility.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@93 4cde692c-a291-49d1-8350-778aa11640f8
est/ttBrowser.py
d29f289911059d042cc8d0044e4dafc9a1125677 15-Mar-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> - some method name changes
- check for 3,0 platform/encoding wide strings


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@92 4cde692c-a291-49d1-8350-778aa11640f8
ables/_n_a_m_e.py
7f34d735e09bf2f3ee785a8c76cc7eb08becba6f 15-Mar-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> minor fixes. Note: format2 is not implemented correctly!


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@91 4cde692c-a291-49d1-8350-778aa11640f8
ables/_k_e_r_n.py
670c985d76079a702d476dd2a3bcc692ad9596dc 15-Mar-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added doc strings to empty __init__.py files: WinZip apparently skips empty files. Doh!


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@90 4cde692c-a291-49d1-8350-778aa11640f8
ables/__init__.py
83736c6ffda8f90420137442f5492a87cb3fd951 15-Mar-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> fixed multi-arg .append() call, for Python 1.6 compatibility.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@89 4cde692c-a291-49d1-8350-778aa11640f8
mlImport.py
4ff3ba99a7768cb4e04a5f8c68ab68cb6dadf002 14-Mar-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> changes reflecting a method name change in the kern table.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@88 4cde692c-a291-49d1-8350-778aa11640f8
acUtils.py
7268e24408586e5a52d716149cd214a301924778 21-Feb-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> be relaxed about zero padding the input data to 4-byte boundaries


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@87 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
222aea7fca78177588911ace347c7b4867452f5b 21-Feb-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> another 64-bit fix


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@86 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_e_a_d.py
752465b9df0b699ca84cbc05020c04284ceca048 13-Feb-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> first patch to make ttLib 64-bit clean


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@83 4cde692c-a291-49d1-8350-778aa11640f8
ables/_l_o_c_a.py
509e2874aab675cc65af27d1294c2d6566249239 13-Feb-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> disable decompilation exception catching: it causes too many debugging nightmares.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@82 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
b263e4d118e1d109763dd000df8559ad68654788 01-Feb-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> reinstated accidentally deleted regex.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@78 4cde692c-a291-49d1-8350-778aa11640f8
ables/ttProgram.py
7c0fb3173882dfc143b2446e7a8b86f973f969f0 01-Feb-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added an assert, plus some (commented out) test code for bad unicode strings


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@76 4cde692c-a291-49d1-8350-778aa11640f8
ables/_n_a_m_e.py
9eaa7e3e5f07faa940edb358788cda82986f80bf 01-Feb-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added support for instruction disassembly


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@75 4cde692c-a291-49d1-8350-778aa11640f8
ables/_f_p_g_m.py
ables/_g_l_y_f.py
ables/_p_r_e_p.py
51e75db43e60555d2c92c015756ebaf74a3a1ebd 01-Feb-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> - added assembler: we've got a full round trip now!
- added toXML() and fromXML() methods


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@74 4cde692c-a291-49d1-8350-778aa11640f8
ables/ttProgram.py
53602486b491e003b8dbba0b1c86709bd0c011bf 01-Feb-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added support for instruction disassembly in saveXML()


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@73 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
b852a417cf80559ecc9c0247844143766d2dc039 20-Jan-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> - added methods to get composite component info conveniently


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@65 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
9682b4198b8449ba02ae2aaaa5fc76307167845d 17-Jan-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> use ".ttx" extension instead of ".xml". TTX is not the name of the format, not the app...


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@61 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
ables/table_API_readme.txt
est/ttBrowser.py
599cc2fdf5a24135f0e1db7d27705567562200f2 05-Jan-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> Remove null bytes before dumping to XML. This seems neccesary, but I'm not sure if this breaks compilation.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@54 4cde692c-a291-49d1-8350-778aa11640f8
ables/asciiTable.py
1be809580841692a2f3671a46b1c9e0e56cc2ff6 05-Jan-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added TSIV table


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@53 4cde692c-a291-49d1-8350-778aa11640f8
ables/T_S_I_V_.py
ff3499de6618199b152484e5a89d10bb6aff384d 05-Jan-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> - Added skiptTables argument to TTFont.saveXML(), to support -x option of tt2xml.py
- Fixed typo


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@52 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
7cb6272bd41bed80bbde4e25d934b0ad350ff1fb 04-Jan-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> Added private VOLT (?) tables: TSIB, TSID, TSIP, TSIS. Easy, since they're plain ascii tables.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@50 4cde692c-a291-49d1-8350-778aa11640f8
ables/T_S_I_B_.py
ables/T_S_I_D_.py
ables/T_S_I_P_.py
ables/T_S_I_S_.py
ables/asciiTable.py
b0860a8c2b778c580aa2ddb5fa71f04555dcbbea 04-Jan-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added some initializer in case the table is empty.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@49 4cde692c-a291-49d1-8350-778aa11640f8
ables/T_S_I__1.py
484a67ebb1d4b07fc3791eb857e753a879a46217 04-Jan-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> while the OT modules are in progress, disable decompilation and fall back to hex dumps.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@48 4cde692c-a291-49d1-8350-778aa11640f8
ables/otCommon.py
d0beb0eb847350225bbb98ac1c9928d06e9554bc 04-Jan-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> cleaned up error message for failing version test


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@46 4cde692c-a291-49d1-8350-778aa11640f8
ables/otCommon.py
e23942f0e6c9020d2a677b23ed58e04ad1173bbd 04-Jan-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added error messages to the assert statements


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@45 4cde692c-a291-49d1-8350-778aa11640f8
ables/L_T_S_H_.py
f8fd4777d273836a1222b72f6761cb6fdf9ec87a 04-Jan-2000 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> Added code to fall back to the DefaultTable (and therefore to hex XML dumps) when an exception occurs during decompilation.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@44 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
ables/DefaultTable.py
mlImport.py
b0e2817fad08e7867df1e66dc8c78c6f180060c3 29-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> Treat platformID=3, platEncID=0 also as Unicode strings.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@41 4cde692c-a291-49d1-8350-778aa11640f8
ables/_n_a_m_e.py
7dcc91674e8df02f80711ee2587fd2a6a205ca94 29-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> - fixed broken agl import
- changed TTFOnt.saveXML + splitTables<>0 behavior: now expects a path to a directory


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@40 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
1670f7af0edf5af2447f9fb157febe8cfb44b629 27-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> XMLApplication: don't create a new table when a table with that tag already exist in the TTFont object.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@39 4cde692c-a291-49d1-8350-778aa11640f8
mlImport.py
d28479b066106e1c18528d2a4230b471cf76889d 27-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> Added optional splitTables argument to TTFont.saveXML(). Set to non-zero, this will cause each table to be dumped to an idividual XML file.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@36 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
98d780d766a62fb5077102a9785e77c30dbffefa 23-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> edited TTFont.__init__ doc string, the recalcBBoxes explanation should now be clearer and more complete.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@33 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
65df20b04f9392c1522d72c87725da6825e1940c 23-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added browseTTFont() function.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@32 4cde692c-a291-49d1-8350-778aa11640f8
est/ttBrowser.py
3e097c609540944dd9290ad58df346ca86492031 23-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> don't recalc a number of things then TTFont().recalcBBoxes is off. This allows us to compact glyphs right after they've been parsed from XML, which should greatly reduce memory usage, and therefore should speedup compiling large fonts.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@31 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
ables/_g_l_y_f.py
ables/_h_h_e_a.py
ables/_m_a_x_p.py
fd5a93240e40e265ab3f956300790e2eea0afa54 23-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> oops: header struct is big endian of course! noted by Werner Lemberg.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@30 4cde692c-a291-49d1-8350-778aa11640f8
ables/_h_d_m_x.py
869c6f3ffa777975cc2ee14e77fcb8a4f0f6159f 18-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> moved an import statement


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@17 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
e4d59426c5f41703e166727229d37484097d9a75 18-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added recalcBBoxes argument to Glyph.compile()


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@11 4cde692c-a291-49d1-8350-778aa11640f8
ables/_g_l_y_f.py
88cb4f33c63dcad4f3ecebf03fe381cacb24799e 18-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added recalcBBoxes argument to TTFont.__init__()


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@10 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
8bc8cf850df75c660e15d34fac8ac70f18a4da4a 17-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> minor cleanup of some doc strings


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@9 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
f78bec03579ea1b3d1af9968466e7761f2cbdf41 17-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added __release__ symbol, changed __version__ to $Id$.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@8 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
74e0b7f2d7bfd01bafe5799e831f37fcbf6182f4 17-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> added doc string saying that this module is Mac-only.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@6 4cde692c-a291-49d1-8350-778aa11640f8
est/ttBrowser.py
9a3733063cc63944bac1239a4cd8d6a087667901 17-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> forgot to check in the __init__.py file for fontTools.ttLib.test


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@5 4cde692c-a291-49d1-8350-778aa11640f8
est/__init__.py
0a650c0c8c2c42298330455ade0f820f1cf3a919 17-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> fixed broken ttLib.sfnt import statement


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@4 4cde692c-a291-49d1-8350-778aa11640f8
ables/_k_e_r_n.py
7842e56b97ce677b83bdab09cda48bc2d89ac75a 16-Dec-1999 Just <Just@4cde692c-a291-49d1-8350-778aa11640f8> Created a new library directory called "FreeLib". All OpenSource RFMKII components will reside there, fontTools being the flagship.


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@2 4cde692c-a291-49d1-8350-778aa11640f8
_init__.py
acUtils.py
fnt.py
tandardGlyphOrder.py
ables/C_F_F_.py
ables/D_S_I_G_.py
ables/DefaultTable.py
ables/G_P_O_S_.py
ables/G_S_U_B_.py
ables/L_T_S_H_.py
ables/O_S_2f_2.py
ables/T_S_I__0.py
ables/T_S_I__1.py
ables/T_S_I__2.py
ables/T_S_I__3.py
ables/T_S_I__5.py
ables/__init__.py
ables/_c_m_a_p.py
ables/_c_v_t.py
ables/_f_p_g_m.py
ables/_g_a_s_p.py
ables/_g_l_y_f.py
ables/_h_d_m_x.py
ables/_h_e_a_d.py
ables/_h_h_e_a.py
ables/_h_m_t_x.py
ables/_k_e_r_n.py
ables/_l_o_c_a.py
ables/_m_a_x_p.py
ables/_n_a_m_e.py
ables/_p_o_s_t.py
ables/_p_r_e_p.py
ables/_v_h_e_a.py
ables/_v_m_t_x.py
ables/otCommon.py
ables/table_API_readme.txt
ables/ttProgram.py
est/ttBrowser.py
mlImport.py