• Home
  • History
  • Annotate
  • only in /external/fonttools/Lib/fontTools/ttLib/tables/
History log of /external/fonttools/Lib/fontTools/ttLib/tables/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
62dd7b2a0e0ab1109b56572c568ef5f582d8a0fd 27-May-2014 Behdad Esfahbod <behdad@behdad.org> Refactor getSearchRange()
c_m_a_p.py
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
c_m_a_p.py
k_e_r_n.py
ec5f5150e2c9ba53696fbddae504a004398b367a 22-May-2014 Behdad Esfahbod <behdad@behdad.org> Simplify cmap subtable format 4 idDelta code
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.
c_m_a_p.py
4c777d3465d16db968dc3f58a1f30444eed732a3 21-May-2014 Behdad Esfahbod <behdad@behdad.org> Typo
c_m_a_p.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
_O_L_R_.py
_O_R_G_.py
g_l_y_f.py
h_m_t_x.py
37b7bad5b1c39ccbe8b778ede4b8fe18138b1e25 14-May-2014 Behdad Esfahbod <behdad@behdad.org> Micro-optimize hmtx/vmtx loading
h_m_t_x.py
d56eebfa96bd07ebc3e6d076b62f96d97d569c99 14-May-2014 Behdad Esfahbod <behdad@behdad.org> Use .extend() syntax instead of += for sets
c_m_a_p.py
470d610eb2cba2629889b00575742921079bc1cb 14-May-2014 Behdad Esfahbod <behdad@behdad.org> Further micro-optimize cmap subtable format 4 loading
c_m_a_p.py
2db5eca0df1ff21f4c6bb5dee44512bf02e3f203 14-May-2014 Behdad Esfahbod <behdad@behdad.org> Micro-optimize cmap subtable format 4 loading
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.
c_m_a_p.py
da223b8fa8a1073f96b3d2c8e400f73e51941b71 09-May-2014 Behdad Esfahbod <behdad@behdad.org> Minor optimization
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
h_e_a_d.py
d0a31f5a43c4743671c4941fe45dda059aada0be 28-Mar-2014 Behdad Esfahbod <behdad@behdad.org> Make tag parameter to table constructor optional

If not provided, extract from class name.
efaultTable.py
77ccf45eb0c59830fb90830d6829108e59e93192 12-Mar-2014 Behdad Esfahbod <behdad@behdad.org> Add NameRecord.isUnicode()
n_a_m_e.py
0f74e80d59cf5426b3003ab955729c6d909860a6 12-Mar-2014 Behdad Esfahbod <behdad@behdad.org> Add isUnicode() and isSymbol() to cmap subtables
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
tTables.py
ec8dccb7318988591aa65bdf3a70d521837d094b 28-Jan-2014 Olivier Berten <olivier.berten@gmail.com> More array instead of pack
p_o_s_t.py
149b9f97e39fa2ff3272a9677e49d9d3e7901140 28-Jan-2014 Olivier Berten <olivier.berten@gmail.com> use array instead of unpack
p_o_s_t.py
4a73f8b4e983b3910d888bab7d50293e363152e9 28-Jan-2014 Olivier Berten <olivier.berten@gmail.com> 'post' format 4.0 support
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
tProgram.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
itmapGlyphMetrics.py
_B_D_T_.py
_F_F_.py
_O_L_R_.py
_P_A_L_.py
_S_I_G_.py
efaultTable.py
_B_D_T_.py
_B_L_C_.py
_M_A_P_.py
_P_K_G_.py
_T_S_H_.py
_E_T_A_.py
_S_2f_2.py
_I_N_G_.py
_V_G_.py
_S_I__0.py
_S_I__1.py
_S_I__5.py
_O_R_G_.py
c_m_a_p.py
c_v_t.py
f_p_g_m.py
g_a_s_p.py
g_l_y_f.py
h_d_m_x.py
h_e_a_d.py
h_h_e_a.py
h_m_t_x.py
k_e_r_n.py
l_o_c_a.py
m_a_x_p.py
n_a_m_e.py
p_o_s_t.py
s_b_i_x.py
v_h_e_a.py
sciiTable.py
tBase.py
tConverters.py
tTables.py
bixBitmap.py
bixBitmapSet.py
tProgram.py
95f795f40a5d75c2c14c03c1b74cf1ee8816dbf8 21-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Move offset overflow fixing logic where it belongs
tBase.py
b76d6ff14a8283f7057847494c3c5c81ff236a6e 21-Dec-2013 Behdad Esfahbod <behdad@behdad.org> [merge] Remove BaseTable.__hash__ need
tBase.py
398770d51c3ae0e7c267ef2b315beae2b6aa2df8 19-Dec-2013 Behdad Esfahbod <behdad@behdad.org> [merge] Map GSUB/GPOS feature / lookup indices properly
tBase.py
ee6340f4752e9bc286340399fbd2cc5a790d0574 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Only track one parent per Writer

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

