fonttools/Documentation/fontToolsDocs/fontTools.ttLib.html
Erik van Blokland 3646055ea2 initial import
git-svn-id: http://svn.robofab.com/trunk@1 b5fa9d6c-a76f-4ffd-b3cb-f825fc41095c
2008-01-07 17:40:34 +00:00

264 lines
20 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: package fontTools.ttLib</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="fontTools.html"><font color="#ffffff">fontTools</font></a>.ttLib</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/code/fontTools/Lib/fontTools/ttLib/__init__.py">/code/fontTools/Lib/fontTools/ttLib/__init__.py</a></font></td></tr></table>
<p><tt>fontTools.ttLib&nbsp;--&nbsp;a&nbsp;package&nbsp;for&nbsp;dealing&nbsp;with&nbsp;TrueType&nbsp;fonts.<br>
&nbsp;<br>
This&nbsp;package&nbsp;offers&nbsp;translators&nbsp;to&nbsp;convert&nbsp;TrueType&nbsp;fonts&nbsp;to&nbsp;Python&nbsp;<br>
objects&nbsp;and&nbsp;vice&nbsp;versa,&nbsp;and&nbsp;additionally&nbsp;from&nbsp;Python&nbsp;to&nbsp;TTX&nbsp;(an&nbsp;XML-based<br>
text&nbsp;format)&nbsp;and&nbsp;vice&nbsp;versa.<br>
&nbsp;<br>
Example&nbsp;interactive&nbsp;session:<br>
&nbsp;<br>
Python&nbsp;1.5.2c1&nbsp;(#43,&nbsp;Mar&nbsp;&nbsp;9&nbsp;1999,&nbsp;13:06:43)&nbsp;&nbsp;[CW&nbsp;PPC&nbsp;w/GUSI&nbsp;w/MSL]<br>
Copyright&nbsp;1991-1995&nbsp;Stichting&nbsp;Mathematisch&nbsp;Centrum,&nbsp;Amsterdam<br>
&gt;&gt;&gt;&nbsp;from&nbsp;fontTools&nbsp;import&nbsp;ttLib<br>
&gt;&gt;&gt;&nbsp;tt&nbsp;=&nbsp;ttLib.<a href="#TTFont">TTFont</a>("afont.ttf")<br>
&gt;&gt;&gt;&nbsp;tt['maxp'].numGlyphs<br>
242<br>
&gt;&gt;&gt;&nbsp;tt['OS/2'].achVendID<br>
'B&amp;H'<br>
&gt;&gt;&gt;&nbsp;tt['head'].unitsPerEm<br>
2048<br>
&gt;&gt;&gt;&nbsp;tt.saveXML("afont.ttx")<br>
Dumping&nbsp;'LTSH'&nbsp;table...<br>
Dumping&nbsp;'OS/2'&nbsp;table...<br>
Dumping&nbsp;'VDMX'&nbsp;table...<br>
Dumping&nbsp;'cmap'&nbsp;table...<br>
Dumping&nbsp;'cvt&nbsp;'&nbsp;table...<br>
Dumping&nbsp;'fpgm'&nbsp;table...<br>
Dumping&nbsp;'glyf'&nbsp;table...<br>
Dumping&nbsp;'hdmx'&nbsp;table...<br>
Dumping&nbsp;'head'&nbsp;table...<br>
Dumping&nbsp;'hhea'&nbsp;table...<br>
Dumping&nbsp;'hmtx'&nbsp;table...<br>
Dumping&nbsp;'loca'&nbsp;table...<br>
Dumping&nbsp;'maxp'&nbsp;table...<br>
Dumping&nbsp;'name'&nbsp;table...<br>
Dumping&nbsp;'post'&nbsp;table...<br>
Dumping&nbsp;'prep'&nbsp;table...<br>
&gt;&gt;&gt;&nbsp;tt2&nbsp;=&nbsp;ttLib.<a href="#TTFont">TTFont</a>()<br>
&gt;&gt;&gt;&nbsp;tt2.importXML("afont.ttx")<br>
&gt;&gt;&gt;&nbsp;tt2['maxp'].numGlyphs<br>
242<br>
&gt;&gt;&gt;</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Package Contents</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="fontTools.ttLib.macUtils.html">macUtils</a><br>
<a href="fontTools.ttLib.sfnt.html">sfnt</a><br>
</td><td width="25%" valign=top><a href="fontTools.ttLib.standardGlyphOrder.html">standardGlyphOrder</a><br>
<a href="fontTools.ttLib.tables.html"><strong>tables</strong>&nbsp;(package)</a><br>
</td><td width="25%" valign=top><a href="fontTools.ttLib.test.html"><strong>test</strong>&nbsp;(package)</a><br>
<a href="fontTools.ttLib.xmlImport.html">xmlImport</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="exceptions.html#Exception">exceptions.Exception</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="fontTools.ttLib.html#TTLibError">TTLibError</a>
</font></dt></dl>
</dd>
<dt><font face="helvetica, arial"><a href="fontTools.ttLib.html#GlyphOrder">GlyphOrder</a>
</font></dt><dt><font face="helvetica, arial"><a href="fontTools.ttLib.html#TTFont">TTFont</a>
</font></dt></dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="GlyphOrder">class <strong>GlyphOrder</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;pseudo&nbsp;table.&nbsp;The&nbsp;glyph&nbsp;order&nbsp;isn't&nbsp;in&nbsp;the&nbsp;font&nbsp;as&nbsp;a&nbsp;separate<br>
table,&nbsp;but&nbsp;it's&nbsp;nice&nbsp;to&nbsp;present&nbsp;it&nbsp;as&nbsp;such&nbsp;in&nbsp;the&nbsp;TTX&nbsp;format.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="GlyphOrder-__init__"><strong>__init__</strong></a>(self, tag)</dt></dl>
<dl><dt><a name="GlyphOrder-fromXML"><strong>fromXML</strong></a>(self, (name, attrs, content), ttFont)</dt></dl>
<dl><dt><a name="GlyphOrder-toXML"><strong>toXML</strong></a>(self, writer, ttFont)</dt></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="TTFont">class <strong>TTFont</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>The&nbsp;main&nbsp;font&nbsp;object.&nbsp;It&nbsp;manages&nbsp;file&nbsp;input&nbsp;and&nbsp;output,&nbsp;and&nbsp;offers<br>
a&nbsp;convenient&nbsp;way&nbsp;of&nbsp;accessing&nbsp;tables.&nbsp;<br>
Tables&nbsp;will&nbsp;be&nbsp;only&nbsp;decompiled&nbsp;when&nbsp;neccesary,&nbsp;ie.&nbsp;when&nbsp;they're&nbsp;actually<br>
accessed.&nbsp;This&nbsp;means&nbsp;that&nbsp;simple&nbsp;operations&nbsp;can&nbsp;be&nbsp;extremely&nbsp;fast.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="TTFont-__contains__"><strong>__contains__</strong></a> = <a href="#TTFont-has_key">has_key</a>(self, tag)</dt></dl>
<dl><dt><a name="TTFont-__delitem__"><strong>__delitem__</strong></a>(self, tag)</dt></dl>
<dl><dt><a name="TTFont-__getitem__"><strong>__getitem__</strong></a>(self, tag)</dt></dl>
<dl><dt><a name="TTFont-__init__"><strong>__init__</strong></a>(self, file<font color="#909090">=None</font>, res_name_or_index<font color="#909090">=None</font>, sfntVersion<font color="#909090">='<font color="#c040c0">\x00\x01\x00\x00</font>'</font>, checkChecksums<font color="#909090">=0</font>, verbose<font color="#909090">=0</font>, recalcBBoxes<font color="#909090">=1</font>)</dt><dd><tt>The&nbsp;constructor&nbsp;can&nbsp;be&nbsp;called&nbsp;with&nbsp;a&nbsp;few&nbsp;different&nbsp;arguments.<br>
When&nbsp;reading&nbsp;a&nbsp;font&nbsp;from&nbsp;disk,&nbsp;'file'&nbsp;should&nbsp;be&nbsp;either&nbsp;a&nbsp;pathname<br>
pointing&nbsp;to&nbsp;a&nbsp;file,&nbsp;or&nbsp;a&nbsp;readable&nbsp;file&nbsp;object.&nbsp;<br>
&nbsp;<br>
It&nbsp;we're&nbsp;running&nbsp;on&nbsp;a&nbsp;Macintosh,&nbsp;'res_name_or_index'&nbsp;maybe&nbsp;an&nbsp;sfnt&nbsp;<br>
resource&nbsp;name&nbsp;or&nbsp;an&nbsp;sfnt&nbsp;resource&nbsp;index&nbsp;number&nbsp;or&nbsp;zero.&nbsp;The&nbsp;latter&nbsp;<br>
case&nbsp;will&nbsp;cause&nbsp;TTLib&nbsp;to&nbsp;autodetect&nbsp;whether&nbsp;the&nbsp;file&nbsp;is&nbsp;a&nbsp;flat&nbsp;file&nbsp;<br>
or&nbsp;a&nbsp;suitcase.&nbsp;(If&nbsp;it's&nbsp;a&nbsp;suitcase,&nbsp;only&nbsp;the&nbsp;first&nbsp;'sfnt'&nbsp;resource<br>
will&nbsp;be&nbsp;read!)<br>
&nbsp;<br>
The&nbsp;'checkChecksums'&nbsp;argument&nbsp;is&nbsp;used&nbsp;to&nbsp;specify&nbsp;how&nbsp;sfnt<br>
checksums&nbsp;are&nbsp;treated&nbsp;upon&nbsp;reading&nbsp;a&nbsp;file&nbsp;from&nbsp;disk:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0:&nbsp;don't&nbsp;check&nbsp;(default)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1:&nbsp;check,&nbsp;print&nbsp;warnings&nbsp;if&nbsp;a&nbsp;wrong&nbsp;checksum&nbsp;is&nbsp;found<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2:&nbsp;check,&nbsp;raise&nbsp;an&nbsp;exception&nbsp;if&nbsp;a&nbsp;wrong&nbsp;checksum&nbsp;is&nbsp;found.<br>
&nbsp;<br>
The&nbsp;<a href="#TTFont">TTFont</a>&nbsp;constructor&nbsp;can&nbsp;also&nbsp;be&nbsp;called&nbsp;without&nbsp;a&nbsp;'file'&nbsp;<br>
argument:&nbsp;this&nbsp;is&nbsp;the&nbsp;way&nbsp;to&nbsp;create&nbsp;a&nbsp;new&nbsp;empty&nbsp;font.&nbsp;<br>
In&nbsp;this&nbsp;case&nbsp;you&nbsp;can&nbsp;optionally&nbsp;supply&nbsp;the&nbsp;'sfntVersion'&nbsp;argument.<br>
&nbsp;<br>
If&nbsp;the&nbsp;recalcBBoxes&nbsp;argument&nbsp;is&nbsp;false,&nbsp;a&nbsp;number&nbsp;of&nbsp;things&nbsp;will&nbsp;*not*<br>
be&nbsp;recalculated&nbsp;upon&nbsp;save/compile:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1)&nbsp;glyph&nbsp;bounding&nbsp;boxes<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2)&nbsp;maxp&nbsp;font&nbsp;bounding&nbsp;box<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3)&nbsp;hhea&nbsp;min/max&nbsp;values<br>
(1)&nbsp;is&nbsp;needed&nbsp;for&nbsp;certain&nbsp;kinds&nbsp;of&nbsp;CJK&nbsp;fonts&nbsp;(ask&nbsp;Werner&nbsp;Lemberg&nbsp;;-).<br>
Additionally,&nbsp;upon&nbsp;importing&nbsp;an&nbsp;TTX&nbsp;file,&nbsp;this&nbsp;option&nbsp;cause&nbsp;glyphs<br>
to&nbsp;be&nbsp;compiled&nbsp;right&nbsp;away.&nbsp;This&nbsp;should&nbsp;reduce&nbsp;memory&nbsp;consumption&nbsp;<br>
greatly,&nbsp;and&nbsp;therefore&nbsp;should&nbsp;have&nbsp;some&nbsp;impact&nbsp;on&nbsp;the&nbsp;time&nbsp;needed&nbsp;<br>
to&nbsp;parse/compile&nbsp;large&nbsp;fonts.</tt></dd></dl>
<dl><dt><a name="TTFont-__len__"><strong>__len__</strong></a>(self)</dt></dl>
<dl><dt><a name="TTFont-__setitem__"><strong>__setitem__</strong></a>(self, tag, table)</dt></dl>
<dl><dt><a name="TTFont-close"><strong>close</strong></a>(self)</dt><dd><tt>If&nbsp;we&nbsp;still&nbsp;have&nbsp;a&nbsp;reader&nbsp;object,&nbsp;close&nbsp;it.</tt></dd></dl>
<dl><dt><a name="TTFont-getGlyphID"><strong>getGlyphID</strong></a>(self, glyphName)</dt></dl>
<dl><dt><a name="TTFont-getGlyphName"><strong>getGlyphName</strong></a>(self, glyphID)</dt></dl>
<dl><dt><a name="TTFont-getGlyphNames"><strong>getGlyphNames</strong></a>(self)</dt><dd><tt>Get&nbsp;a&nbsp;list&nbsp;of&nbsp;glyph&nbsp;names,&nbsp;sorted&nbsp;alphabetically.</tt></dd></dl>
<dl><dt><a name="TTFont-getGlyphNames2"><strong>getGlyphNames2</strong></a>(self)</dt><dd><tt>Get&nbsp;a&nbsp;list&nbsp;of&nbsp;glyph&nbsp;names,&nbsp;sorted&nbsp;alphabetically,&nbsp;<br>
but&nbsp;not&nbsp;case&nbsp;sensitive.</tt></dd></dl>
<dl><dt><a name="TTFont-getGlyphOrder"><strong>getGlyphOrder</strong></a>(self)</dt></dl>
<dl><dt><a name="TTFont-getGlyphSet"><strong>getGlyphSet</strong></a>(self, preferCFF<font color="#909090">=1</font>)</dt><dd><tt>Return&nbsp;a&nbsp;generic&nbsp;GlyphSet,&nbsp;which&nbsp;is&nbsp;a&nbsp;dict-like&nbsp;object<br>
mapping&nbsp;glyph&nbsp;names&nbsp;to&nbsp;glyph&nbsp;objects.&nbsp;The&nbsp;returned&nbsp;glyph&nbsp;objects<br>
have&nbsp;a&nbsp;.draw()&nbsp;method&nbsp;that&nbsp;supports&nbsp;the&nbsp;Pen&nbsp;protocol,&nbsp;and&nbsp;will<br>
have&nbsp;an&nbsp;attribute&nbsp;named&nbsp;'width',&nbsp;but&nbsp;only&nbsp;*after*&nbsp;the&nbsp;.draw()&nbsp;method<br>
has&nbsp;been&nbsp;called.<br>
&nbsp;<br>
If&nbsp;the&nbsp;font&nbsp;is&nbsp;CFF-based,&nbsp;the&nbsp;outlines&nbsp;will&nbsp;be&nbsp;taken&nbsp;from&nbsp;the&nbsp;'CFF&nbsp;'<br>
table.&nbsp;Otherwise&nbsp;the&nbsp;outlines&nbsp;will&nbsp;be&nbsp;taken&nbsp;from&nbsp;the&nbsp;'glyf'&nbsp;table.<br>
If&nbsp;the&nbsp;font&nbsp;contains&nbsp;both&nbsp;a&nbsp;'CFF&nbsp;'&nbsp;and&nbsp;a&nbsp;'glyf'&nbsp;table,&nbsp;you&nbsp;can&nbsp;use<br>
the&nbsp;'preferCFF'&nbsp;argument&nbsp;to&nbsp;specify&nbsp;which&nbsp;one&nbsp;should&nbsp;be&nbsp;taken.</tt></dd></dl>
<dl><dt><a name="TTFont-getTableData"><strong>getTableData</strong></a>(self, tag)</dt><dd><tt>Returns&nbsp;raw&nbsp;table&nbsp;data,&nbsp;whether&nbsp;compiled&nbsp;or&nbsp;directly&nbsp;read&nbsp;from&nbsp;disk.</tt></dd></dl>
<dl><dt><a name="TTFont-has_key"><strong>has_key</strong></a>(self, tag)</dt></dl>
<dl><dt><a name="TTFont-importXML"><strong>importXML</strong></a>(self, file, progress<font color="#909090">=None</font>)</dt><dd><tt>Import&nbsp;a&nbsp;TTX&nbsp;file&nbsp;(an&nbsp;XML-based&nbsp;text&nbsp;format),&nbsp;so&nbsp;as&nbsp;to&nbsp;recreate<br>
a&nbsp;font&nbsp;object.</tt></dd></dl>
<dl><dt><a name="TTFont-isLoaded"><strong>isLoaded</strong></a>(self, tag)</dt><dd><tt>Return&nbsp;true&nbsp;if&nbsp;the&nbsp;table&nbsp;identified&nbsp;by&nbsp;'tag'&nbsp;has&nbsp;been&nbsp;<br>
decompiled&nbsp;and&nbsp;loaded&nbsp;into&nbsp;memory.</tt></dd></dl>
<dl><dt><a name="TTFont-keys"><strong>keys</strong></a>(self)</dt></dl>
<dl><dt><a name="TTFont-save"><strong>save</strong></a>(self, file, makeSuitcase<font color="#909090">=0</font>, reorderTables<font color="#909090">=1</font>)</dt><dd><tt>Save&nbsp;the&nbsp;font&nbsp;to&nbsp;disk.&nbsp;Similarly&nbsp;to&nbsp;the&nbsp;constructor,&nbsp;<br>
the&nbsp;'file'&nbsp;argument&nbsp;can&nbsp;be&nbsp;either&nbsp;a&nbsp;pathname&nbsp;or&nbsp;a&nbsp;writable<br>
file&nbsp;object.<br>
&nbsp;<br>
On&nbsp;the&nbsp;Mac,&nbsp;if&nbsp;makeSuitcase&nbsp;is&nbsp;true,&nbsp;a&nbsp;suitcase&nbsp;(resource&nbsp;fork)<br>
file&nbsp;will&nbsp;we&nbsp;made&nbsp;instead&nbsp;of&nbsp;a&nbsp;flat&nbsp;.ttf&nbsp;file.</tt></dd></dl>
<dl><dt><a name="TTFont-saveXML"><strong>saveXML</strong></a>(self, fileOrPath, progress<font color="#909090">=None</font>, tables<font color="#909090">=None</font>, skipTables<font color="#909090">=None</font>, splitTables<font color="#909090">=0</font>, disassembleInstructions<font color="#909090">=1</font>)</dt><dd><tt>Export&nbsp;the&nbsp;font&nbsp;as&nbsp;TTX&nbsp;(an&nbsp;XML-based&nbsp;text&nbsp;file),&nbsp;or&nbsp;as&nbsp;a&nbsp;series&nbsp;of&nbsp;text<br>
files&nbsp;when&nbsp;splitTables&nbsp;is&nbsp;true.&nbsp;In&nbsp;the&nbsp;latter&nbsp;case,&nbsp;the&nbsp;'fileOrPath'<br>
argument&nbsp;should&nbsp;be&nbsp;a&nbsp;path&nbsp;to&nbsp;a&nbsp;directory.<br>
The&nbsp;'tables'&nbsp;argument&nbsp;must&nbsp;either&nbsp;be&nbsp;false&nbsp;(dump&nbsp;all&nbsp;tables)&nbsp;or&nbsp;a<br>
list&nbsp;of&nbsp;tables&nbsp;to&nbsp;dump.&nbsp;The&nbsp;'skipTables'&nbsp;argument&nbsp;may&nbsp;be&nbsp;a&nbsp;list&nbsp;of&nbsp;tables<br>
to&nbsp;skip,&nbsp;but&nbsp;only&nbsp;when&nbsp;the&nbsp;'tables'&nbsp;argument&nbsp;is&nbsp;false.</tt></dd></dl>
<dl><dt><a name="TTFont-setGlyphOrder"><strong>setGlyphOrder</strong></a>(self, glyphOrder)</dt></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="TTLibError">class <strong>TTLibError</strong></a>(<a href="exceptions.html#Exception">exceptions.Exception</a>)</font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
<dl><dt><a name="TTLibError-__getitem__"><strong>__getitem__</strong></a>(...)</dt></dl>
<dl><dt><a name="TTLibError-__init__"><strong>__init__</strong></a>(...)</dt></dl>
<dl><dt><a name="TTLibError-__str__"><strong>__str__</strong></a>(...)</dt></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-debugmsg"><strong>debugmsg</strong></a>(msg)</dt></dl>
<dl><dt><a name="-getTableClass"><strong>getTableClass</strong></a>(tag)</dt><dd><tt>Fetch&nbsp;the&nbsp;packer/unpacker&nbsp;class&nbsp;for&nbsp;a&nbsp;table.&nbsp;<br>
Return&nbsp;None&nbsp;when&nbsp;no&nbsp;class&nbsp;is&nbsp;found.</tt></dd></dl>
<dl><dt><a name="-getTableModule"><strong>getTableModule</strong></a>(tag)</dt><dd><tt>Fetch&nbsp;the&nbsp;packer/unpacker&nbsp;module&nbsp;for&nbsp;a&nbsp;table.&nbsp;<br>
Return&nbsp;None&nbsp;when&nbsp;no&nbsp;module&nbsp;is&nbsp;found.</tt></dd></dl>
<dl><dt><a name="-identifierToTag"><strong>identifierToTag</strong></a>(ident)</dt><dd><tt>the&nbsp;opposite&nbsp;of&nbsp;<a href="#-tagToIdentifier">tagToIdentifier</a>()</tt></dd></dl>
<dl><dt><a name="-newTable"><strong>newTable</strong></a>(tag)</dt><dd><tt>Return&nbsp;a&nbsp;new&nbsp;instance&nbsp;of&nbsp;a&nbsp;table.</tt></dd></dl>
<dl><dt><a name="-reorderFontTables"><strong>reorderFontTables</strong></a>(inFile, outFile, tableOrder<font color="#909090">=None</font>, checkChecksums<font color="#909090">=0</font>)</dt><dd><tt>Rewrite&nbsp;a&nbsp;font&nbsp;file,&nbsp;ordering&nbsp;the&nbsp;tables&nbsp;as&nbsp;recommended&nbsp;by&nbsp;the<br>
OpenType&nbsp;specification&nbsp;1.4.</tt></dd></dl>
<dl><dt><a name="-sortedTagList"><strong>sortedTagList</strong></a>(tagList, tableOrder<font color="#909090">=None</font>)</dt><dd><tt>Return&nbsp;a&nbsp;sorted&nbsp;copy&nbsp;of&nbsp;tagList,&nbsp;sorted&nbsp;according&nbsp;to&nbsp;the&nbsp;OpenType<br>
specification,&nbsp;or&nbsp;according&nbsp;to&nbsp;a&nbsp;custom&nbsp;tableOrder.&nbsp;If&nbsp;given&nbsp;and&nbsp;not<br>
None,&nbsp;tableOrder&nbsp;needs&nbsp;to&nbsp;be&nbsp;a&nbsp;list&nbsp;of&nbsp;tag&nbsp;names.</tt></dd></dl>
<dl><dt><a name="-tagToIdentifier"><strong>tagToIdentifier</strong></a>(tag)</dt><dd><tt>Convert&nbsp;a&nbsp;table&nbsp;tag&nbsp;to&nbsp;a&nbsp;valid&nbsp;(but&nbsp;UGLY)&nbsp;python&nbsp;identifier,&nbsp;<br>
as&nbsp;well&nbsp;as&nbsp;a&nbsp;filename&nbsp;that's&nbsp;guaranteed&nbsp;to&nbsp;be&nbsp;unique&nbsp;even&nbsp;on&nbsp;a&nbsp;<br>
caseless&nbsp;file&nbsp;system.&nbsp;Each&nbsp;character&nbsp;is&nbsp;mapped&nbsp;to&nbsp;two&nbsp;characters.<br>
Lowercase&nbsp;letters&nbsp;get&nbsp;an&nbsp;underscore&nbsp;before&nbsp;the&nbsp;letter,&nbsp;uppercase<br>
letters&nbsp;get&nbsp;an&nbsp;underscore&nbsp;after&nbsp;the&nbsp;letter.&nbsp;Trailing&nbsp;spaces&nbsp;are<br>
trimmed.&nbsp;Illegal&nbsp;characters&nbsp;are&nbsp;escaped&nbsp;as&nbsp;two&nbsp;hex&nbsp;bytes.&nbsp;If&nbsp;the<br>
result&nbsp;starts&nbsp;with&nbsp;a&nbsp;number&nbsp;(as&nbsp;the&nbsp;result&nbsp;of&nbsp;a&nbsp;hex&nbsp;escape),&nbsp;an<br>
extra&nbsp;underscore&nbsp;is&nbsp;prepended.&nbsp;Examples:&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'glyf'&nbsp;-&gt;&nbsp;'_g_l_y_f'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'cvt&nbsp;'&nbsp;-&gt;&nbsp;'_c_v_t'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'OS/2'&nbsp;-&gt;&nbsp;'O_S_2f_2'</tt></dd></dl>
<dl><dt><a name="-tagToXML"><strong>tagToXML</strong></a>(tag)</dt><dd><tt>Similarly&nbsp;to&nbsp;<a href="#-tagToIdentifier">tagToIdentifier</a>(),&nbsp;this&nbsp;converts&nbsp;a&nbsp;TT&nbsp;tag<br>
to&nbsp;a&nbsp;valid&nbsp;XML&nbsp;element&nbsp;name.&nbsp;Since&nbsp;XML&nbsp;element&nbsp;names&nbsp;are<br>
case&nbsp;sensitive,&nbsp;this&nbsp;is&nbsp;a&nbsp;fairly&nbsp;simple/readable&nbsp;translation.</tt></dd></dl>
<dl><dt><a name="-xmlToTag"><strong>xmlToTag</strong></a>(tag)</dt><dd><tt>The&nbsp;opposite&nbsp;of&nbsp;<a href="#-tagToXML">tagToXML</a>()</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>OTFTableOrder</strong> = ['head', 'hhea', 'maxp', 'OS/2', 'name', 'cmap', 'post', 'CFF ']<br>
<strong>TTFTableOrder</strong> = ['head', 'hhea', 'maxp', 'OS/2', 'hmtx', 'LTSH', 'VDMX', 'hdmx', 'cmap', 'fpgm', 'prep', 'cvt ', 'loca', 'glyf', 'kern', 'name', 'post', 'gasp', 'PCLT']<br>
<strong>endian</strong> = 'big'<br>
<strong>haveMacSupport</strong> = 1</td></tr></table>
</body></html>