aboutsummaryrefslogtreecommitdiff
path: root/freetype/docs/reference/ft2-outline_processing.html
diff options
context:
space:
mode:
Diffstat (limited to 'freetype/docs/reference/ft2-outline_processing.html')
-rw-r--r--freetype/docs/reference/ft2-outline_processing.html76
1 files changed, 40 insertions, 36 deletions
diff --git a/freetype/docs/reference/ft2-outline_processing.html b/freetype/docs/reference/ft2-outline_processing.html
index 966570056..0c5fc09a6 100644
--- a/freetype/docs/reference/ft2-outline_processing.html
+++ b/freetype/docs/reference/ft2-outline_processing.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.5.0 API Reference</title>
+<title>FreeType-2.5.3 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -35,7 +35,7 @@
<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
<td width="100%"></td>
<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
-<center><h1>FreeType-2.5.0 API Reference</h1></center>
+<center><h1>FreeType-2.5.3 API Reference</h1></center>
<center><h1>
Outline Processing
@@ -62,7 +62,7 @@ Outline Processing
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline">FT_Outline</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_IMAGE_H (freetype/ftimage.h).
+Defined in FT_IMAGE_H (ftimage.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -127,7 +127,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_OUTLINE_FLAGS">FT_OUTLINE_FLAGS</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_IMAGE_H (freetype/ftimage.h).
+Defined in FT_IMAGE_H (ftimage.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -198,7 +198,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_New">FT_Outline_New</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -256,7 +256,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Done">FT_Outline_Done</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -300,7 +300,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Copy">FT_Outline_Copy</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -340,7 +340,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Translate">FT_Outline_Translate</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -381,7 +381,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Transform">FT_Outline_Transform</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -421,7 +421,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Embolden">FT_Outline_Embolden</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -462,6 +462,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
if ( face-&gt;slot-&gt;format == FT_GLYPH_FORMAT_OUTLINE )
FT_Outline_Embolden( &amp;face-&gt;slot-&gt;outline, strength );
</pre>
+<p>To get meaningful results, font scaling values must be set with functions like <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> before calling FT_Render_Glyph.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -472,7 +473,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_EmboldenXY">FT_Outline_EmboldenXY</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -494,7 +495,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Reverse">FT_Outline_Reverse</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -526,7 +527,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Check">FT_Outline_Check</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -557,7 +558,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_BBOX_H (freetype/ftbbox.h).
+Defined in FT_BBOX_H (ftbbox.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -567,7 +568,7 @@ Defined in FT_BBOX_H (freetype/ftbbox.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Compute the exact bounding box of an outline. This is slower than computing the control box. However, it uses an advanced algorithm which returns <i>very</i> quickly when the two boxes coincide. Otherwise, the outline Bézier arcs are traversed to extract their extrema.</p>
+<p>Compute the exact bounding box of an outline. This is slower than computing the control box. However, it uses an advanced algorithm that returns <i>very</i> quickly when the two boxes coincide. Otherwise, the outline Bézier arcs are traversed to extract their extrema.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -589,7 +590,7 @@ Defined in FT_BBOX_H (freetype/ftbbox.h).
<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>If the font is tricky and the glyph has been loaded with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>, the resulting BBox is meaningless. To get reasonable values for the BBox it is necessary to load the glyph at a large ppem value (so that the hinting instructions can properly shift and scale the subglyphs), then extracting the BBox which can be eventually converted back to font units.</p>
+<p>If the font is tricky and the glyph has been loaded with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>, the resulting BBox is meaningless. To get reasonable values for the BBox it is necessary to load the glyph at a large ppem value (so that the hinting instructions can properly shift and scale the subglyphs), then extracting the BBox, which can be eventually converted back to font units.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -600,7 +601,7 @@ Defined in FT_BBOX_H (freetype/ftbbox.h).
<table align=center width="75%"><tr><td>
<h4><a name="ft_outline_flags">ft_outline_flags</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_IMAGE_H (freetype/ftimage.h).
+Defined in FT_IMAGE_H (ftimage.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -655,7 +656,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_IMAGE_H (freetype/ftimage.h).
+Defined in FT_IMAGE_H (ftimage.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -677,7 +678,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<p>A pointer to the target point of the &lsquo;move to&rsquo;.</p>
</td></tr>
<tr valign=top><td><b>user</b></td><td>
-<p>A typeless pointer which is passed from the caller of the decomposition function.</p>
+<p>A typeless pointer, which is passed from the caller of the decomposition function.</p>
</td></tr>
</table>
</td></tr></table>
@@ -693,7 +694,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_IMAGE_H (freetype/ftimage.h).
+Defined in FT_IMAGE_H (ftimage.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -715,7 +716,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<p>A pointer to the target point of the &lsquo;line to&rsquo;.</p>
</td></tr>
<tr valign=top><td><b>user</b></td><td>
-<p>A typeless pointer which is passed from the caller of the decomposition function.</p>
+<p>A typeless pointer, which is passed from the caller of the decomposition function.</p>
</td></tr>
</table>
</td></tr></table>
@@ -731,7 +732,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_IMAGE_H (freetype/ftimage.h).
+Defined in FT_IMAGE_H (ftimage.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -757,7 +758,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<p>A pointer to the target end point of the conic arc.</p>
</td></tr>
<tr valign=top><td><b>user</b></td><td>
-<p>A typeless pointer which is passed from the caller of the decomposition function.</p>
+<p>A typeless pointer, which is passed from the caller of the decomposition function.</p>
</td></tr>
</table>
</td></tr></table>
@@ -773,7 +774,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_IMAGE_H (freetype/ftimage.h).
+Defined in FT_IMAGE_H (ftimage.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -803,7 +804,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<p>A pointer to the target end point.</p>
</td></tr>
<tr valign=top><td><b>user</b></td><td>
-<p>A typeless pointer which is passed from the caller of the decomposition function.</p>
+<p>A typeless pointer, which is passed from the caller of the decomposition function.</p>
</td></tr>
</table>
</td></tr></table>
@@ -819,7 +820,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Funcs">FT_Outline_Funcs</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_IMAGE_H (freetype/ftimage.h).
+Defined in FT_IMAGE_H (ftimage.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -879,7 +880,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Decompose">FT_Outline_Decompose</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -907,13 +908,16 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>user</b></td><td>
-<p>A typeless pointer which is passed to each emitter during the decomposition. It can be used to store the state during the decomposition.</p>
+<p>A typeless pointer that is passed to each emitter during the decomposition. It can be used to store the state during the decomposition.</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
+<p>A contour that contains a single point only is represented by a &lsquo;move to&rsquo; operation followed by &lsquo;line to&rsquo; to the same point. In most cases, it is best to filter this out before using the outline for stroking purposes (otherwise it would result in a visible dot when round caps are used).</p>
+</td></tr></table>
</td></tr></table>
<hr width="75%">
<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
@@ -923,7 +927,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -933,8 +937,8 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Return an outline's &lsquo;control box&rsquo;. The control box encloses all the outline's points, including Bézier control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some situations (like when rotating an outline which contains Bézier outside arcs).</p>
-<p>Computing the control box is very fast, while getting the bounding box can take much more time as it needs to walk over all segments and arcs in the outline. To get the latter, you can use the &lsquo;ftbbox&rsquo; component which is dedicated to this single task.</p>
+<p>Return an outline's &lsquo;control box&rsquo;. The control box encloses all the outline's points, including Bézier control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some situations (like when rotating an outline that contains Bézier outside arcs).</p>
+<p>Computing the control box is very fast, while getting the bounding box can take much more time as it needs to walk over all segments and arcs in the outline. To get the latter, you can use the &lsquo;ftbbox&rsquo; component, which is dedicated to this single task.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -964,7 +968,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -1013,7 +1017,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Render">FT_Outline_Render</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -1062,7 +1066,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Orientation">FT_Orientation</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -1114,7 +1118,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_OUTLINE_H (freetype/ftoutln.h).
+Defined in FT_OUTLINE_H (ftoutln.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
@@ -1123,7 +1127,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>This function analyzes a glyph outline and tries to compute its fill orientation (see <a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a>). This is done by computing the direction of each global horizontal and/or vertical extrema within the outline.</p>
+<p>This function analyzes a glyph outline and tries to compute its fill orientation (see <a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a>). This is done by integrating the total area covered by the outline. The positive integral corresponds to the clockwise orientation and <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a> is returned. The negative integral corresponds to the counter-clockwise orientation and <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a> is returned.</p>
<p>Note that this will return <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a> for empty outlines.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>