Can use some testing...
tProgram.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.
tProgram.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
tProgram.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
tProgram.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
tTables.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.
tConverters.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.
tBase.py
tConverters.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.
tTables.py
dafdb2933a9d4ef7ef5365c5e8ecfba39b4d3c57 17-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Further optimize table loading

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

Is both faster and more memory efficient.
tBase.py
43d7ac16b19f9cad251a8d74a0b93cf8d439fad7 16-Dec-2013 Behdad Esfahbod <behdad@behdad.org> py23 Similar encoding fix in post table
p_o_s_t.py
9041c2ddcdc2dbc88b40e5cea790cb085639c6bb 09-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Actually add M_A_T_H_.py
_A_T_H_.py
f952a22af7b59862d49ee2947932f4baab37a5ed 09-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Implement MATH table

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

Needed for upcoming MATH table.
tBase.py
tConverters.py
tTables.py
6bfee2cde5b16f46a4fe91342b8d20db35cb8046 09-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Simplify Count writing

Needed for MATH table.
tBase.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
_F_T_M_.py
_init__.py
6d658cf0ea4f0d0e26c0138ff0845fd37b558b89 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Minor
tProgram.py
b23b4cefda2acf417bfecf2135357554dbd32277 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Fix ClassDef

Ouch. Broke it in 63b257e677993295ee015e02b92ff438a5e91135.
tTables.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.
c_m_a_p.py
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.
g_l_y_f.py
273a90074ac209d67b5e2cb8ea510cd6c2b10272 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Return NotImplemented
efaultTable.py
c_m_a_p.py
g_l_y_f.py
n_a_m_e.py
tBase.py
56da965344d25223d41e202aa7fd463dc6228752 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Add @total_ordering to classes with __lt__
c_m_a_p.py
n_a_m_e.py
8ea6439d3b66c5acc246261d761d4375bcb7cfab 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Implement __ne__ when __eq__ is defined
efaultTable.py
g_l_y_f.py
tBase.py
98753abb91800b90488a5b6f147a1446eade62e9 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Update table list for sbix
_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.
s_b_i_x.py
bixBitmap.py
bixBitmapSet.py
1b8cde1b6f005d3c9c1b2aadf11a0519cc02f15e 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Fix imports
s_b_i_x.py
bixBitmap.py
bixBitmapSet.py
4801a3ae39bfd79b05e3bb00245c06ab5e09d622 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Whitespace
s_b_i_x.py
bixBitmap.py
bixBitmapSet.py
f1394f3fddcccc9ecf4669522c1a6d8152e5f173 07-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Initial sbix support from Jens Kutilek
s_b_i_x.py
bixBitmap.py
bixBitmapSet.py
d0a85754fed52754dfbd192065cda4b049ff7c14 06-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Remove unused data
h_e_a_d.py
1112495ae59542ad76d1cc72f40ab91e7e562f1c 06-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Simplify mac_epoch_diff
h_e_a_d.py
65d3a02d165c43fa681f4c90d12a5210da53908c 06-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Simplify date parsing
h_e_a_d.py
b8e1afa809d19202c1f1e405aa4c7312625947d1 06-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Use struct format 'Q' to read/write 64bit integers
h_e_a_d.py
5e36f854aafa3a4e75883dd4e4c943afff50e32d 06-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Remove redundant code
h_e_a_d.py
650a38fffc19e23426816994bf059441a8853341 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Relax some warnings
tTables.py
e06166b83aa82582dab2e011520b1a77f72aa9f9 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Fix SingleSubstFormat1 modulo math
tTables.py
9a980a8d2d81bbd4c7332b8c9ed1befe7dcc9936 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Minor
tTables.py
43f6e363475caee9df35d52f536d6de4cf2d443b 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Simplify Coverage table postRead
tTables.py
63b257e677993295ee015e02b92ff438a5e91135 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Handle out-of-range glyphIDs in ClassDef
tTables.py
dc87372c88dfd3bb4418c4113d9301102324359e 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Use True/False instead of 1/0
_F_F_.py
_O_L_R_.py
_O_R_G_.py
c_m_a_p.py
g_l_y_f.py
tTables.py
f4e39bf3637499c00c8e7a55866988699dcac97f 05-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Convert warning to warnings module
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.
_B_D_T_.py
_B_L_C_.py
_M_A_P_.py
_V_G_.py
c_m_a_p.py
tBase.py
tTables.py
153ec402094adbea673e914385b87f1d99191d0b 04-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Fix a few pychecker warnings

Fixes https://github.com/behdad/fonttools/issues/58
tProgram.py
83e2f34194696f76eb89c384bdddd10419b88e10 02-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Implement compiling to ClassDef Format=1
tTables.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.
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.
efaultTable.py
f918ab4cf65c8000a639bc834bc0f362dd997358 29-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fix typos

