fonttools/Documentation/robofabDocs/robofab.tools.accentBuilder.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

107 lines
8.7 KiB
HTML

<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module robofab.tools.accentBuilder</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="robofab.html"><font color="#ffffff">robofab</font></a>.<a href="robofab.tools.html"><font color="#ffffff">tools</font></a>.accentBuilder</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/projects/robofab/Lib/robofab/tools/accentBuilder.py">/code/projects/robofab/Lib/robofab/tools/accentBuilder.py</a></font></td></tr></table>
<p><tt>A&nbsp;simple&nbsp;set&nbsp;of&nbsp;tools&nbsp;for&nbsp;building&nbsp;accented&nbsp;glyphs.<br>
#&nbsp;Hey&nbsp;look!&nbsp;A&nbsp;demonstration:<br>
from&nbsp;robofab.accentBuilder&nbsp;import&nbsp;<a href="#AccentTools">AccentTools</a>,&nbsp;buildRelatedAccentList<br>
font&nbsp;=&nbsp;CurrentFont<br>
#&nbsp;a&nbsp;list&nbsp;of&nbsp;accented&nbsp;glyphs&nbsp;that&nbsp;you&nbsp;want&nbsp;to&nbsp;build<br>
myList=['Aacute',&nbsp;'aacute']<br>
#&nbsp;search&nbsp;for&nbsp;glyphs&nbsp;related&nbsp;to&nbsp;glyphs&nbsp;in&nbsp;myList&nbsp;and&nbsp;add&nbsp;them&nbsp;to&nbsp;myList<br>
myList=<a href="#-buildRelatedAccentList">buildRelatedAccentList</a>(font,&nbsp;myList)+myList<br>
#&nbsp;start&nbsp;the&nbsp;class<br>
at=<a href="#AccentTools">AccentTools</a>(font,&nbsp;myList)<br>
#&nbsp;clear&nbsp;away&nbsp;any&nbsp;anchors&nbsp;that&nbsp;exist&nbsp;(this&nbsp;is&nbsp;optional)<br>
at.clearAnchors()<br>
#&nbsp;add&nbsp;necessary&nbsp;anchors&nbsp;if&nbsp;you&nbsp;want&nbsp;to<br>
at.buildAnchors(ucXOffset=20,&nbsp;ucYOffset=40,&nbsp;lcXOffset=15,&nbsp;lcYOffset=30)<br>
#&nbsp;print&nbsp;a&nbsp;report&nbsp;of&nbsp;any&nbsp;errors&nbsp;that&nbsp;occured<br>
at.printAnchorErrors()<br>
#&nbsp;build&nbsp;the&nbsp;accented&nbsp;glyphs&nbsp;if&nbsp;you&nbsp;want&nbsp;to<br>
at.buildAccents()<br>
#&nbsp;print&nbsp;a&nbsp;report&nbsp;of&nbsp;any&nbsp;errors&nbsp;that&nbsp;occured<br>
at.printAccentErrors()</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="#fffff" face="helvetica, arial"><big><strong>Modules</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="robofab.html">robofab</a><br>
</td><td width="25%" valign=top></td><td width="25%" valign=top></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="robofab.tools.accentBuilder.html#AccentTools">AccentTools</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="AccentTools">class <strong>AccentTools</strong></a></font></td></tr>
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="AccentTools-__init__"><strong>__init__</strong></a>(self, font, accentList)</dt><dd><tt>several&nbsp;tools&nbsp;for&nbsp;working&nbsp;with&nbsp;anchors&nbsp;and&nbsp;building&nbsp;accents</tt></dd></dl>
<dl><dt><a name="AccentTools-buildAccents"><strong>buildAccents</strong></a>(self, clear<font color="#909090">=True</font>, adjustWidths<font color="#909090">=True</font>, markGlyph<font color="#909090">=True</font>, doProgress<font color="#909090">=True</font>)</dt><dd><tt>build&nbsp;accented&nbsp;glyphs.&nbsp;some&nbsp;flag&nbsp;definitions:<br>
clear=1&nbsp;clear&nbsp;the&nbsp;glyphs&nbsp;if&nbsp;they&nbsp;already&nbsp;exist<br>
markGlyph=1&nbsp;mark&nbsp;the&nbsp;glyph&nbsp;that&nbsp;is&nbsp;created<br>
doProgress=1&nbsp;show&nbsp;a&nbsp;progress&nbsp;bar<br>
adjustWidths=1&nbsp;will&nbsp;fix&nbsp;right&nbsp;and&nbsp;left&nbsp;margins&nbsp;when&nbsp;left&nbsp;or&nbsp;right&nbsp;accents&nbsp;are&nbsp;added</tt></dd></dl>
<dl><dt><a name="AccentTools-buildAnchors"><strong>buildAnchors</strong></a>(self, ucXOffset<font color="#909090">=0</font>, ucYOffset<font color="#909090">=0</font>, lcXOffset<font color="#909090">=0</font>, lcYOffset<font color="#909090">=0</font>, markGlyph<font color="#909090">=True</font>, doProgress<font color="#909090">=True</font>)</dt><dd><tt>add&nbsp;the&nbsp;necessary&nbsp;anchors&nbsp;to&nbsp;the&nbsp;glyphs&nbsp;if&nbsp;they&nbsp;don't&nbsp;exist<br>
some&nbsp;flag&nbsp;definitions:<br>
uc/lc/X/YOffset=20&nbsp;offset&nbsp;values&nbsp;for&nbsp;the&nbsp;anchors<br>
markGlyph=1&nbsp;mark&nbsp;the&nbsp;glyph&nbsp;that&nbsp;is&nbsp;created<br>
doProgress=1&nbsp;show&nbsp;a&nbsp;progress&nbsp;bar</tt></dd></dl>
<dl><dt><a name="AccentTools-clearAnchors"><strong>clearAnchors</strong></a>(self, doProgress<font color="#909090">=True</font>)</dt><dd><tt>clear&nbsp;all&nbsp;anchors&nbsp;in&nbsp;the&nbsp;font</tt></dd></dl>
<dl><dt><a name="AccentTools-printAccentErrors"><strong>printAccentErrors</strong></a>(self)</dt><dd><tt>print&nbsp;errors&nbsp;encounted&nbsp;during&nbsp;buildAccents</tt></dd></dl>
<dl><dt><a name="AccentTools-printAnchorErrors"><strong>printAnchorErrors</strong></a>(self)</dt><dd><tt>print&nbsp;errors&nbsp;encounted&nbsp;during&nbsp;buildAnchors</tt></dd></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="-buildRelatedAccentList"><strong>buildRelatedAccentList</strong></a>(font, list)</dt><dd><tt>build&nbsp;a&nbsp;list&nbsp;of&nbsp;related&nbsp;glyphs&nbsp;suitable&nbsp;for&nbsp;use&nbsp;with&nbsp;<a href="#AccentTools">AccentTools</a></tt></dd></dl>
<dl><dt><a name="-findRelatedGlyphs"><strong>findRelatedGlyphs</strong></a>(font, searchItem, doAccents<font color="#909090">=True</font>)</dt><dd><tt>Gather&nbsp;up&nbsp;a&nbsp;bunch&nbsp;of&nbsp;related&nbsp;glyph&nbsp;names.&nbsp;Send&nbsp;it&nbsp;either&nbsp;a<br>
single&nbsp;glyph&nbsp;name&nbsp;'a',&nbsp;or&nbsp;a&nbsp;list&nbsp;of&nbsp;glyph&nbsp;names&nbsp;['a',&nbsp;'x']&nbsp;and&nbsp;it<br>
returns&nbsp;a&nbsp;dict&nbsp;like:&nbsp;{'a':&nbsp;['atilde',&nbsp;'a.alt',&nbsp;'a.swash']}.&nbsp;if&nbsp;doAccents<br>
is&nbsp;False&nbsp;it&nbsp;will&nbsp;skip&nbsp;accented&nbsp;glyph&nbsp;names.<br>
This&nbsp;is&nbsp;a&nbsp;relatively&nbsp;slow&nbsp;operation!</tt></dd></dl>
<dl><dt><a name="-makeAccentName"><strong>makeAccentName</strong></a>(baseName, accentNames)</dt><dd><tt>make&nbsp;an&nbsp;accented&nbsp;glyph&nbsp;name</tt></dd></dl>
<dl><dt><a name="-nameBuster"><strong>nameBuster</strong></a>(glyphName, glyphConstruct)</dt></dl>
<dl><dt><a name="-stripSuffix"><strong>stripSuffix</strong></a>(glyphName)</dt><dd><tt>strip&nbsp;away&nbsp;unnecessary&nbsp;suffixes&nbsp;from&nbsp;a&nbsp;glyph&nbsp;name</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>accentColor</strong> = 75<br>
<strong>accents</strong> = ['acute', 'acutecomb', 'breve', 'caron', 'cedilla', 'circumflex', 'commaaccent', 'dblgrave', 'dieresis', 'dieresisacute', 'dieresisacute', 'dieresisgrave', 'dieresisgrave', 'dotaccent', 'grave', 'dblgrave', 'gravecomb', 'hungarumlaut', 'macron', 'ogonek', ...]<br>
<strong>anchorColor</strong> = 125<br>
<strong>inFontLab</strong> = False<br>
<strong>lowercase_plain</strong> = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', ...]<br>
<strong>uppercase_plain</strong> = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', ...]</td></tr></table>
</body></html>