265 lines
12 KiB
HTML
265 lines
12 KiB
HTML
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>RoboFab Objects: Anchor</title>
|
|||
|
<link href="../default.css" type="text/css" rel="stylesheet" />
|
|||
|
</head><body>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script type="text/javascript" src="http://www.google-analytics.com/urchin.js"></script>
|
|||
|
<script type="text/javascript">
|
|||
|
_uacct = "UA-2044310-2";
|
|||
|
urchinTracker();
|
|||
|
</script>
|
|||
|
|
|||
|
<div id="modellogo">
|
|||
|
<img src="../img/drawmodel_header.jpg" width="595" height="112" />
|
|||
|
</div>
|
|||
|
<div class="leftcontent">
|
|||
|
<h1 class="crb-seealso">
|
|||
|
RoboFab
|
|||
|
</h1>
|
|||
|
<p class="menu">
|
|||
|
<a href="../index.html">
|
|||
|
Home
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="../download/index.html">
|
|||
|
Download v1.1.1
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="../intro.html">
|
|||
|
Intro
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="../install.html">
|
|||
|
Install Notes
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="../history.html">
|
|||
|
History
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="../executive.html">
|
|||
|
Summary
|
|||
|
</a>
|
|||
|
</p>
|
|||
|
|
|||
|
<p class="menu">
|
|||
|
<a href="../howto/index.html">
|
|||
|
How to's
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="../talks/index.html">
|
|||
|
Step by step
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="../tools/dialogs.html">
|
|||
|
Fab Dialogs
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="index.html">
|
|||
|
Object reference
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="model.html">
|
|||
|
Object map
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="../tools/index.html">
|
|||
|
Tools
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="../ufo/index.html">
|
|||
|
UFO Overview
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="../ufo/specification.html">
|
|||
|
UFO Spec
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="../limitations.html">
|
|||
|
Fab Limitations
|
|||
|
</a>
|
|||
|
|
|||
|
<a href="../links/index.html">
|
|||
|
Links
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="../credits.html">
|
|||
|
Credits
|
|||
|
</a>
|
|||
|
</p>
|
|||
|
|
|||
|
<h1 class="crb-seealso">
|
|||
|
Support RoboFab
|
|||
|
</h1>
|
|||
|
|
|||
|
|
|||
|
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
|
|||
|
<input type="hidden" name="cmd" value="_s-xclick">
|
|||
|
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
|
|||
|
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
|
|||
|
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----
|
|||
|
">
|
|||
|
</form>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<h2 class="crb-seealso">
|
|||
|
Up
|
|||
|
</h2>
|
|||
|
|
|||
|
<p class="menu">
|
|||
|
<p class="bonbon_uplink"><a href="index.html">Back to Objects</a></p>
|
|||
|
</p>
|
|||
|
|
|||
|
<h2 class="crb-seealso">
|
|||
|
See also
|
|||
|
</h2>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<p class="menu">
|
|||
|
<a href="../howto/understandcontours.html">Understanding Contours</a><br /><a href="../howto/usetransformations.html">Using transformations</a><br /><a href="../talks/robofab_session1.html">Font object, Info object</a><br /><a href="../talks/robofab_session2.html">Glyph object and Pen object</a><br /><a href="../talks/robofab_session3.html">Kerning object and glyph building</a><br /><a href="bpoint.html">bPoint</a><br /><a href="component.html">RComponent</a><br /><a href="contour.html">RContour</a><br /><a href="font.html">RFont</a><br /><a href="glyph.html">RGlyph</a><br /><a href="index.html">Objects</a><br /><a href="info.html">RInfo</a><br /><a href="kerning.html">RKerning</a><br /><a href="lib.html">RLib</a><br /><a href="pen.html">Pen objects</a><br /><a href="point.html">RPoint</a><br /><a href="segment.html">RSegment</a><br />
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="footer">
|
|||
|
<a href="../feedback.html">
|
|||
|
Feedback
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
<a href="../map.html">
|
|||
|
Sitemap
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
Please also refer to the
|
|||
|
<a href="../download/license.html">
|
|||
|
Legal
|
|||
|
</a>
|
|||
|
<br />
|
|||
|
Copyright 2003-2006 RoboFab
|
|||
|
<br />
|
|||
|
version 1.1.1
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="google">
|
|||
|
|
|||
|
|
|||
|
<h2>RoboFab Mailinglist</h2>
|
|||
|
<p>
|
|||
|
Join the RoboFab users community at Google groups.
|
|||
|
</p>
|
|||
|
|
|||
|
|
|||
|
<img src="http://groups.google.com/groups/img/3nb/groups_bar.gif" alt="Google Groups" height="26" width="132" />
|
|||
|
|
|||
|
<p>
|
|||
|
<form action="http://groups.google.com/group/robofab/boxsubscribe">
|
|||
|
Email: <input type="text" name="../email" />
|
|||
|
<input type="submit" name="../sub" value="Subscribe" />
|
|||
|
</form>
|
|||
|
</p>
|
|||
|
<p>
|
|||
|
<a href="http://groups.google.com/group/robofab">Visit this group</a>
|
|||
|
</p>
|
|||
|
|
|||
|
|
|||
|
<h2>RoboFab Sponsors</h2>
|
|||
|
|
|||
|
<script type="text/javascript">
|
|||
|
|
|||
|
|
|||
|
google_ad_client = "pub-3703953449723704";
|
|||
|
google_ad_width = 120;
|
|||
|
google_ad_height = 600;
|
|||
|
google_ad_format = "120x600_as";
|
|||
|
google_ad_type = "text_image";
|
|||
|
google_ad_channel ="";
|
|||
|
google_color_border = "336699";
|
|||
|
google_color_bg = "FFFFFF";
|
|||
|
google_color_link = "0000FF";
|
|||
|
google_color_url = "008000";
|
|||
|
google_color_text = "000000";
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</script>
|
|||
|
|
|||
|
|
|||
|
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div id="titlepic">
|
|||
|
<img src="../img/offdrawmodel_20.gif" alt="" border="0" />
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<div class="content">
|
|||
|
<h1>RoboFab Anchor</h1>
|
|||
|
|
|||
|
<h3>Usage</h3>
|
|||
|
|
|||
|
<div class="pythonsource"><pre># robofab manual<br># Anchor object<br># usage examples<br> <br><span class="py_key">f</span> = <span class="py_key">CurrentFont</span>()<br><span class="py_res">for</span> <span class="py_key">c</span> <span class="py_res">in</span> <span class="py_key">f</span>:<br> <span class="py_res">if</span> <span class="py_key">len</span>(<span class="py_key">c</span>.<span class="py_key">anchors</span>) > <span class="py_num">0</span>:<br> <span class="py_res">print</span> <span class="py_key">c</span>, <span class="py_key">c</span>.<span class="py_key">anchors</span></pre></div><div class="pythonsourcetitle"><a href="examples/usageAnchor.py" target="new">download examples/usageAnchor.py</a></div>
|
|||
|
|
|||
|
|
|||
|
<div class="pythonoutput"><pre>< <span class="py_key">RGlyph</span> <span class="py_res">for</span> <span class="py_key">RoboFab</span> <span class="py_key">Demo</span> <span class="py_key">Font</span>.<span class="py_key">A</span> ><br>[< <span class="py_key">RAnchor</span> <span class="py_res">for</span> <span class="py_key">RoboFab</span> <span class="py_key">Demo</span> <span class="py_key">Font</span>.<span class="py_key">A</span>.<span class="py_key">anchors</span>[<span class="py_num">0</span>] >]</pre></div>
|
|||
|
|
|||
|
|
|||
|
<h3>Description</h3>
|
|||
|
<p>
|
|||
|
|
|||
|
Anchors are single points in a glyph which are not part of a contour. Anchors have a name and a position, and they're used as connection points for <a href="component.html">Components</a>. In FontLab the anchors have a special appearance and can be edited. Anchors are stored in GLIF as single, named, moveto's. i.e. any single, named moveto in GLIF will become an anchor in FontLab. RoboFab's own font.generateGlyph() also uses the anchors to assemble the components.
|
|||
|
</p>
|
|||
|
|
|||
|
|
|||
|
<h3>Attributes</h3>
|
|||
|
<ul>
|
|||
|
<li><strong>index</strong>: the index of the anchor. (read only)</li>
|
|||
|
<li><strong>position</strong>: the position of the anchor (x, y)</li>
|
|||
|
<li><strong>x</strong>: the x position of the anchor.</li>
|
|||
|
<li><strong>y</strong>: the y position of the anchor.</li>
|
|||
|
<li><strong>name</strong>: the name of the anchor.</li>
|
|||
|
</ul>
|
|||
|
<h3>Attribute examples</h3>
|
|||
|
|
|||
|
<div class="pythonsource"><pre># robofab manual<br># Anchor object<br># attribute examples<br> <br><span class="py_key">c</span> = <span class="py_key">CurrentGlyph</span>()<br><span class="py_res">if</span> <span class="py_key">len</span>(<span class="py_key">c</span>.<span class="py_key">anchors</span>) > <span class="py_num">0</span>:<br> <span class="py_res">for</span> <span class="py_key">a</span> <span class="py_res">in</span> <span class="py_key">c</span>.<span class="py_key">anchors</span>:<br> <span class="py_res">print</span> <span class="py_key">a</span>.<span class="py_key">position</span><span class="py_com"> </span><span class="py_com"> </span><span class="py_com"> </span><span class="py_com"> </span></pre></div><div class="pythonsourcetitle"><a href="examples/anchorAttributes.py" target="new">download examples/anchorAttributes.py</a></div>
|
|||
|
|
|||
|
|
|||
|
<h3>Methods</h3>
|
|||
|
<p>
|
|||
|
<ul>
|
|||
|
<li><strong>copy()</strong>: return a deepcopy of the object.</li>
|
|||
|
<li><strong>move((x, y))</strong>: move the anchor of the bPoint to (x,y). The relative coordinates of the bcpIn and bcpOut will remain the same, which means that in fact, they move the same distance.</li>
|
|||
|
<li><strong>scale((x, y), center=(0, 0))</strong>: scale the anchor.</li> <li><strong>round()</strong>: round the coordinates to whole integers.</li>
|
|||
|
|
|||
|
<li><strong>draw(aPen)</strong>: draw the object with a RoboFab segment pen.</li>
|
|||
|
<li><strong>drawPoints(aPen)</strong>: draw the object with a point pen. See <a href="../howto/usepens.html">how to use pens.</a></li>
|
|||
|
|
|||
|
<li><strong>transform(matrix)</strong>: Transform this point. Use a
|
|||
|
Transform matrix
|
|||
|
object to mess with the point. <a href="../howto/usetransformations.html">See how to use transformations</a>.</li>
|
|||
|
</ul>
|
|||
|
</p>
|
|||
|
|
|||
|
|
|||
|
<h3>Method examples</h3>
|
|||
|
<div class="pythonsource"><pre># robofab manual<br># Font object<br># method examples<br> <br>#method examples<br></pre></div><div class="pythonsourcetitle"><a href="examples/anchorMethods.py" target="new">download examples/anchorMethods.py</a></div>
|
|||
|
|
|||
|
</div>
|
|||
|
</body></html>
|