From
https://bitbucket.org/Milla/fonttools/commits/4d2d8c9642d68443e1f09d6b66ea7180a5e60cfb
_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
_V_G_.py
_S_I__1.py
3fa26d783f6a2ab5103df66a99d0322491e1d8a6 29-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Use fixedToFloat() for fixed version numbers
k_e_r_n.py
tConverters.py
tData.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.
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.
_E_T_A_.py
_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.
itmapGlyphMetrics.py
_O_L_R_.py
_P_A_L_.py
_S_I_G_.py
efaultTable.py
_B_D_T_.py
_B_L_C_.py
_M_A_P_.py
_E_T_A_.py
_S_2f_2.py
_V_G_.py
_O_R_G_.py
c_m_a_p.py
g_l_y_f.py
k_e_r_n.py
n_a_m_e.py
tBase.py
tProgram.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.
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.
_V_G_.py
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.
_S_I_G_.py
5e1e8f6890f4bc9d14126185b3ee3b160594574d 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 More bytes fixes
_M_A_P_.py
_S_I__1.py
c0a9d697f62545ddf48f7bff062302096328c0bc 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Simplify read/writeUint24()
tBase.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.
c_m_a_p.py
43e4b3d256745165c9792d73efd14dbe3b76043e 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 cmap bytes fix
c_m_a_p.py
816df48e03957e937ff389acdbccd4889d840491 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Fix DSIG encoding/decoding
_S_I_G_.py
faaca764a1cd62d376f783df20cd1edce21ca816 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Fixup isinstance(..., str) issues
_O_L_R_.py
_P_A_L_.py
_B_D_T_.py
_M_A_P_.py
_P_K_G_.py
_E_T_A_.py
_O_R_G_.py
4be8db031d5df7a3bdd1e4e0fa02de0246cb20ae 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fix up EBLC/EBDT non-lazy decompile

Fallout from 3d8d5cd10d2d30ba9997b7cc43336e504111be9a.
_B_D_T_.py
_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.
_V_G_.py
n_a_m_e.py
5f6418d9e1fa15a89dcec29cdc433ba2c99732c3 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Turn Unicode XML parsing on; more bytes fixes
_S_I__0.py
c_m_a_p.py
g_a_s_p.py
g_l_y_f.py
k_e_r_n.py
n_a_m_e.py
p_o_s_t.py
18316aa769566eeb6f3f4a6ed2685fa8f8e861c2 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> ps23 More bytes fixes. All ''join()'s fixed
_B_D_T_.py
_O_L_R_.py
_P_A_L_.py
_S_I_G_.py
_B_D_T_.py
_B_L_C_.py
_P_K_G_.py
_V_G_.py
_S_I__1.py
_O_R_G_.py
c_m_a_p.py
h_d_m_x.py
n_a_m_e.py
sciiTable.py
tBase.py
tProgram.py
821572c9a92d338a7ecbb4261c08ce378eb5434d 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Add bytesjoin()
c_m_a_p.py
g_l_y_f.py
h_e_a_d.py
n_a_m_e.py
tBase.py
5cf40083364e1d2dce119de25cb42ce69d2fb53c 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 tostr()/tobytes() and using them

