272 lines
14 KiB
HTML
272 lines
14 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: RSegment</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="anchor.html">RAnchor</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 />
|
|
</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_34.gif" alt="" border="0" />
|
|
</div>
|
|
|
|
|
|
<div class="content">
|
|
<h1>RoboFab RSegment</h1>
|
|
|
|
|
|
<h3>Usage</h3>
|
|
<div class="pythonsource"><pre># robofab manual<br># Segment object<br># usage examples<br> <br><span class="py_key">f</span> = <span class="py_key">OpenFont</span>()<br> <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">for</span> <span class="py_key">contour</span> <span class="py_res">in</span> <span class="py_key">c</span>:<br> <span class="py_res">for</span> <span class="py_key">segment</span> <span class="py_res">in</span> <span class="py_key">contour</span>:<br> <span class="py_res">print</span> <span class="py_key">segment</span><br></pre></div><div class="pythonsourcetitle"><a href="examples/usageSegment.py" target="new">download examples/usageSegment.py</a></div>
|
|
|
|
<div class="pythonoutput"><pre>< <span class="py_key">RSegment</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">R</span>[<span class="py_num">0</span>][<span class="py_num">0</span>] ><br>< <span class="py_key">RSegment</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">R</span>[<span class="py_num">0</span>][<span class="py_num">1</span>] ><br>< <span class="py_key">RSegment</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">R</span>[<span class="py_num">0</span>][<span class="py_num">2</span>] ><br>< <span class="py_key">RSegment</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">R</span>[<span class="py_num">0</span>][<span class="py_num">3</span>] ><br>< <span class="py_key">RSegment</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">R</span>[<span class="py_num">0</span>][<span class="py_num">4</span>] ></pre></div>
|
|
|
|
<h3>Description</h3>
|
|
<p>
|
|
A Contour object is a list of segments. A segment is a list of points with some special attributes and methods. See the LettError wiki for a <a href="http://just.letterror.com/ltrwiki/SegmentsVersusPoints">comprehensive explanation of segments</a>.
|
|
</p>
|
|
|
|
<h3>Understanding Contours and outlines</h3>
|
|
<p>
|
|
The way outline data is organised in RoboFab, and how the various objects relate is described here: <a href="../howto/understandcontours.html">understanding contours</a>.
|
|
</p>
|
|
|
|
<h3>Attributes</h3>
|
|
<ul>
|
|
<li>
|
|
<strong>type</strong>: Type of segment
|
|
</li>
|
|
<li>
|
|
<strong>smooth</strong>: True if the segment is smooth, False if not.
|
|
</li>
|
|
<li>
|
|
<strong>selected</strong>: Returns True if the segment is selected, False if not.
|
|
</li>
|
|
<li>
|
|
<strong>points</strong>: List of points in the segment.
|
|
</li>
|
|
<li>
|
|
<strong>onCurve</strong>: Returns the oncurve point associated with the segment.
|
|
</li>
|
|
<li>
|
|
<strong>offCurve</strong>: Returns a list of offcurve points associated with the segment.
|
|
</li>
|
|
</ul>
|
|
<h3>Attribute examples</h3>
|
|
|
|
<div class="pythonsource"><pre># robofab manual<br># Segment object<br># attribute examples<br> <br><span class="py_key">f</span> = <span class="py_key">OpenFont</span>()<br> <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">for</span> <span class="py_key">contour</span> <span class="py_res">in</span> <span class="py_key">c</span>:<br> <span class="py_res">for</span> <span class="py_key">segment</span> <span class="py_res">in</span> <span class="py_key">contour</span>:<br> <span class="py_res">print</span> <span class="py_key">len</span>(<span class="py_key">segment</span>)<br> <span class="py_res">print</span> <span class="py_key">segment</span>.<span class="py_key">type</span><br> <span class="py_res">print</span> <span class="py_key">segment</span>.<span class="py_key">smooth</span><br> <span class="py_res">print</span> <span class="py_key">segment</span>.<span class="py_key">points</span><br> <span class="py_res">print</span> <span class="py_key">segment</span>.<span class="py_key">onCurve</span><br> <span class="py_res">print</span> <span class="py_key">segment</span>.<span class="py_key">offCurve</span><br> <span class="py_res">print</span> <span class="py_key">segment</span>.<span class="py_key">selected</span></pre></div><div class="pythonsourcetitle"><a href="examples/segmentAttributes.py" target="new">download examples/segmentAttributes.py</a></div>
|
|
|
|
<h3>Methods</h3>
|
|
<p>
|
|
</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>round()</strong>: round the coordinates to whole integers.</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>
|
|
<h3>Method examples</h3>
|
|
<div class="pythonsource"><pre># robofab manual<br># Segment object<br># method examples<br> <br><span class="py_key">f</span> = <span class="py_key">OpenFont</span>()<br> <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">for</span> <span class="py_key">contour</span> <span class="py_res">in</span> <span class="py_key">c</span>:<br> <span class="py_res">for</span> <span class="py_key">segment</span> <span class="py_res">in</span> <span class="py_key">contour</span>:<br> <span class="py_key">segment</span>.<span class="py_key">move</span>((<span class="py_num">50</span>, <span class="py_num">25</span>))</pre></div><div class="pythonsourcetitle"><a href="examples/segmentMethods.py" target="new">download examples/segmentMethods.py</a></div>
|
|
|
|
</div>
|
|
</body></html> |