ttf->xml seems to be mostly working now.
p_o_s_t.py
b7fd2e19138b177403689bdd6989cfd2402aa2b3 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Remove uses of __cmp__ and cmp()
efaultTable.py
_E_T_A_.py
c_m_a_p.py
g_l_y_f.py
h_e_a_d.py
k_e_r_n.py
l_o_c_a.py
n_a_m_e.py
tBase.py
tTables.py
960280bbd6277b56be45595a050a720a49fd5917 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Use more Tag()
efaultTable.py
tBase.py
319c5fd10e2ea84304bd299b7483e05b5b0d5480 28-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 introduce byteord() and use it
_B_D_T_.py
_E_T_A_.py
_I_N_G_.py
g_l_y_f.py
h_d_m_x.py
h_e_a_d.py
p_o_s_t.py
tBase.py
32c10eecffb4923e0721c395e4b80fb732543f18 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 from __future__ import division and adjust divisions
itmapGlyphMetrics.py
_B_D_T_.py
_F_F_.py
_O_L_R_.py
_P_A_L_.py
_S_I_G_.py
efaultTable.py
_B_D_T_.py
_B_L_C_.py
_M_A_P_.py
_P_K_G_.py
_T_S_H_.py
_E_T_A_.py
_S_2f_2.py
_I_N_G_.py
_V_G_.py
_S_I__0.py
_S_I__1.py
_S_I__5.py
_O_R_G_.py
c_m_a_p.py
c_v_t.py
f_p_g_m.py
g_a_s_p.py
g_l_y_f.py
h_d_m_x.py
h_e_a_d.py
h_h_e_a.py
h_m_t_x.py
k_e_r_n.py
l_o_c_a.py
m_a_x_p.py
n_a_m_e.py
p_o_s_t.py
v_h_e_a.py
sciiTable.py
tBase.py
tConverters.py
tData.py
tTables.py
tProgram.py
30e691edd056ba22fa8970280e986747817bec3d 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 from __future__ import print_function
itmapGlyphMetrics.py
_B_D_T_.py
_F_F_.py
_O_L_R_.py
_P_A_L_.py
_S_I_G_.py
efaultTable.py
_B_D_T_.py
_B_L_C_.py
_M_A_P_.py
_P_K_G_.py
_T_S_H_.py
_E_T_A_.py
_S_2f_2.py
_I_N_G_.py
_V_G_.py
_S_I__0.py
_S_I__1.py
_S_I__5.py
_O_R_G_.py
c_m_a_p.py
c_v_t.py
f_p_g_m.py
g_a_s_p.py
g_l_y_f.py
h_d_m_x.py
h_e_a_d.py
h_h_e_a.py
h_m_t_x.py
k_e_r_n.py
l_o_c_a.py
m_a_x_p.py
n_a_m_e.py
p_o_s_t.py
v_h_e_a.py
sciiTable.py
tBase.py
tConverters.py
tTables.py
tProgram.py
b7a2d797a40fb658d1e6dca6c08c9d2e1d83e78a 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 Use bytechr() instead of chr()
_B_D_T_.py
_I_N_G_.py
h_d_m_x.py
h_e_a_d.py
p_o_s_t.py
tBase.py
7ed91eca1eaa96b79eae780778e89bb9ec44c1ee 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> py23 import in all nontrivial source files and unused import cleanup
itmapGlyphMetrics.py
_B_D_T_.py
_F_F_.py
_O_L_R_.py
_P_A_L_.py
_S_I_G_.py
efaultTable.py
_B_D_T_.py
_B_L_C_.py
_M_A_P_.py
_P_K_G_.py
_T_S_H_.py
_E_T_A_.py
_S_2f_2.py
_I_N_G_.py
_V_G_.py
_S_I__0.py
_S_I__1.py
_S_I__5.py
_O_R_G_.py
c_m_a_p.py
c_v_t.py
f_p_g_m.py
g_a_s_p.py
g_l_y_f.py
h_d_m_x.py
h_e_a_d.py
h_h_e_a.py
h_m_t_x.py
k_e_r_n.py
l_o_c_a.py
m_a_x_p.py
n_a_m_e.py
p_o_s_t.py
v_h_e_a.py
sciiTable.py
tBase.py
tConverters.py
tTables.py
tProgram.py
bb0beb7385d00a0f5c99895e7299a5a1307ec193 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 Use py23 to close some of the bytes/str/unicode gaps
_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.
n_a_m_e.py
c2297cd41d6c00b95f857b65bc9fd4b57559ac5e 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=dict with manual cleanup
_T_S_H_.py
_S_I__1.py
_O_R_G_.py
c_m_a_p.py
tTables.py
55e7d79ecfbeaaf4045cf5ecdc92032670f76b06 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 manual lambda syntax fix
k_e_r_n.py
e1d97b827791a4d190fbd0ec597f602aefd09025 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 replace use of module new
tTables.py
14fb031125b773f0a15eb19be4f02ed8540b2db6 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove most uses of module string
_B_D_T_.py
efaultTable.py
_B_D_T_.py
_B_L_C_.py
_E_T_A_.py
_I_N_G_.py
_V_G_.py
_S_I__1.py
g_l_y_f.py
h_d_m_x.py
h_e_a_d.py
n_a_m_e.py
sciiTable.py
tProgram.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.
itmapGlyphMetrics.py
_O_L_R_.py
_P_A_L_.py
_B_D_T_.py
_B_L_C_.py
_M_A_P_.py
_P_K_G_.py
_E_T_A_.py
_S_2f_2.py
_V_G_.py
_O_R_G_.py
c_m_a_p.py
g_l_y_f.py
k_e_r_n.py
n_a_m_e.py
p_o_s_t.py
tBase.py
tConverters.py
tTables.py
b92c08059d49a13364257629dd5601dad4ff91d7 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=imports with manual fixups
_F_F_.py
3ec6a258238b6068e4eef3fe579f1f5c0a06bbba 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=print with manual fixup
itmapGlyphMetrics.py
_B_D_T_.py
_B_L_C_.py
_V_G_.py
c_m_a_p.py
m_a_x_p.py
n_a_m_e.py
tBase.py
tConverters.py
tProgram.py
e5ca79699d00fdf7ac6eaceaed372aea8d6bc1fd 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=map with manual cleanup
_O_L_R_.py
_B_D_T_.py
_B_L_C_.py
_O_R_G_.py
c_m_a_p.py
g_l_y_f.py
h_d_m_x.py
h_e_a_d.py
tTables.py
ac1b4359467ca3deab03186a15eae1d55eb35567 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=idioms
itmapGlyphMetrics.py
_O_L_R_.py
efaultTable.py
_B_D_T_.py
_B_L_C_.py
_T_S_H_.py
_E_T_A_.py
_S_2f_2.py
_V_G_.py
_S_I__1.py
_S_I__5.py
_O_R_G_.py
c_m_a_p.py
g_a_s_p.py
g_l_y_f.py
h_d_m_x.py
h_e_a_d.py
h_m_t_x.py
k_e_r_n.py
l_o_c_a.py
m_a_x_p.py
n_a_m_e.py
p_o_s_t.py
tBase.py
tConverters.py
tTables.py
tProgram.py
fa5f2e85ab49c349468f5ae08f15163daa256a04 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=zip with manual cleanup
_B_L_C_.py
c_m_a_p.py
tTables.py
28aeabb08b2656cb240063865c37f192532badf5 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=filter
_B_L_C_.py
c_m_a_p.py
7cc6d271ac955782d730161b27e728001fb5f347 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=long with manual cleanup
_O_L_R_.py
_M_A_P_.py
_P_K_G_.py
_E_T_A_.py
_I_N_G_.py
_O_R_G_.py
h_e_a_d.py
4b775ee5f16b7feef22dd796f2faefb366f535f3 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=itertools
_B_D_T_.py
_B_L_C_.py
ecbe4c87b5b4b57ee965c3f9c0302cb4044a6875 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=numliterals with manual cleanup
_S_2f_2.py
h_e_a_d.py
h_h_e_a.py
m_a_x_p.py
v_h_e_a.py
97dea0a5d02ba1655d27a06fe91540e3495b8ef9 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=xrange
_B_D_T_.py
_B_L_C_.py
c_m_a_p.py
g_l_y_f.py
tBase.py
tTables.py
3a9fd301808f5a8991ca9ac44028d1ecb22d307f 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 equivalent to --fix=tuple_params

I hope I got this all right...
itmapGlyphMetrics.py
_F_F_.py
_O_L_R_.py
_P_A_L_.py
_S_I_G_.py
efaultTable.py
_B_D_T_.py
_B_L_C_.py
_M_A_P_.py
_P_K_G_.py
_T_S_H_.py
_E_T_A_.py
_S_2f_2.py
_I_N_G_.py
_V_G_.py
_S_I__0.py
_S_I__1.py
_S_I__5.py
_O_R_G_.py
c_m_a_p.py
c_v_t.py
f_p_g_m.py
g_a_s_p.py
g_l_y_f.py
h_d_m_x.py
h_e_a_d.py
h_h_e_a.py
h_m_t_x.py
k_e_r_n.py
m_a_x_p.py
n_a_m_e.py
p_o_s_t.py
v_h_e_a.py
sciiTable.py
tBase.py
tConverters.py
tTables.py
tProgram.py
dc7e6f3e5563a853477ebe26166b002c158dbe8b 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=repr
h_d_m_x.py
p_o_s_t.py
tProgram.py
cd5aad92f23737ff93a110d5c73d624658a28da8 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=raise
_F_F_.py
efaultTable.py
_B_D_T_.py
_B_L_C_.py
_S_2f_2.py
c_m_a_p.py
g_l_y_f.py
p_o_s_t.py
tBase.py
tConverters.py
tProgram.py
180ace6a5ff1399ec53bc696e8bef7cce6eef39a 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=ne
efaultTable.py
_P_K_G_.py
_T_S_H_.py
_S_2f_2.py
_S_I__5.py
c_m_a_p.py
c_v_t.py
g_a_s_p.py
g_l_y_f.py
h_d_m_x.py
h_m_t_x.py
k_e_r_n.py
l_o_c_a.py
m_a_x_p.py
n_a_m_e.py
p_o_s_t.py
tBase.py
tConverters.py
tProgram.py
2b06aaa2a6bcd363c25fb0c43f6bb906906594bd 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=import
_A_S_E_.py
_B_D_T_.py
_B_L_C_.py
_F_F_.py
_O_L_R_.py
_P_A_L_.py
_S_I_G_.py
_B_D_T_.py
_B_L_C_.py
_D_E_F_.py
_M_A_P_.py
_P_K_G_.py
_P_O_S_.py
_S_U_B_.py
_S_T_F_.py
_T_S_H_.py
_E_T_A_.py
_S_2f_2.py
_I_N_G_.py
_V_G_.py
_S_I_B_.py
_S_I_D_.py
_S_I_J_.py
_S_I_P_.py
_S_I_S_.py
_S_I_V_.py
_S_I__0.py
_S_I__1.py
_S_I__5.py
_O_R_G_.py
_init__.py
c_m_a_p.py
c_v_t.py
f_p_g_m.py
g_a_s_p.py
g_l_y_f.py
h_d_m_x.py
h_e_a_d.py
h_h_e_a.py
h_m_t_x.py
k_e_r_n.py
l_o_c_a.py
m_a_x_p.py
n_a_m_e.py
p_o_s_t.py
v_h_e_a.py
sciiTable.py
tBase.py
tConverters.py
tTables.py
bc5e1cb195c0bfa1c8e7507326d5a9ad05aecb4b 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=has_key
_O_L_R_.py
_P_A_L_.py
_S_I__1.py
_O_R_G_.py
c_m_a_p.py
g_l_y_f.py
h_h_e_a.py
k_e_r_n.py
m_a_x_p.py
n_a_m_e.py
p_o_s_t.py
v_h_e_a.py
tBase.py
tConverters.py
tTables.py
66214cbe8c220625e61a85f386756c6de4ec82b2 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> 2to3 --fix=apply
g_l_y_f.py
tBase.py
3ac9e63fce920ca3cf12f53e067641849c9cdbb4 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Load / save FeatureParamSize decipoints values as float
tBase.py
tConverters.py
tData.py
862b14722fd80a9cacf0fa7666da570fc4f4be56 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Improve OS/2 format 5 compile
_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
tBase.py
tConverters.py
tData.py
tTables.py
7ab0cb0b09f67f69990c47944100010435cc3b6a 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fixup cmap lazy loading
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.
tConverters.py
2f2fd9ca7c1da36d86adfc7467c53fb283d9196e 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor
tConverters.py
1f0eed84596e81650b9a8aabfc385bf8dc0c97a2 27-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor
tBase.py
f4e61ae637f3d12b4121c1264560390b430d294f 26-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Undo making subReader lazy

Need this for upcoming FeatureParams implementation.
tBase.py
tConverters.py
79f734414c2a8d6851fb1b3ec69287ff0e0077b9 26-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Further simplify OTTableReader/Writer
tBase.py
tConverters.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
c_m_a_p.py
67eded5efa89608cd123f5543ad57ccdd8014dfb 26-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove obsolete comment
tBase.py
f1e8c3e8a0bd12858e1ab361973c286eb7cad30a 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor
_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...
_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.
_S_2f_2.py
170fc9d40fb1abf5bf5582f603ba4e9a0a441a0c 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Use true point sizes in new OS/2 version 5 fields
_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
tBase.py
tConverters.py
f41056dc764d1300f96354b643a5e5cf7236f09c 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Implement MarkFilteringSet in Lookup
tData.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
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
tBase.py
tData.py
6b6e9fae23499de4d17372d0bd7ce4a8f194b4d7 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Rename repeatOffset to aux

To be used for other purposes soon.
tBase.py
tConverters.py
d58c38dc3660f764b659ec13fcbc6e54c1ec2078 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Seprate longOffset from ExtSubTable
tBase.py
tConverters.py
fe67e3121e421e8f146c7b4df8b7188c620d1e5a 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Simplify ExtSubTable
tConverters.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.
tBase.py
tConverters.py
tTables.py
bdc5a99846c43fe48a99c1207d1af5d675a04ac1 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove unused method
tBase.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.
_B_D_T_.py
_B_L_C_.py
c_m_a_p.py
g_l_y_f.py
7ef23a85ae49039ae491e337be173caba7bdd534 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Add font.lazy
tConverters.py
c491f45eff9a884e69a44cbf9ae69288be9478b5 25-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Create subReaders lazily

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

Was abusing the set/getCount machinery before.
tBase.py
tConverters.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.
tBase.py
tConverters.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.
tBase.py
tConverters.py
7d130307e6e6094e40a841a3c41fc74b203b7e8e 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Simplify converter mapping for DeltaValue
tConverters.py
tData.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.
tBase.py
tConverters.py
24f978ccc6bfbe4e5ad96d9c77aed70d050aa585 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fixup 41caf2d

Lexical binding...

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

Followup for 6e556aafc3be5ccf48a01d8113313abd2a633ba6.
tBase.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.
tConverters.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).
tConverters.py
tData.py
0b18ef611103518c4eecc22668063ada473a9312 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove Fixed vs fixed32 inconsistency
tConverters.py
tData.py
ea017bd66f790d066a3f4f0b5974479875dd5dfc 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove USHORT vs uint16 inconsistency
tConverters.py
tData.py
5962268b7971f624a56ba97c75d95ed11c190ac4 24-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove unused "LONG" converter

LONG was replaced by Fixed long time ago.
tConverters.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.
tData.py
3879cf94396869f645ae4c34dcdafed40ccdcdd4 23-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Use slots for OTTableReader

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

Gives another 3% speedup.
tBase.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.
tBase.py
tConverters.py
0585b64f70cca15aab3483f529c8faf1b7b825fd 22-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor
tBase.py
tConverters.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.
tBase.py
tConverters.py
fc10b20c25af08267bba6ac56aea9638cc56f603 21-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor
tConverters.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.
tBase.py
tConverters.py
5988cc32cbe04ed8ff6330bd6ede634b9c68faf0 19-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Make BaseTable a new-style object
tBase.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
_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.
tProgram.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.
tTables.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.
tTables.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
tProgram.py
4ff77121313e2af3b43ef8285495a2d4669dff2a 15-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Restructure code

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

No functional change whatsoever.
tProgram.py
978b1ea8774d2ed24d12099b60bfa53fea3239b4 15-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Indent
h_h_e_a.py
246301acc9a54c38f83dcbc9b15127edff33b804 15-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Fixup hhea recalc after 9222b8ef93fd6b41f9c4dcf152593cd0c80f0ba4
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.
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.
g_l_y_f.py
7bdf6d39fc124bfcbc8bafb0c3f7a64b5c85cd2f 14-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Minor
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
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
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
g_l_y_f.py
c55d592661d1862b96fa3cfa66287d0e6285d688 14-Nov-2013 Behdad Esfahbod <behdad@behdad.org> Remove unreachable code
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
c_m_a_p.py
n_a_m_e.py
0ba7aa7ab5153e6a490425dd0f859cc5947360f4 28-Oct-2013 Behdad Esfahbod <behdad@behdad.org> Make __cmp__() functions stable
efaultTable.py
_E_T_A_.py
c_m_a_p.py
g_l_y_f.py
h_e_a_d.py
k_e_r_n.py
l_o_c_a.py
n_a_m_e.py
tBase.py
d95db25720eff340230e33971f95de846d2ef96c 26-Oct-2013 Behdad Esfahbod <behdad@behdad.org> Indent
h_h_e_a.py
51a17826be4fb43d1f6ad5ada94207d8e18fc458 10-Oct-2013 Roozbeh Pournader <roozbeh@google.com> Add support for cmap format 13.
c_m_a_p.py
cff3740f1440997cd013f538fecb06243d13c6a1 09-Oct-2013 Denis Jacquerye <denis.jacquerye@daltonmaag.com> * wrong indentation after else
h_h_e_a.py
m_a_x_p.py
d7921e33d9d1944c394e6c17b3746e7108dd1da4 09-Oct-2013 Roozbeh Pournader <roozbeh@google.com> Improved support for minimal fonts (with no visible glyphs).
h_h_e_a.py
l_o_c_a.py
m_a_x_p.py
1e4c89f83aa3fb63c0973f59de2d91a07683de75 07-Oct-2013 Behdad Esfahbod <behdad@behdad.org> Update SVG table implementation

New drop from Read Roberts.
_V_G_.py
2e998ea692d7af0433869e427a43b681a1640cf0 29-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Fix GlyphCoordinates slicing

Based on patch from Roozbeh.
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
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.
g_l_y_f.py
70fee1648affd71286ee1469da5c163ff78cddc9 20-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Fix glyph removeHinting re padding
g_l_y_f.py
626107c833da0e5ce5c8b652990222181d0d3834 20-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Move some methods from subset.py to 'glyf' table implementation
g_l_y_f.py
9d7dc222990efdab0681ce7c519ef3a73d3fd718 20-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Add copyright notices
_B_D_T_.py
_B_L_C_.py
_O_L_R_.py
_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".
itmapGlyphMetrics.py
_B_D_T_.py
_S_I_G_.py
_B_D_T_.py
_B_L_C_.py
_M_A_P_.py
_P_K_G_.py
_E_T_A_.py
_S_2f_2.py
_I_N_G_.py
_V_G_.py
g_l_y_f.py
h_d_m_x.py
h_e_a_d.py
h_h_e_a.py
m_a_x_p.py
n_a_m_e.py
p_o_s_t.py
v_h_e_a.py
9316a90e320e693f21fbe209937e92b6d15fb474 04-Sep-2013 Behdad Esfahbod <behdad@behdad.org> Fixup from numpy removal
g_l_y_f.py
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.
g_l_y_f.py
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
g_l_y_f.py
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
g_l_y_f.py
562400ea10b8f2a4faf11bfd4b73fd0dd937f789 29-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Update table list for SVG
_init__.py
ddcca79308b52dc36b24ef94cab4ab00c8e32376 28-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Add 'SVG ' table implementation from Read Roberts (Adobe)
_V_G_.py
96b321c8aea4dc64110d15a541c6f85152ae19cf 17-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Fix comparison to arbitrary objects
efaultTable.py
_E_T_A_.py
c_m_a_p.py
g_l_y_f.py
h_e_a_d.py
k_e_r_n.py
l_o_c_a.py
n_a_m_e.py
tBase.py
843ffd8c795e9b75aac51226f01e23c0703555f3 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port glyf coordinates from numpy to custom type
g_l_y_f.py
4f033683ca79093de30b62f5a3b87c2c466496f0 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port glyf transform from numpy to lists
g_l_y_f.py
bca6e99d1c94b44cfc68c62229ac821e04809715 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port glyf flags from numpy to array module
g_l_y_f.py
b1a7f87c2f424e27e0e0db6112098d7c87b53787 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port GPKG table from numpy to array module
_P_K_G_.py
8da8242d614d8e57f5c1d1730436d455777449b5 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port cmap table from numpy to array module
c_m_a_p.py
fd647bf3533c21de7995893982811c6c56617542 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port loca table from numpy to array module
l_o_c_a.py
035bc7da2318f0dcacecba2e1e24c0a4bf3cf80c 16-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Port hmtx table from numpy to array module
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.
_P_K_G_.py
183afe6408fade5d45dd45d062293c416a4adef1 09-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Optimize Coverage.postRead()
tTables.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.
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.
tProgram.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!
p_o_s_t.py
26549ce2981aae3bd1bd6186249635840a149276 25-Jul-2013 Behdad Esfahbod <behdad@behdad.org> Warn about excess data in kern table instead of aborting
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.
tBase.py
50d9a44e5887e303480af571cca8b69cd82c3173 24-Jul-2013 Behdad Esfahbod <behdad@behdad.org> Add support for Microsoft COLR/CPAL layered color glyphs
_O_L_R_.py
_P_A_L_.py
_init__.py
b9ba77541323c56a8f88c96f16bb6e32279d975d 19-Aug-2013 Matt Fontaine <mfontaine@google.com> Add support for Google CBLC/CBDT color bitmaps
_B_D_T_.py
_B_L_C_.py
_init__.py
c33b0a22ef0046c392275e3dba974dfbadee24fa 19-Aug-2013 Matt Fontaine <mfontaine@google.com> Add support for standard EBLC/EBDT embedded bitmaps
itmapGlyphMetrics.py
_B_D_T_.py
_B_L_C_.py
_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
tConverters.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
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
_S_I_G_.py
g_a_s_p.py
g_l_y_f.py
tProgram.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
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
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
g_l_y_f.py
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
_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
l_o_c_a.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
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
tProgram.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
cvsignore
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
tProgram.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
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
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
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
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
tTables.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
tBase.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
tBase.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
_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
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
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
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
_P_K_G_.py
c_m_a_p.py
g_l_y_f.py
h_m_t_x.py
l_o_c_a.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
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
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
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
_P_K_G_.py
_S_I__5.py
c_m_a_p.py
c_v_t.py
g_l_y_f.py
h_m_t_x.py
l_o_c_a.py
p_o_s_t.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
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
_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
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
_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
tBase.py
tConverters.py
tData.py
tTables.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
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
_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
_M_A_P_.py
_P_K_G_.py
_E_T_A_.py
_I_N_G_.py
_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
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
_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
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
_S_2f_2.py
p_o_s_t.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
tTables.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
_S_I__0.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
_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
h_e_a_d.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
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
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
tTables.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
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
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
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
c_m_a_p.py
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
_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
_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
tData.py
tTables.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
tData.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
tTables.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
tBase.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
h_h_e_a.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
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
c_m_a_p.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
_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
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
tData.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
_O_R_G_.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
m_a_x_p.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
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
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
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
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
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
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
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
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
h_e_a_d.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
tTables.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
_S_2f_2.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
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
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
tTables.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
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
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
tTables.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
tTables.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
tTables.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
tTables.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
tTables.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
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
tTables.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
tTables.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
tBase.py
tConverters.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
tBase.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
_init__.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
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
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
tData.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
g_l_y_f.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
tBase.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
tBase.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
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
tBase.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
tBase.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
tBase.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
c_m_a_p.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
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
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
g_l_y_f.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
_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
g_l_y_f.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
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
_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
tProgram.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
_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
g_l_y_f.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
_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
tConverters.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
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
tConverters.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
h_h_e_a.py
tBase.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
able_API_readme.txt
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
_F_F_.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
c_m_a_p.py
k_e_r_n.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
tBase.py
tConverters.py
tTables.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
tCommon.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
_A_S_E_.py
_D_E_F_.py
_P_O_S_.py
_S_U_B_.py
_S_T_F_.py
tBase.py
tConverters.py
tData.py
tTables.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
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
_S_2f_2.py
c_m_a_p.py
g_l_y_f.py
k_e_r_n.py
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
_S_U_B_.py
tCommon.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
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
_F_F_.py
_P_O_S_.py
_S_U_B_.py
tCommon.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
_F_F_.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
h_m_t_x.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
g_l_y_f.py
h_d_m_x.py
h_m_t_x.py
n_a_m_e.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
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
tProgram.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
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
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
_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
h_e_a_d.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
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
h_e_a_d.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
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
h_m_t_x.py
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
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
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
_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
c_m_a_p.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
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
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
c_m_a_p.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
_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
_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
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
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
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
h_e_a_d.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
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
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
_init__.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
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
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
l_o_c_a.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
tProgram.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
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
f_p_g_m.py
g_l_y_f.py
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
tProgram.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
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
able_API_readme.txt
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
sciiTable.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
_S_I_V_.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
_S_I_B_.py
_S_I_D_.py
_S_I_P_.py
_S_I_S_.py
sciiTable.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
_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
tCommon.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
tCommon.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
_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
efaultTable.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
n_a_m_e.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
g_l_y_f.py
h_h_e_a.py
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
h_d_m_x.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
g_l_y_f.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
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
_F_F_.py
_S_I_G_.py
efaultTable.py
_P_O_S_.py
_S_U_B_.py
_T_S_H_.py
_S_2f_2.py
_S_I__0.py
_S_I__1.py
_S_I__2.py
_S_I__3.py
_S_I__5.py
_init__.py
c_m_a_p.py
c_v_t.py
f_p_g_m.py
g_a_s_p.py
g_l_y_f.py
h_d_m_x.py
h_e_a_d.py
h_h_e_a.py
h_m_t_x.py
k_e_r_n.py
l_o_c_a.py
m_a_x_p.py
n_a_m_e.py
p_o_s_t.py
p_r_e_p.py
v_h_e_a.py
v_m_t_x.py
tCommon.py
able_API_readme.txt
tProgram.py