diff options
Diffstat (limited to 'Build/source/libs/freetype2/freetype-2.4.5/docs/reference')
41 files changed, 19827 insertions, 0 deletions
diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/.gitignore b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/.gitignore new file mode 100644 index 00000000000..2d19fc766d9 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/README b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/README new file mode 100644 index 00000000000..51b04d6f151 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/README @@ -0,0 +1,5 @@ +After saying `make refdoc' this directory contains the FreeType API +reference. You need python to make this target. + +This also works with Jam: Just type `jam refdoc' in the main directory. + diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-base_interface.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-base_interface.html new file mode 100644 index 00000000000..37ed97e88c8 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-base_interface.html @@ -0,0 +1,3597 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Base Interface +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Library">FT_Library</a></td><td></td><td><a href="#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td></td><td><a href="#FT_Load_Char">FT_Load_Char</a></td></tr> +<tr><td></td><td><a href="#FT_Face">FT_Face</a></td><td></td><td><a href="#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td></td><td><a href="#FT_LOAD_XXX">FT_LOAD_XXX</a></td></tr> +<tr><td></td><td><a href="#FT_Size">FT_Size</a></td><td></td><td><a href="#FT_Size_Internal">FT_Size_Internal</a></td><td></td><td><a href="#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td></tr> +<tr><td></td><td><a href="#FT_GlyphSlot">FT_GlyphSlot</a></td><td></td><td><a href="#FT_Size_Metrics">FT_Size_Metrics</a></td><td></td><td><a href="#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td></tr> +<tr><td></td><td><a href="#FT_CharMap">FT_CharMap</a></td><td></td><td><a href="#FT_SizeRec">FT_SizeRec</a></td><td></td><td><a href="#FT_Set_Transform">FT_Set_Transform</a></td></tr> +<tr><td></td><td><a href="#FT_Encoding">FT_Encoding</a></td><td></td><td><a href="#FT_SubGlyph">FT_SubGlyph</a></td><td></td><td><a href="#FT_Render_Mode">FT_Render_Mode</a></td></tr> +<tr><td></td><td><a href="#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td></td><td><a href="#FT_Slot_Internal">FT_Slot_Internal</a></td><td></td><td><a href="#ft_render_mode_xxx">ft_render_mode_xxx</a></td></tr> +<tr><td></td><td><a href="#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td></td><td><a href="#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td></td><td><a href="#FT_Render_Glyph">FT_Render_Glyph</a></td></tr> +<tr><td></td><td><a href="#FT_Module">FT_Module</a></td><td></td><td><a href="#FT_Init_FreeType">FT_Init_FreeType</a></td><td></td><td><a href="#FT_Kerning_Mode">FT_Kerning_Mode</a></td></tr> +<tr><td></td><td><a href="#FT_Driver">FT_Driver</a></td><td></td><td><a href="#FT_Done_FreeType">FT_Done_FreeType</a></td><td></td><td><a href="#ft_kerning_default">ft_kerning_default</a></td></tr> +<tr><td></td><td><a href="#FT_Renderer">FT_Renderer</a></td><td></td><td><a href="#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td></td><td><a href="#ft_kerning_unfitted">ft_kerning_unfitted</a></td></tr> +<tr><td></td><td><a href="#FT_ENC_TAG">FT_ENC_TAG</a></td><td></td><td><a href="#FT_Parameter">FT_Parameter</a></td><td></td><td><a href="#ft_kerning_unscaled">ft_kerning_unscaled</a></td></tr> +<tr><td></td><td><a href="#ft_encoding_xxx">ft_encoding_xxx</a></td><td></td><td><a href="#FT_Open_Args">FT_Open_Args</a></td><td></td><td><a href="#FT_Get_Kerning">FT_Get_Kerning</a></td></tr> +<tr><td></td><td><a href="#FT_CharMapRec">FT_CharMapRec</a></td><td></td><td><a href="#FT_New_Face">FT_New_Face</a></td><td></td><td><a href="#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td></tr> +<tr><td></td><td><a href="#FT_Face_Internal">FT_Face_Internal</a></td><td></td><td><a href="#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td></td><td><a href="#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td></tr> +<tr><td></td><td><a href="#FT_FaceRec">FT_FaceRec</a></td><td></td><td><a href="#FT_Open_Face">FT_Open_Face</a></td><td></td><td><a href="#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td></tr> +<tr><td></td><td><a href="#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td></td><td><a href="#FT_Attach_File">FT_Attach_File</a></td><td></td><td><a href="#FT_Select_Charmap">FT_Select_Charmap</a></td></tr> +<tr><td></td><td><a href="#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td></td><td><a href="#FT_Attach_Stream">FT_Attach_Stream</a></td><td></td><td><a href="#FT_Set_Charmap">FT_Set_Charmap</a></td></tr> +<tr><td></td><td><a href="#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td></td><td><a href="#FT_Reference_Face">FT_Reference_Face</a></td><td></td><td><a href="#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td></tr> +<tr><td></td><td><a href="#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td></td><td><a href="#FT_Done_Face">FT_Done_Face</a></td><td></td><td><a href="#FT_Get_Char_Index">FT_Get_Char_Index</a></td></tr> +<tr><td></td><td><a href="#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td></td><td><a href="#FT_Select_Size">FT_Select_Size</a></td><td></td><td><a href="#FT_Get_First_Char">FT_Get_First_Char</a></td></tr> +<tr><td></td><td><a href="#FT_IS_SFNT">FT_IS_SFNT</a></td><td></td><td><a href="#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td></td><td><a href="#FT_Get_Next_Char">FT_Get_Next_Char</a></td></tr> +<tr><td></td><td><a href="#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td></td><td><a href="#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td></td><td><a href="#FT_Get_Name_Index">FT_Get_Name_Index</a></td></tr> +<tr><td></td><td><a href="#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td></td><td><a href="#FT_Size_Request">FT_Size_Request</a></td><td></td><td><a href="#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td></tr> +<tr><td></td><td><a href="#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td></td><td><a href="#FT_Request_Size">FT_Request_Size</a></td><td></td><td><a href="#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td></tr> +<tr><td></td><td><a href="#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td></td><td><a href="#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td></td><td><a href="#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td></tr> +<tr><td></td><td><a href="#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td></td><td><a href="#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td></td><td><a href="#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td></tr> +<tr><td></td><td><a href="#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td></td><td><a href="#FT_Load_Glyph">FT_Load_Glyph</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section describes the public high-level API of FreeType 2.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Library">FT_Library</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_LibraryRec_ *<b>FT_Library</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a FreeType library instance. Each ‘library’ is completely independent from the others; it is the ‘root’ of a set of objects like fonts, faces, sizes, etc.</p> +<p>It also embeds a memory manager (see <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a>), as well as a scan-line converter object (see <a href="ft2-raster.html#FT_Raster">FT_Raster</a>).</p> +<p>For multi-threading applications each thread should have its own FT_Library object.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Library objects are normally created by <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a>, and destroyed with <a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Face">FT_Face</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_FaceRec_* <b>FT_Face</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a given typographic face object. A face object models a given typeface, in a given style.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Each face object also owns a single <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> object, as well as one or more <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects.</p> +<p>Use <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> to create a new face object from a given filepathname or a custom input stream.</p> +<p>Use <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> to destroy it (along with its slot and sizes).</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td> +<p>See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the publicly accessible fields of a given face object.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Size">FT_Size</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SizeRec_* <b>FT_Size</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to an object used to model a face scaled to a given character size.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Each <a href="ft2-base_interface.html#FT_Face">FT_Face</a> has an <i>active</i> <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object that is used by functions like <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> to determine the scaling transformation which is used to load and hint glyphs and metrics.</p> +<p>You can use <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a>, <a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a>, <a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a> or even <a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a> to change the content (i.e., the scaling values) of the active <a href="ft2-base_interface.html#FT_Size">FT_Size</a>.</p> +<p>You can use <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a> to create additional size objects for a given <a href="ft2-base_interface.html#FT_Face">FT_Face</a>, but they won't be used by other functions until you activate it through <a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a>. Only one size can be activated at any given time per face.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td> +<p>See <a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a> for the publicly accessible fields of a given size object.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_GlyphSlot">FT_GlyphSlot</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphSlotRec_* <b>FT_GlyphSlot</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a given ‘glyph slot’. A slot is a container where it is possible to load any of the glyphs contained in its parent face.</p> +<p>In other words, each time you call <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>, the slot's content is erased by the new glyph data, i.e., the glyph's metrics, its image (bitmap or outline), and other control information.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td> +<p>See <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> for the publicly accessible glyph fields.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_CharMap">FT_CharMap</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_CharMapRec_* <b>FT_CharMap</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a given character map. A charmap is used to translate character codes in a given encoding into glyph indexes for its parent's face. Some font formats may provide several charmaps per font.</p> +<p>Each face object owns zero or more charmaps, but only one of them can be ‘active’ and used by <a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>.</p> +<p>The list of available charmaps in a face is available through the ‘face->num_charmaps’ and ‘face->charmaps’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p> +<p>The currently active charmap is available as ‘face->charmap’. You should call <a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a> to change it.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>When a new face is created (either through <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>), the library looks for a Unicode charmap within the list and automatically activates it.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td> +<p>See <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> for the publicly accessible fields of a given character map.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Encoding">FT_Encoding</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Encoding_ + { + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a>, 0, 0, 0, 0 ), + + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a>, 's', 'y', 'm', 'b' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a>, 'u', 'n', 'i', 'c' ), + + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a>, 's', 'j', 'i', 's' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a>, 'g', 'b', ' ', ' ' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a>, 'b', 'i', 'g', '5' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a>, 'w', 'a', 'n', 's' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a>, 'j', 'o', 'h', 'a' ), + + /* for backwards compatibility */ + <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SJIS</a> = <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a>, + <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_GB2312</a> = <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a>, + <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_BIG5</a> = <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a>, + <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_WANSUNG</a> = <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a>, + <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_JOHAB</a> = <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a>, + + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a>, 'A', 'D', 'O', 'B' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a>, 'A', 'D', 'B', 'E' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a>, 'A', 'D', 'B', 'C' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a>, 'l', 'a', 't', '1' ), + + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a>, 'l', 'a', 't', '2' ), + + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a>, 'a', 'r', 'm', 'n' ) + + } <b>FT_Encoding</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An enumeration used to specify character sets supported by charmaps. Used in the <a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a> API function.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Despite the name, this enumeration lists specific character repertories (i.e., charsets), and not text encoding methods (e.g., UTF-8, UTF-16, etc.).</p> +<p>Other encodings might be defined in the future.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_ENCODING_NONE</b></td><td> +<p>The encoding value 0 is reserved.</p> +</td></tr> +<tr valign=top><td><b>FT_ENCODING_UNICODE</b></td><td> +<p>Corresponds to the Unicode character set. This value covers all versions of the Unicode repertoire, including ASCII and Latin-1. Most fonts include a Unicode charmap, but not all of them.</p> +<p>For example, if you want to access Unicode value U+1F028 (and the font contains it), use value 0x1F028 as the input value for <a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a>.</p> +</td></tr> +<tr valign=top><td><b>FT_ENCODING_MS_SYMBOL</b></td><td> +<p>Corresponds to the Microsoft Symbol encoding, used to encode mathematical symbols in the 32..255 character code range. For more information, see ‘http://www.ceviz.net/symbol.htm’.</p> +</td></tr> +<tr valign=top><td><b>FT_ENCODING_SJIS</b></td><td> +<p>Corresponds to Japanese SJIS encoding. More info at at ‘http://langsupport.japanreference.com/encoding.shtml’. See note on multi-byte encodings below.</p> +</td></tr> +<tr valign=top><td><b>FT_ENCODING_GB2312</b></td><td> +<p>Corresponds to an encoding system for Simplified Chinese as used used in mainland China.</p> +</td></tr> +<tr valign=top><td><b>FT_ENCODING_BIG5</b></td><td> +<p>Corresponds to an encoding system for Traditional Chinese as used in Taiwan and Hong Kong.</p> +</td></tr> +<tr valign=top><td><b>FT_ENCODING_WANSUNG</b></td><td> +<p>Corresponds to the Korean encoding system known as Wansung. For more information see ‘http://www.microsoft.com/typography/unicode/949.txt’.</p> +</td></tr> +<tr valign=top><td><b>FT_ENCODING_JOHAB</b></td><td> +<p>The Korean standard character set (KS C 5601-1992), which corresponds to MS Windows code page 1361. This character set includes all possible Hangeul character combinations.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_LATIN_1</b></td></tr> +<tr valign=top><td></td><td> +<p>Corresponds to a Latin-1 encoding as defined in a Type 1 PostScript font. It is limited to 256 character codes.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_STANDARD</b></td></tr> +<tr valign=top><td></td><td> +<p>Corresponds to the Adobe Standard encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_EXPERT</b></td></tr> +<tr valign=top><td></td><td> +<p>Corresponds to the Adobe Expert encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_CUSTOM</b></td></tr> +<tr valign=top><td></td><td> +<p>Corresponds to a custom encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_ENCODING_APPLE_ROMAN</b></td></tr> +<tr valign=top><td></td><td> +<p>Corresponds to the 8-bit Apple roman encoding. Many TrueType and OpenType fonts contain a charmap for this encoding, since older versions of Mac OS are able to use it.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_ENCODING_OLD_LATIN_2</b></td></tr> +<tr valign=top><td></td><td> +<p>This value is deprecated and was never used nor reported by FreeType. Don't use or test for it.</p> +</td></tr> +<tr valign=top><td><b>FT_ENCODING_MS_SJIS</b></td><td> +<p>Same as FT_ENCODING_SJIS. Deprecated.</p> +</td></tr> +<tr valign=top><td><b>FT_ENCODING_MS_GB2312</b></td><td> +<p>Same as FT_ENCODING_GB2312. Deprecated.</p> +</td></tr> +<tr valign=top><td><b>FT_ENCODING_MS_BIG5</b></td><td> +<p>Same as FT_ENCODING_BIG5. Deprecated.</p> +</td></tr> +<tr valign=top><td><b>FT_ENCODING_MS_WANSUNG</b></td><td> +<p>Same as FT_ENCODING_WANSUNG. Deprecated.</p> +</td></tr> +<tr valign=top><td><b>FT_ENCODING_MS_JOHAB</b></td><td> +<p>Same as FT_ENCODING_JOHAB. Deprecated.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>By default, FreeType automatically synthesizes a Unicode charmap for PostScript fonts, using their glyph names dictionaries. However, it also reports the encodings defined explicitly in the font file, for the cases when they are needed, with the Adobe values as well.</p> +<p>FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap is neither Unicode nor ISO-8859-1 (otherwise it is set to FT_ENCODING_UNICODE). Use <a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a> to find out which encoding is really present. If, for example, the ‘cs_registry’ field is ‘KOI8’ and the ‘cs_encoding’ field is ‘R’, the font is encoded in KOI8-R.</p> +<p>FT_ENCODING_NONE is always set (with a single exception) by the winfonts driver. Use <a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a> and examine the ‘charset’ field of the <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a> structure to find out which encoding is really present. For example, <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a> (204) means Windows code page 1251 (for Russian).</p> +<p>FT_ENCODING_NONE is set if ‘platform_id’ is <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> and ‘encoding_id’ is not <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a> (otherwise it is set to FT_ENCODING_APPLE_ROMAN).</p> +<p>If ‘platform_id’ is <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a>, use the function <a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a> to query the Mac language ID which may be needed to be able to distinguish Apple encoding variants. See</p> +<p>http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT</p> +<p>to get an idea how to do that. Basically, if the language ID is 0, don't use it, otherwise subtract 1 from the language ID. Then examine ‘encoding_id’. If, for example, ‘encoding_id’ is <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a> and the language ID (minus 1) is ‘TT_MAC_LANGID_GREEK’, it is the Greek encoding, not Roman. <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a> with ‘TT_MAC_LANGID_FARSI’ means the Farsi variant the Arabic encoding.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Glyph_Metrics">FT_Glyph_Metrics</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Glyph_Metrics_ + { + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> width; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> height; + + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> horiBearingX; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> horiBearingY; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> horiAdvance; + + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> vertBearingX; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> vertBearingY; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> vertAdvance; + + } <b>FT_Glyph_Metrics</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model the metrics of a single glyph. The values are expressed in 26.6 fractional pixel format; if the flag <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> has been used while loading the glyph, values are expressed in font units instead.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>width</b></td><td> +<p>The glyph's width.</p> +</td></tr> +<tr valign=top><td><b>height</b></td><td> +<p>The glyph's height.</p> +</td></tr> +<tr valign=top><td><b>horiBearingX</b></td><td> +<p>Left side bearing for horizontal layout.</p> +</td></tr> +<tr valign=top><td><b>horiBearingY</b></td><td> +<p>Top side bearing for horizontal layout.</p> +</td></tr> +<tr valign=top><td><b>horiAdvance</b></td><td> +<p>Advance width for horizontal layout.</p> +</td></tr> +<tr valign=top><td><b>vertBearingX</b></td><td> +<p>Left side bearing for vertical layout.</p> +</td></tr> +<tr valign=top><td><b>vertBearingY</b></td><td> +<p>Top side bearing for vertical layout. Larger positive values mean further below the vertical glyph origin.</p> +</td></tr> +<tr valign=top><td><b>vertAdvance</b></td><td> +<p>Advance height for vertical layout. Positive values mean the glyph has a positive advance downward.</p> +</td></tr> +</table> +</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 not disabled with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a>, the values represent dimensions of the hinted glyph (in case hinting is applicable).</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Bitmap_Size">FT_Bitmap_Size</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Bitmap_Size_ + { + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> height; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> width; + + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> size; + + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> x_ppem; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> y_ppem; + + } <b>FT_Bitmap_Size</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This structure models the metrics of a bitmap strike (i.e., a set of glyphs for a given point size and resolution) in a bitmap font. It is used for the ‘available_sizes’ field of <a href="ft2-base_interface.html#FT_Face">FT_Face</a>.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>height</b></td><td> +<p>The vertical distance, in pixels, between two consecutive baselines. It is always positive.</p> +</td></tr> +<tr valign=top><td><b>width</b></td><td> +<p>The average width, in pixels, of all glyphs in the strike.</p> +</td></tr> +<tr valign=top><td><b>size</b></td><td> +<p>The nominal size of the strike in 26.6 fractional points. This field is not very useful.</p> +</td></tr> +<tr valign=top><td><b>x_ppem</b></td><td> +<p>The horizontal ppem (nominal width) in 26.6 fractional pixels.</p> +</td></tr> +<tr valign=top><td><b>y_ppem</b></td><td> +<p>The vertical ppem (nominal height) in 26.6 fractional pixels.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Windows FNT: The nominal size given in a FNT font is not reliable. Thus when the driver finds it incorrect, it sets ‘size’ to some calculated values and sets ‘x_ppem’ and ‘y_ppem’ to the pixel width and height given in the font, respectively.</p> +<p>TrueType embedded bitmaps: ‘size’, ‘width’, and ‘height’ values are not contained in the bitmap strike itself. They are computed from the global font parameters.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Module">FT_Module</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ModuleRec_* <b>FT_Module</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a given FreeType module object. Each module can be a font driver, a renderer, or anything else that provides services to the formers.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Driver">FT_Driver</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_DriverRec_* <b>FT_Driver</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a given FreeType font driver object. Each font driver is a special module capable of creating faces from font files.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Renderer">FT_Renderer</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_RendererRec_* <b>FT_Renderer</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a given FreeType renderer. A renderer is a special module in charge of converting a glyph image to a bitmap, when necessary. Each renderer supports a given glyph image format, and one or more target surface depths.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_ENC_TAG">FT_ENC_TAG</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#ifndef <b>FT_ENC_TAG</b> +#define <b>FT_ENC_TAG</b>( value, a, b, c, d ) \ + value = ( ( (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(a) << 24 ) | \ + ( (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(b) << 16 ) | \ + ( (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(c) << 8 ) | \ + (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(d) ) + +#endif /* <b>FT_ENC_TAG</b> */ + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This macro converts four-letter tags into an unsigned long. It is used to define ‘encoding’ identifiers (see <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a>).</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:</p> +<pre class="colored"> + #define FT_ENC_TAG( value, a, b, c, d ) value +</pre> +<p>to get a simple enumeration without assigning special numbers.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="ft_encoding_xxx">ft_encoding_xxx</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define ft_encoding_none <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a> +#define ft_encoding_unicode <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a> +#define ft_encoding_symbol <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a> +#define ft_encoding_latin_1 <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a> +#define ft_encoding_latin_2 <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a> +#define ft_encoding_sjis <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a> +#define ft_encoding_gb2312 <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a> +#define ft_encoding_big5 <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a> +#define ft_encoding_wansung <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a> +#define ft_encoding_johab <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a> + +#define ft_encoding_adobe_standard <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a> +#define ft_encoding_adobe_expert <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a> +#define ft_encoding_adobe_custom <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a> +#define ft_encoding_apple_roman <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>These constants are deprecated; use the corresponding <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a> values instead.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_CharMapRec">FT_CharMapRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_CharMapRec_ + { + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face; + <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a> encoding; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> platform_id; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> encoding_id; + + } <b>FT_CharMapRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The base charmap structure.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the parent face object.</p> +</td></tr> +<tr valign=top><td><b>encoding</b></td><td> +<p>An <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a> tag identifying the charmap. Use this with <a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a>.</p> +</td></tr> +<tr valign=top><td><b>platform_id</b></td><td> +<p>An ID number describing the platform for the following encoding ID. This comes directly from the TrueType specification and should be emulated for other formats.</p> +</td></tr> +<tr valign=top><td><b>encoding_id</b></td><td> +<p>A platform specific encoding number. This also comes from the TrueType specification and should be emulated similarly.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Face_Internal">FT_Face_Internal</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Face_InternalRec_* <b>FT_Face_Internal</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An opaque handle to an ‘FT_Face_InternalRec’ structure, used to model private data of a given <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object.</p> +<p>This structure might change between releases of FreeType 2 and is not generally available to client applications.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_FaceRec">FT_FaceRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_FaceRec_ + { + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> num_faces; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index; + + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_flags; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> style_flags; + + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> num_glyphs; + + <a href="ft2-basic_types.html#FT_String">FT_String</a>* family_name; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* style_name; + + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_fixed_sizes; + <a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a>* available_sizes; + + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_charmaps; + <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a>* charmaps; + + <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> generic; + + /*# The following member variables (down to `underline_thickness') */ + /*# are only relevant to scalable outlines; cf. @<a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a> */ + /*# for bitmap fonts. */ + <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> bbox; + + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> units_per_EM; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ascender; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> descender; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> height; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> max_advance_width; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> max_advance_height; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> underline_position; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> underline_thickness; + + <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> glyph; + <a href="ft2-base_interface.html#FT_Size">FT_Size</a> size; + <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap; + + /*@private begin */ + + <a href="ft2-base_interface.html#FT_Driver">FT_Driver</a> driver; + <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory; + <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream; + + <a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a> sizes_list; + + <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> autohint; + <span class="keyword">void</span>* extensions; + + <a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a> internal; + + /*@private end */ + + } <b>FT_FaceRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>FreeType root face class structure. A face object models a typeface in a font file.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>num_faces</b></td><td> +<p>The number of faces in the font file. Some font formats can have multiple faces in a font file.</p> +</td></tr> +<tr valign=top><td><b>face_index</b></td><td> +<p>The index of the face in the font file. It is set to 0 if there is only one face in the font file.</p> +</td></tr> +<tr valign=top><td><b>face_flags</b></td><td> +<p>A set of bit flags that give important information about the face; see <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a> for the details.</p> +</td></tr> +<tr valign=top><td><b>style_flags</b></td><td> +<p>A set of bit flags indicating the style of the face; see <a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a> for the details.</p> +</td></tr> +<tr valign=top><td><b>num_glyphs</b></td><td> +<p>The number of glyphs in the face. If the face is scalable and has sbits (see ‘num_fixed_sizes’), it is set to the number of outline glyphs.</p> +<p>For CID-keyed fonts, this value gives the highest CID used in the font.</p> +</td></tr> +<tr valign=top><td><b>family_name</b></td><td> +<p>The face's family name. This is an ASCII string, usually in English, which describes the typeface's family (like ‘Times New Roman’, ‘Bodoni’, ‘Garamond’, etc). This is a least common denominator used to list fonts. Some formats (TrueType & OpenType) provide localized and Unicode versions of this string. Applications should use the format specific interface to access them. Can be NULL (e.g., in fonts embedded in a PDF file).</p> +</td></tr> +<tr valign=top><td><b>style_name</b></td><td> +<p>The face's style name. This is an ASCII string, usually in English, which describes the typeface's style (like ‘Italic’, ‘Bold’, ‘Condensed’, etc). Not all font formats provide a style name, so this field is optional, and can be set to NULL. As for ‘family_name’, some formats provide localized and Unicode versions of this string. Applications should use the format specific interface to access them.</p> +</td></tr> +<tr valign=top><td><b>num_fixed_sizes</b></td><td> +<p>The number of bitmap strikes in the face. Even if the face is scalable, there might still be bitmap strikes, which are called ‘sbits’ in that case.</p> +</td></tr> +<tr valign=top><td><b>available_sizes</b></td><td> +<p>An array of <a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a> for all bitmap strikes in the face. It is set to NULL if there is no bitmap strike.</p> +</td></tr> +<tr valign=top><td><b>num_charmaps</b></td><td> +<p>The number of charmaps in the face.</p> +</td></tr> +<tr valign=top><td><b>charmaps</b></td><td> +<p>An array of the charmaps of the face.</p> +</td></tr> +<tr valign=top><td><b>generic</b></td><td> +<p>A field reserved for client uses. See the <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> type description.</p> +</td></tr> +<tr valign=top><td><b>bbox</b></td><td> +<p>The font bounding box. Coordinates are expressed in font units (see ‘units_per_EM’). The box is large enough to contain any glyph from the font. Thus, ‘bbox.yMax’ can be seen as the ‘maximal ascender’, and ‘bbox.yMin’ as the ‘minimal descender’. Only relevant for scalable formats.</p> +<p>Note that the bounding box might be off by (at least) one pixel for hinted fonts. See <a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a> for further discussion.</p> +</td></tr> +<tr valign=top><td><b>units_per_EM</b></td><td> +<p>The number of font units per EM square for this face. This is typically 2048 for TrueType fonts, and 1000 for Type 1 fonts. Only relevant for scalable formats.</p> +</td></tr> +<tr valign=top><td><b>ascender</b></td><td> +<p>The typographic ascender of the face, expressed in font units. For font formats not having this information, it is set to ‘bbox.yMax’. Only relevant for scalable formats.</p> +</td></tr> +<tr valign=top><td><b>descender</b></td><td> +<p>The typographic descender of the face, expressed in font units. For font formats not having this information, it is set to ‘bbox.yMin’. Note that this field is usually negative. Only relevant for scalable formats.</p> +</td></tr> +<tr valign=top><td><b>height</b></td><td> +<p>The height is the vertical distance between two consecutive baselines, expressed in font units. It is always positive. Only relevant for scalable formats.</p> +</td></tr> +<tr valign=top><td><b>max_advance_width</b></td><td> +<p>The maximal advance width, in font units, for all glyphs in this face. This can be used to make word wrapping computations faster. Only relevant for scalable formats.</p> +</td></tr> +<tr valign=top><td><b>max_advance_height</b></td><td> +<p>The maximal advance height, in font units, for all glyphs in this face. This is only relevant for vertical layouts, and is set to ‘height’ for fonts that do not provide vertical metrics. Only relevant for scalable formats.</p> +</td></tr> +<tr valign=top><td><b>underline_position</b></td><td> +<p>The position, in font units, of the underline line for this face. It is the center of the underlining stem. Only relevant for scalable formats.</p> +</td></tr> +<tr valign=top><td><b>underline_thickness</b></td><td> +<p>The thickness, in font units, of the underline for this face. Only relevant for scalable formats.</p> +</td></tr> +<tr valign=top><td><b>glyph</b></td><td> +<p>The face's associated glyph slot(s).</p> +</td></tr> +<tr valign=top><td><b>size</b></td><td> +<p>The current active size for this face.</p> +</td></tr> +<tr valign=top><td><b>charmap</b></td><td> +<p>The current active charmap for this face.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Fields may be changed after a call to <a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a> or <a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a> ( 1L << 0 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a> ( 1L << 1 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a> ( 1L << 2 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a> ( 1L << 3 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a> ( 1L << 4 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a> ( 1L << 5 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a> ( 1L << 6 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FAST_GLYPHS</a> ( 1L << 7 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a> ( 1L << 8 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a> ( 1L << 9 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_EXTERNAL_STREAM</a> ( 1L << 10 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a> ( 1L << 11 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a> ( 1L << 12 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> ( 1L << 13 ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of bit flags used in the ‘face_flags’ field of the <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> structure. They inform client applications of properties of the corresponding face.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_FACE_FLAG_SCALABLE</b></td><td> +<p>Indicates that the face contains outline glyphs. This doesn't prevent bitmap strikes, i.e., a face can have both this and and <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a> set.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_FACE_FLAG_FIXED_SIZES</b></td></tr> +<tr valign=top><td></td><td> +<p>Indicates that the face contains bitmap strikes. See also the ‘num_fixed_sizes’ and ‘available_sizes’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_FACE_FLAG_FIXED_WIDTH</b></td></tr> +<tr valign=top><td></td><td> +<p>Indicates that the face contains fixed-width characters (like Courier, Lucido, MonoType, etc.).</p> +</td></tr> +<tr valign=top><td><b>FT_FACE_FLAG_SFNT</b></td><td> +<p>Indicates that the face uses the ‘sfnt’ storage scheme. For now, this means TrueType and OpenType.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_FACE_FLAG_HORIZONTAL</b></td></tr> +<tr valign=top><td></td><td> +<p>Indicates that the face contains horizontal glyph metrics. This should be set for all common formats.</p> +</td></tr> +<tr valign=top><td><b>FT_FACE_FLAG_VERTICAL</b></td><td> +<p>Indicates that the face contains vertical glyph metrics. This is only available in some formats, not all of them.</p> +</td></tr> +<tr valign=top><td><b>FT_FACE_FLAG_KERNING</b></td><td> +<p>Indicates that the face contains kerning information. If set, the kerning distance can be retrieved through the function <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a>. Otherwise the function always return the vector (0,0). Note that FreeType doesn't handle kerning data from the ‘GPOS’ table (as present in some OpenType fonts).</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_FACE_FLAG_FAST_GLYPHS</b></td></tr> +<tr valign=top><td></td><td> +<p>THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_FACE_FLAG_MULTIPLE_MASTERS</b></td></tr> +<tr valign=top><td></td><td> +<p>Indicates that the font contains multiple masters and is capable of interpolating between them. See the multiple-masters specific API for details.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_FACE_FLAG_GLYPH_NAMES</b></td></tr> +<tr valign=top><td></td><td> +<p>Indicates that the font contains glyph names that can be retrieved through <a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a>. Note that some TrueType fonts contain broken glyph name tables. Use the function <a href="ft2-type1_tables.html#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a> when needed.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_FACE_FLAG_EXTERNAL_STREAM</b></td></tr> +<tr valign=top><td></td><td> +<p>Used internally by FreeType to indicate that a face's stream was provided by the client application and should not be destroyed when <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> is called. Don't read or test this flag.</p> +</td></tr> +<tr valign=top><td><b>FT_FACE_FLAG_HINTER</b></td><td> +<p>Set if the font driver has a hinting machine of its own. For example, with TrueType fonts, it makes sense to use data from the SFNT ‘gasp’ table only if the native TrueType hinting engine (with the bytecode interpreter) is available and active.</p> +</td></tr> +<tr valign=top><td><b>FT_FACE_FLAG_CID_KEYED</b></td><td> +<p>Set if the font is CID-keyed. In that case, the font is not accessed by glyph indices but by CID values. For subsetted CID-keyed fonts this has the consequence that not all index values are a valid argument to FT_Load_Glyph. Only the CID values for which corresponding glyphs in the subsetted font exist make FT_Load_Glyph return successfully; in all other cases you get an ‘FT_Err_Invalid_Argument’ error.</p> +<p>Note that CID-keyed fonts which are in an SFNT wrapper don't have this flag set since the glyphs are accessed in the normal way (using contiguous indices); the ‘CID-ness’ isn't visible to the application.</p> +</td></tr> +<tr valign=top><td><b>FT_FACE_FLAG_TRICKY</b></td><td> +<p>Set if the font is ‘tricky’, this is, it always needs the font format's native hinting engine to get a reasonable result. A typical example is the Chinese font ‘mingli.ttf’ which uses TrueType bytecode instructions to move and scale all of its subglyphs.</p> +<p>It is not possible to autohint such fonts using <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>; it will also ignore <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a>. You have to set both <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a> and <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a> to really disable hinting; however, you probably never want this except for demonstration purposes.</p> +<p>Currently, there are six TrueType fonts in the list of tricky fonts; they are hard-coded in file ‘ttobjs.c’.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_HAS_HORIZONTAL</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro that returns true whenever a face object contains horizontal metrics (this is true for all font formats though).</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td> +<p><a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a> can be used to check for vertical metrics.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_HAS_VERTICAL</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro that returns true whenever a face object contains vertical metrics.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_HAS_KERNING">FT_HAS_KERNING</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_HAS_KERNING</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro that returns true whenever a face object contains kerning data that can be accessed with <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_IS_SCALABLE">FT_IS_SCALABLE</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_IS_SCALABLE</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro that returns true whenever a face object contains a scalable font face (true for TrueType, Type 1, Type 42, CID, OpenType/CFF, and PFR font formats.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_IS_SFNT">FT_IS_SFNT</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_IS_SFNT</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro that returns true whenever a face object contains a font whose format is based on the SFNT storage scheme. This usually means: TrueType fonts, OpenType fonts, as well as SFNT-based embedded bitmap fonts.</p> +<p>If this macro is true, all functions defined in <a href="ft2-header_file_macros.html#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a> and <a href="ft2-header_file_macros.html#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a> are available.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_IS_FIXED_WIDTH</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro that returns true whenever a face object contains a font face that contains fixed-width (or ‘monospace’, ‘fixed-pitch’, etc.) glyphs.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_HAS_FIXED_SIZES</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro that returns true whenever a face object contains some embedded bitmaps. See the ‘available_sizes’ field of the <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> structure.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_HAS_FAST_GLYPHS</b>( face ) 0 + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Deprecated.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_HAS_GLYPH_NAMES</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro that returns true whenever a face object contains some glyph names that can be accessed through <a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_HAS_MULTIPLE_MASTERS</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro that returns true whenever a face object contains some multiple masters. The functions provided by <a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a> are then available to choose the exact design you want.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_IS_CID_KEYED</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro that returns true whenever a face object contains a CID-keyed font. See the discussion of <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a> for more details.</p> +<p>If this macro is true, all functions defined in <a href="ft2-header_file_macros.html#FT_CID_H">FT_CID_H</a> are available.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_IS_TRICKY">FT_IS_TRICKY</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_IS_TRICKY</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro that returns true whenever a face represents a ‘tricky’ font. See the discussion of <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> for more details.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_ITALIC</a> ( 1 << 0 ) +#define <a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_BOLD</a> ( 1 << 1 ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of bit-flags used to indicate the style of a given face. These are used in the ‘style_flags’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_STYLE_FLAG_ITALIC</b></td><td> +<p>Indicates that a given face style is italic or oblique.</p> +</td></tr> +<tr valign=top><td><b>FT_STYLE_FLAG_BOLD</b></td><td> +<p>Indicates that a given face is bold.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The style information as provided by FreeType is very basic. More details are beyond the scope and should be done on a higher level (for example, by analyzing various fields of the ‘OS/2’ table in SFNT based fonts).</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Size_Internal">FT_Size_Internal</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_InternalRec_* <b>FT_Size_Internal</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An opaque handle to an ‘FT_Size_InternalRec’ structure, used to model private data of a given <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Size_Metrics">FT_Size_Metrics</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_Metrics_ + { + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> x_ppem; /* horizontal pixels per EM */ + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> y_ppem; /* vertical pixels per EM */ + + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> x_scale; /* scaling values used to convert font */ + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> y_scale; /* units to 26.6 fractional pixels */ + + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> ascender; /* ascender in 26.6 frac. pixels */ + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> descender; /* descender in 26.6 frac. pixels */ + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> height; /* text height in 26.6 frac. pixels */ + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> max_advance; /* max horizontal advance, in 26.6 pixels */ + + } <b>FT_Size_Metrics</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The size metrics structure gives the metrics of a size object.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>x_ppem</b></td><td> +<p>The width of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to as ‘nominal width’.</p> +</td></tr> +<tr valign=top><td><b>y_ppem</b></td><td> +<p>The height of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to as ‘nominal height’.</p> +</td></tr> +<tr valign=top><td><b>x_scale</b></td><td> +<p>A 16.16 fractional scaling value used to convert horizontal metrics from font units to 26.6 fractional pixels. Only relevant for scalable font formats.</p> +</td></tr> +<tr valign=top><td><b>y_scale</b></td><td> +<p>A 16.16 fractional scaling value used to convert vertical metrics from font units to 26.6 fractional pixels. Only relevant for scalable font formats.</p> +</td></tr> +<tr valign=top><td><b>ascender</b></td><td> +<p>The ascender in 26.6 fractional pixels. See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the details.</p> +</td></tr> +<tr valign=top><td><b>descender</b></td><td> +<p>The descender in 26.6 fractional pixels. See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the details.</p> +</td></tr> +<tr valign=top><td><b>height</b></td><td> +<p>The height in 26.6 fractional pixels. See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the details.</p> +</td></tr> +<tr valign=top><td><b>max_advance</b></td><td> +<p>The maximal advance width in 26.6 fractional pixels. See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the details.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The scaling values, if relevant, are determined first during a size changing operation. The remaining fields are then set by the driver. For scalable formats, they are usually set to scaled values of the corresponding fields in <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p> +<p>Note that due to glyph hinting, these values might not be exact for certain fonts. Thus they must be treated as unreliable with an error margin of at least one pixel!</p> +<p>Indeed, the only way to get the exact metrics is to render <i>all</i> glyphs. As this would be a definite performance hit, it is up to client applications to perform such computations.</p> +<p>The FT_Size_Metrics structure is valid for bitmap fonts also.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_SizeRec">FT_SizeRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SizeRec_ + { + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face; /* parent face object */ + <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> generic; /* generic pointer for client uses */ + <a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a> metrics; /* size metrics */ + <a href="ft2-base_interface.html#FT_Size_Internal">FT_Size_Internal</a> internal; + + } <b>FT_SizeRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>FreeType root size class structure. A size object models a face object at a given size.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>Handle to the parent face object.</p> +</td></tr> +<tr valign=top><td><b>generic</b></td><td> +<p>A typeless pointer, which is unused by the FreeType library or any of its drivers. It can be used by client applications to link their own data to each size object.</p> +</td></tr> +<tr valign=top><td><b>metrics</b></td><td> +<p>Metrics for this size object. This field is read-only.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_SubGlyph">FT_SubGlyph</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SubGlyphRec_* <b>FT_SubGlyph</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The subglyph structure is an internal object used to describe subglyphs (for example, in the case of composites).</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The subglyph implementation is not part of the high-level API, hence the forward structure declaration.</p> +<p>You can however retrieve subglyph information with <a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Slot_Internal">FT_Slot_Internal</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Slot_InternalRec_* <b>FT_Slot_Internal</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An opaque handle to an ‘FT_Slot_InternalRec’ structure, used to model private data of a given <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> object.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_GlyphSlotRec">FT_GlyphSlotRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphSlotRec_ + { + <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library; + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face; + <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> next; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> reserved; /* retained for binary compatibility */ + <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> generic; + + <a href="ft2-base_interface.html#FT_Glyph_Metrics">FT_Glyph_Metrics</a> metrics; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> linearHoriAdvance; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> linearVertAdvance; + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> advance; + + <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> format; + + <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> bitmap; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> bitmap_left; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> bitmap_top; + + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> outline; + + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_subglyphs; + <a href="ft2-base_interface.html#FT_SubGlyph">FT_SubGlyph</a> subglyphs; + + <span class="keyword">void</span>* control_data; + <span class="keyword">long</span> control_len; + + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> lsb_delta; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> rsb_delta; + + <span class="keyword">void</span>* other; + + <a href="ft2-base_interface.html#FT_Slot_Internal">FT_Slot_Internal</a> internal; + + } <b>FT_GlyphSlotRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>FreeType root glyph slot class structure. A glyph slot is a container where individual glyphs can be loaded, be they in outline or bitmap format.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the FreeType library instance this slot belongs to.</p> +</td></tr> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the parent face object.</p> +</td></tr> +<tr valign=top><td><b>next</b></td><td> +<p>In some cases (like some font tools), several glyph slots per face object can be a good thing. As this is rare, the glyph slots are listed through a direct, single-linked list using its ‘next’ field.</p> +</td></tr> +<tr valign=top><td><b>generic</b></td><td> +<p>A typeless pointer which is unused by the FreeType library or any of its drivers. It can be used by client applications to link their own data to each glyph slot object.</p> +</td></tr> +<tr valign=top><td><b>metrics</b></td><td> +<p>The metrics of the last loaded glyph in the slot. The returned values depend on the last load flags (see the <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> API function) and can be expressed either in 26.6 fractional pixels or font units.</p> +<p>Note that even when the glyph image is transformed, the metrics are not.</p> +</td></tr> +<tr valign=top><td><b>linearHoriAdvance</b></td><td> +<p>The advance width of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a> is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.</p> +</td></tr> +<tr valign=top><td><b>linearVertAdvance</b></td><td> +<p>The advance height of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a> is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.</p> +</td></tr> +<tr valign=top><td><b>advance</b></td><td> +<p>This shorthand is, depending on <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a>, the transformed advance width for the glyph (in 26.6 fractional pixel format). As specified with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a>, it uses either the ‘horiAdvance’ or the ‘vertAdvance’ value of ‘metrics’ field.</p> +</td></tr> +<tr valign=top><td><b>format</b></td><td> +<p>This field indicates the format of the image contained in the glyph slot. Typically <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>, <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>, or <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>, but others are possible.</p> +</td></tr> +<tr valign=top><td><b>bitmap</b></td><td> +<p>This field is used as a bitmap descriptor when the slot format is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>. Note that the address and content of the bitmap buffer can change between calls of <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> and a few other functions.</p> +</td></tr> +<tr valign=top><td><b>bitmap_left</b></td><td> +<p>This is the bitmap's left bearing expressed in integer pixels. Of course, this is only valid if the format is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>.</p> +</td></tr> +<tr valign=top><td><b>bitmap_top</b></td><td> +<p>This is the bitmap's top bearing expressed in integer pixels. Remember that this is the distance from the baseline to the top-most glyph scanline, upwards y coordinates being <b>positive</b>.</p> +</td></tr> +<tr valign=top><td><b>outline</b></td><td> +<p>The outline descriptor for the current glyph image if its format is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>. Once a glyph is loaded, ‘outline’ can be transformed, distorted, embolded, etc. However, it must not be freed.</p> +</td></tr> +<tr valign=top><td><b>num_subglyphs</b></td><td> +<p>The number of subglyphs in a composite glyph. This field is only valid for the composite glyph format that should normally only be loaded with the <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a> flag. For now this is internal to FreeType.</p> +</td></tr> +<tr valign=top><td><b>subglyphs</b></td><td> +<p>An array of subglyph descriptors for composite glyphs. There are ‘num_subglyphs’ elements in there. Currently internal to FreeType.</p> +</td></tr> +<tr valign=top><td><b>control_data</b></td><td> +<p>Certain font drivers can also return the control data for a given glyph image (e.g. TrueType bytecode, Type 1 charstrings, etc.). This field is a pointer to such data.</p> +</td></tr> +<tr valign=top><td><b>control_len</b></td><td> +<p>This is the length in bytes of the control data.</p> +</td></tr> +<tr valign=top><td><b>other</b></td><td> +<p>Really wicked formats can use this pointer to present their own glyph image to client applications. Note that the application needs to know about the image format.</p> +</td></tr> +<tr valign=top><td><b>lsb_delta</b></td><td> +<p>The difference between hinted and unhinted left side bearing while autohinting is active. Zero otherwise.</p> +</td></tr> +<tr valign=top><td><b>rsb_delta</b></td><td> +<p>The difference between hinted and unhinted right side bearing while autohinting is active. Zero otherwise.</p> +</td></tr> +</table> +</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 <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> is called with default flags (see <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a>) the glyph image is loaded in the glyph slot in its native format (e.g., an outline glyph for TrueType and Type 1 formats).</p> +<p>This image can later be converted into a bitmap by calling <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a>. This function finds the current renderer for the native image's format, then invokes it.</p> +<p>The renderer is in charge of transforming the native image through the slot's face transformation fields, then converting it into a bitmap that is returned in ‘slot->bitmap’.</p> +<p>Note that ‘slot->bitmap_left’ and ‘slot->bitmap_top’ are also used to specify the position of the bitmap relative to the current pen position (e.g., coordinates (0,0) on the baseline). Of course, ‘slot->format’ is also changed to <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>.</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>Here a small pseudo code fragment which shows how to use ‘lsb_delta’ and ‘rsb_delta’:</p> +<pre class="colored"> + FT_Pos origin_x = 0; + FT_Pos prev_rsb_delta = 0; + + + for all glyphs do + <compute kern between current and previous glyph and add it to + `origin_x'> + + <load glyph with `FT_Load_Glyph'> + + if ( prev_rsb_delta - face->glyph->lsb_delta >= 32 ) + origin_x -= 64; + else if ( prev_rsb_delta - face->glyph->lsb_delta < -32 ) + origin_x += 64; + + prev_rsb_delta = face->glyph->rsb_delta; + + <save glyph image, or render glyph, or ...> + + origin_x += face->glyph->advance.x; + endfor +</pre> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Init_FreeType">FT_Init_FreeType</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Init_FreeType</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> *alibrary ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Initialize a new FreeType library object. The set of modules that are registered by this function is determined at build time.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>alibrary</b></td><td> +<p>A handle to a new library object.</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 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>In case you want to provide your own memory allocating routines, use <a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a> instead, followed by a call to <a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a> (or a series of calls to <a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a>).</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Done_FreeType">FT_Done_FreeType</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Done_FreeType</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Destroy a given FreeType library object and all of its children, including resources, drivers, faces, sizes, etc.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the target library object.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_OPEN_XXX">FT_OPEN_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a> 0x1 +#define <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a> 0x2 +#define <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a> 0x4 +#define <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a> 0x8 +#define <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a> 0x10 + +#define <a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_memory</a> <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a> /* deprecated */ +#define <a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_stream</a> <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a> /* deprecated */ +#define <a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_pathname</a> <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a> /* deprecated */ +#define <a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_driver</a> <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a> /* deprecated */ +#define <a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_params</a> <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a> /* deprecated */ + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of bit-field constants used within the ‘flags’ field of the <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a> structure.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_OPEN_MEMORY</b></td><td> +<p>This is a memory-based stream.</p> +</td></tr> +<tr valign=top><td><b>FT_OPEN_STREAM</b></td><td> +<p>Copy the stream from the ‘stream’ field.</p> +</td></tr> +<tr valign=top><td><b>FT_OPEN_PATHNAME</b></td><td> +<p>Create a new input stream from a C path name.</p> +</td></tr> +<tr valign=top><td><b>FT_OPEN_DRIVER</b></td><td> +<p>Use the ‘driver’ field.</p> +</td></tr> +<tr valign=top><td><b>FT_OPEN_PARAMS</b></td><td> +<p>Use the ‘num_params’ and ‘params’ fields.</p> +</td></tr> +<tr valign=top><td><b>ft_open_memory</b></td><td> +<p>Deprecated; use <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a> instead.</p> +</td></tr> +<tr valign=top><td><b>ft_open_stream</b></td><td> +<p>Deprecated; use <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a> instead.</p> +</td></tr> +<tr valign=top><td><b>ft_open_pathname</b></td><td> +<p>Deprecated; use <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a> instead.</p> +</td></tr> +<tr valign=top><td><b>ft_open_driver</b></td><td> +<p>Deprecated; use <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a> instead.</p> +</td></tr> +<tr valign=top><td><b>ft_open_params</b></td><td> +<p>Deprecated; use <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a> instead.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The ‘FT_OPEN_MEMORY’, ‘FT_OPEN_STREAM’, and ‘FT_OPEN_PATHNAME’ flags are mutually exclusive.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Parameter">FT_Parameter</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Parameter_ + { + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> tag; + <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> data; + + } <b>FT_Parameter</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A simple structure used to pass more or less generic parameters to <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>tag</b></td><td> +<p>A four-byte identification tag.</p> +</td></tr> +<tr valign=top><td><b>data</b></td><td> +<p>A pointer to the parameter data.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The ID and function of parameters are driver-specific. See the various FT_PARAM_TAG_XXX flags for more information.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Open_Args">FT_Open_Args</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Open_Args_ + { + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> flags; + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* memory_base; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> memory_size; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* pathname; + <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream; + <a href="ft2-base_interface.html#FT_Module">FT_Module</a> driver; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_params; + <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a>* params; + + } <b>FT_Open_Args</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to indicate how to open a new font file or stream. A pointer to such a structure can be used as a parameter for the functions <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> and <a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a>.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>flags</b></td><td> +<p>A set of bit flags indicating how to use the structure.</p> +</td></tr> +<tr valign=top><td><b>memory_base</b></td><td> +<p>The first byte of the file in memory.</p> +</td></tr> +<tr valign=top><td><b>memory_size</b></td><td> +<p>The size in bytes of the file in memory.</p> +</td></tr> +<tr valign=top><td><b>pathname</b></td><td> +<p>A pointer to an 8-bit file pathname.</p> +</td></tr> +<tr valign=top><td><b>stream</b></td><td> +<p>A handle to a source stream object.</p> +</td></tr> +<tr valign=top><td><b>driver</b></td><td> +<p>This field is exclusively used by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>; it simply specifies the font driver to use to open the face. If set to 0, FreeType tries to load the face with each one of the drivers in its list.</p> +</td></tr> +<tr valign=top><td><b>num_params</b></td><td> +<p>The number of extra parameters.</p> +</td></tr> +<tr valign=top><td><b>params</b></td><td> +<p>Extra parameters passed to the font driver when opening a new face.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The stream type is determined by the contents of ‘flags’ which are tested in the following order by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>:</p> +<p>If the ‘FT_OPEN_MEMORY’ bit is set, assume that this is a memory file of ‘memory_size’ bytes, located at ‘memory_address’. The data are are not copied, and the client is responsible for releasing and destroying them <i>after</i> the corresponding call to <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p> +<p>Otherwise, if the ‘FT_OPEN_STREAM’ bit is set, assume that a custom input stream ‘stream’ is used.</p> +<p>Otherwise, if the ‘FT_OPEN_PATHNAME’ bit is set, assume that this is a normal file and use ‘pathname’ to open it.</p> +<p>If the ‘FT_OPEN_DRIVER’ bit is set, <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> only tries to open the file with the driver whose handler is in ‘driver’.</p> +<p>If the ‘FT_OPEN_PARAMS’ bit is set, the parameters given by ‘num_params’ and ‘params’ is used. They are ignored otherwise.</p> +<p>Ideally, both the ‘pathname’ and ‘params’ fields should be tagged as ‘const’; this is missing for API backwards compatibility. In other words, applications should treat them as read-only.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_New_Face">FT_New_Face</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Face</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <span class="keyword">char</span>* filepathname, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This function calls <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> to open a font by its pathname.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the library resource.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>pathname</b></td><td> +<p>A path to the font file.</p> +</td></tr> +<tr valign=top><td><b>face_index</b></td><td> +<p>The index of the face within the font. The first face has index 0.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aface</b></td><td> +<p>A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> for more details.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_New_Memory_Face">FT_New_Memory_Face</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Memory_Face</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* file_base, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> file_size, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This function calls <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> to open a font which has been loaded into memory.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the library resource.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>file_base</b></td><td> +<p>A pointer to the beginning of the font data.</p> +</td></tr> +<tr valign=top><td><b>file_size</b></td><td> +<p>The size of the memory chunk used by the font data.</p> +</td></tr> +<tr valign=top><td><b>face_index</b></td><td> +<p>The index of the face within the font. The first face has index 0.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aface</b></td><td> +<p>A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> for more details.</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 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>You must not deallocate the memory before calling <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Open_Face">FT_Open_Face</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Open_Face</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a>* args, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Create a face object from a given resource described by <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a>.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the library resource.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>args</b></td><td> +<p>A pointer to an ‘FT_Open_Args’ structure which must be filled by the caller.</p> +</td></tr> +<tr valign=top><td><b>face_index</b></td><td> +<p>The index of the face within the font. The first face has index 0.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aface</b></td><td> +<p>A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See note below.</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 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>Unlike FreeType 1.x, this function automatically creates a glyph slot for the face object which can be accessed directly through ‘face->glyph’.</p> +<p>FT_Open_Face can be used to quickly check whether the font format of a given font resource is supported by FreeType. If the ‘face_index’ field is negative, the function's return value is 0 if the font format is recognized, or non-zero otherwise; the function returns a more or less empty face handle in ‘*aface’ (if ‘aface’ isn't NULL). The only useful field in this special case is ‘face->num_faces’ which gives the number of faces within the font file. After examination, the returned <a href="ft2-base_interface.html#FT_Face">FT_Face</a> structure should be deallocated with a call to <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p> +<p>Each new face object created with this function also owns a default <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object, accessible as ‘face->size’.</p> +<p>See the discussion of reference counters in the description of <a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Attach_File">FT_Attach_File</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Attach_File</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <span class="keyword">const</span> <span class="keyword">char</span>* filepathname ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This function calls <a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a> to attach a file.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>The target face object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>filepathname</b></td><td> +<p>The pathname.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Attach_Stream">FT_Attach_Stream</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Attach_Stream</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a>* parameters ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>‘Attach’ data to a face object. Normally, this is used to read additional information for the face object. For example, you can attach an AFM file that comes with a Type 1 font to get the kerning values and other metrics.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>The target face object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>parameters</b></td><td> +<p>A pointer to <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a> which must be filled by the caller.</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 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>The meaning of the ‘attach’ (i.e., what really happens when the new file is read) is not fixed by FreeType itself. It really depends on the font format (and thus the font driver).</p> +<p>Client applications are expected to know what they are doing when invoking this function. Most drivers simply do not implement file attachments.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Reference_Face">FT_Reference_Face</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Reference_Face</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A counter gets initialized to 1 at the time an <a href="ft2-base_interface.html#FT_Face">FT_Face</a> structure is created. This function increments the counter. <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> then only destroys a face if the counter is 1, otherwise it simply decrements the counter.</p> +<p>This function helps in managing life-cycles of structures which reference <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to a target face object.</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 means success.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.4.2</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Done_Face">FT_Done_Face</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Done_Face</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Discard a given face object, as well as all of its child slots and sizes.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to a target face object.</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 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>See the discussion of reference counters in the description of <a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Select_Size">FT_Select_Size</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Select_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> strike_index ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Select a bitmap strike.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to a target face object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>strike_index</b></td><td> +<p>The index of the bitmap strike in the ‘available_sizes’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> structure.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Size_Request_Type">FT_Size_Request_Type</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Size_Request_Type_ + { + <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_NOMINAL</a>, + <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a>, + <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_BBOX</a>, + <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_CELL</a>, + <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_SCALES</a>, + + FT_SIZE_REQUEST_TYPE_MAX + + } <b>FT_Size_Request_Type</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An enumeration type that lists the supported size request types.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td colspan=0><b>FT_SIZE_REQUEST_TYPE_NOMINAL</b></td></tr> +<tr valign=top><td></td><td> +<p>The nominal size. The ‘units_per_EM’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> is used to determine both scaling values.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_SIZE_REQUEST_TYPE_REAL_DIM</b></td></tr> +<tr valign=top><td></td><td> +<p>The real dimension. The sum of the the ‘Ascender’ and (minus of) the ‘Descender’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> are used to determine both scaling values.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_SIZE_REQUEST_TYPE_BBOX</b></td></tr> +<tr valign=top><td></td><td> +<p>The font bounding box. The width and height of the ‘bbox’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> are used to determine the horizontal and vertical scaling value, respectively.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_SIZE_REQUEST_TYPE_CELL</b></td></tr> +<tr valign=top><td></td><td> +<p>The ‘max_advance_width’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> is used to determine the horizontal scaling value; the vertical scaling value is determined the same way as <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a> does. Finally, both scaling values are set to the smaller one. This type is useful if you want to specify the font size for, say, a window of a given dimension and 80x24 cells.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_SIZE_REQUEST_TYPE_SCALES</b></td></tr> +<tr valign=top><td></td><td> +<p>Specify the scaling values directly.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The above descriptions only apply to scalable formats. For bitmap formats, the behaviour is up to the driver.</p> +<p>See the note section of <a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a> if you wonder how size requesting relates to scaling values.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Size_RequestRec">FT_Size_RequestRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_RequestRec_ + { + <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a> type; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> width; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> height; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> horiResolution; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> vertResolution; + + } <b>FT_Size_RequestRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model a size request.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>type</b></td><td> +<p>See <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a>.</p> +</td></tr> +<tr valign=top><td><b>width</b></td><td> +<p>The desired width.</p> +</td></tr> +<tr valign=top><td><b>height</b></td><td> +<p>The desired height.</p> +</td></tr> +<tr valign=top><td><b>horiResolution</b></td><td> +<p>The horizontal resolution. If set to zero, ‘width’ is treated as a 26.6 fractional pixel value.</p> +</td></tr> +<tr valign=top><td><b>vertResolution</b></td><td> +<p>The vertical resolution. If set to zero, ‘height’ is treated as a 26.6 fractional pixel value.</p> +</td></tr> +</table> +</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 ‘width’ is zero, then the horizontal scaling value is set equal to the vertical scaling value, and vice versa.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Size_Request">FT_Size_Request</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_RequestRec_ *<b>FT_Size_Request</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a size request structure.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Request_Size">FT_Request_Size</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Request_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a> req ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Resize the scale of the active <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object in a face.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to a target face object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>req</b></td><td> +<p>A pointer to a <a href="ft2-base_interface.html#FT_Size_RequestRec">FT_Size_RequestRec</a>.</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 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>Although drivers may select the bitmap strike matching the request, you should not rely on this if you intend to select a particular bitmap strike. Use <a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a> instead in that case.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Set_Char_Size">FT_Set_Char_Size</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_Char_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a> char_width, + <a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a> char_height, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> horz_resolution, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> vert_resolution ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This function calls <a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a> to request the nominal size (in points).</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to a target face object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>char_width</b></td><td> +<p>The nominal width, in 26.6 fractional points.</p> +</td></tr> +<tr valign=top><td><b>char_height</b></td><td> +<p>The nominal height, in 26.6 fractional points.</p> +</td></tr> +<tr valign=top><td><b>horz_resolution</b></td><td> +<p>The horizontal resolution in dpi.</p> +</td></tr> +<tr valign=top><td><b>vert_resolution</b></td><td> +<p>The vertical resolution in dpi.</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 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 either the character width or height is zero, it is set equal to the other value.</p> +<p>If either the horizontal or vertical resolution is zero, it is set equal to the other value.</p> +<p>A character width or height smaller than 1pt is set to 1pt; if both resolution values are zero, they are set to 72dpi.</p> +<p>Don't use this function if you are using the FreeType cache API.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_Pixel_Sizes</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> pixel_width, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> pixel_height ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This function calls <a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a> to request the nominal size (in pixels).</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the target face object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>pixel_width</b></td><td> +<p>The nominal width, in pixels.</p> +</td></tr> +<tr valign=top><td><b>pixel_height</b></td><td> +<p>The nominal height, in pixels.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Load_Glyph">FT_Load_Glyph</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Load_Glyph</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index, + <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to load a single glyph into the glyph slot of a face object.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the target face object where the glyph is loaded.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>glyph_index</b></td><td> +<p>The index of the glyph in the font file. For CID-keyed fonts (either in PS or in CFF format) this argument specifies the CID value.</p> +</td></tr> +<tr valign=top><td><b>load_flags</b></td><td> +<p>A flag indicating what to load for this glyph. The <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a> constants can be used to control the glyph loading process (e.g., whether the outline should be scaled, whether to load bitmaps or not, whether to hint the outline, etc).</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 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>The loaded glyph may be transformed. See <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a> for the details.</p> +<p>For subsetted CID-keyed fonts, ‘FT_Err_Invalid_Argument’ is returned for invalid CID values (this is, for CID values which don't have a corresponding glyph in the font). See the discussion of the <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a> flag for more details.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Load_Char">FT_Load_Char</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Load_Char</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> char_code, + <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to load a single glyph into the glyph slot of a face object, according to its character code.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to a target face object where the glyph is loaded.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>char_code</b></td><td> +<p>The glyph's character code, according to the current charmap used in the face.</p> +</td></tr> +<tr valign=top><td><b>load_flags</b></td><td> +<p>A flag indicating what to load for this glyph. The <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a> constants can be used to control the glyph loading process (e.g., whether the outline should be scaled, whether to load bitmaps or not, whether to hint the outline, etc).</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 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>This function simply calls <a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a> and <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_LOAD_XXX">FT_LOAD_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a> 0x0 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> 0x1 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a> 0x2 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a> 0x4 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a> 0x8 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a> 0x10 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a> 0x20 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_CROP_BITMAP</a> 0x40 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_PEDANTIC</a> 0x80 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</a> 0x200 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a> 0x400 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a> 0x800 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a> 0x1000 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a> 0x2000 +#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a> 0x8000U + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of bit-field constants used with <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> to indicate what kind of operations to perform during glyph loading.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_LOAD_DEFAULT</b></td><td> +<p>Corresponding to 0, this value is used as the default glyph load operation. In this case, the following happens:</p> +<p>1. FreeType looks for a bitmap for the glyph corresponding to the face's current size. If one is found, the function returns. The bitmap data can be accessed from the glyph slot (see note below).</p> +<p>2. If no embedded bitmap is searched or found, FreeType looks for a scalable outline. If one is found, it is loaded from the font file, scaled to device pixels, then ‘hinted’ to the pixel grid in order to optimize it. The outline data can be accessed from the glyph slot (see note below).</p> +<p>Note that by default, the glyph loader doesn't render outlines into bitmaps. The following flags are used to modify this default behaviour to more specific and useful cases.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_NO_SCALE</b></td><td> +<p>Don't scale the outline glyph loaded, but keep it in font units.</p> +<p>This flag implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a> and <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a>, and unsets <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a>.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_NO_HINTING</b></td><td> +<p>Disable hinting. This generally generates ‘blurrier’ bitmap glyph when the glyph is rendered in any of the anti-aliased modes. See also the note below.</p> +<p>This flag is implied by <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_RENDER</b></td><td> +<p>Call <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a> after the glyph is loaded. By default, the glyph is rendered in <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a> mode. This can be overridden by <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> or <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a>.</p> +<p>This flag is unset by <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_NO_BITMAP</b></td><td> +<p>Ignore bitmap strikes when loading. Bitmap-only fonts ignore this flag.</p> +<p><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> always sets this flag.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_LOAD_VERTICAL_LAYOUT</b></td></tr> +<tr valign=top><td></td><td> +<p>Load the glyph for vertical text layout. <i>Don't</i> use it as it is problematic currently.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_FORCE_AUTOHINT</b></td><td> +<p>Indicates that the auto-hinter is preferred over the font's native hinter. See also the note below.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_CROP_BITMAP</b></td><td> +<p>Indicates that the font driver should crop the loaded bitmap glyph (i.e., remove all space around its black bits). Not all drivers implement this.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_PEDANTIC</b></td><td> +<p>Indicates that the font driver should perform pedantic verifications during glyph loading. This is mostly used to detect broken glyphs in fonts. By default, FreeType tries to handle broken fonts also.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</b></td></tr> +<tr valign=top><td></td><td> +<p>Ignored. Deprecated.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_NO_RECURSE</b></td><td> +<p>This flag is only used internally. It merely indicates that the font driver should not load composite glyphs recursively. Instead, it should set the ‘num_subglyph’ and ‘subglyphs’ values of the glyph slot accordingly, and set ‘glyph->format’ to <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>.</p> +<p>The description of sub-glyphs is not available to client applications for now.</p> +<p>This flag implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> and <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a>.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_LOAD_IGNORE_TRANSFORM</b></td></tr> +<tr valign=top><td></td><td> +<p>Indicates that the transform matrix set by <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a> should be ignored.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_MONOCHROME</b></td><td> +<p>This flag is used with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a> to indicate that you want to render an outline glyph to a 1-bit monochrome bitmap glyph, with 8 pixels packed into each byte of the bitmap data.</p> +<p>Note that this has no effect on the hinting algorithm used. You should rather use <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a> so that the monochrome-optimized hinting algorithm is used.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_LINEAR_DESIGN</b></td><td> +<p>Indicates that the ‘linearHoriAdvance’ and ‘linearVertAdvance’ fields of <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> should be kept in font units. See <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> for details.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_NO_AUTOHINT</b></td><td> +<p>Disable auto-hinter. See also the note below.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>By default, hinting is enabled and the font's native hinter (see <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a>) is preferred over the auto-hinter. You can disable hinting by setting <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a> or change the precedence by setting <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>. You can also set <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a> in case you don't want the auto-hinter to be used at all.</p> +<p>See the description of <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> for a special exception (affecting only a handful of Asian fonts).</p> +<p>Besides deciding which hinter to use, you can also decide which hinting algorithm to use. See <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> for details.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define FT_LOAD_TARGET_( x ) ( (<a href="ft2-basic_types.html#FT_Int32">FT_Int32</a>)( (x) & 15 ) << 16 ) + +#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a> ) +#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a> ) +#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a> ) +#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a> ) +#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of values that are used to select a specific hinting algorithm to use by the hinter. You should OR one of these values to your ‘load_flags’ when calling <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p> +<p>Note that font's native hinters may ignore the hinting algorithm you have specified (e.g., the TrueType bytecode interpreter). You can set <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a> to ensure that the auto-hinter is used.</p> +<p>Also note that <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a> is an exception, in that it always implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_LOAD_TARGET_NORMAL</b></td><td> +<p>This corresponds to the default hinting algorithm, optimized for standard gray-level rendering. For monochrome output, use <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a> instead.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_TARGET_LIGHT</b></td><td> +<p>A lighter hinting algorithm for non-monochrome modes. Many generated glyphs are more fuzzy but better resemble its original shape. A bit like rendering on Mac OS X.</p> +<p>As a special exception, this target implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_TARGET_MONO</b></td><td> +<p>Strong hinting algorithm that should only be used for monochrome output. The result is probably unpleasant if the glyph is rendered in non-monochrome modes.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_TARGET_LCD</b></td><td> +<p>A variant of <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a> optimized for horizontally decimated LCD displays.</p> +</td></tr> +<tr valign=top><td><b>FT_LOAD_TARGET_LCD_V</b></td><td> +<p>A variant of <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a> optimized for vertically decimated LCD displays.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>You should use only <i>one</i> of the FT_LOAD_TARGET_XXX values in your ‘load_flags’. They can't be ORed.</p> +<p>If <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a> is also set, the glyph is rendered in the corresponding mode (i.e., the mode which matches the used algorithm best) unless <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a> is set.</p> +<p>You can use a hinting algorithm that doesn't correspond to the same rendering mode. As an example, it is possible to use the ‘light’ hinting algorithm and have the results rendered in horizontal LCD pixel mode, with code like</p> +<pre class="colored"> + FT_Load_Glyph( face, glyph_index, + load_flags | FT_LOAD_TARGET_LIGHT ); + + FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD ); +</pre> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_LOAD_TARGET_MODE</b>( x ) ( (<a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a>)( ( (x) >> 16 ) & 15 ) ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> corresponding to a given <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> value.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Set_Transform">FT_Set_Transform</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Set_Transform</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* delta ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to set the transformation that is applied to glyph images when they are loaded into a glyph slot through <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>matrix</b></td><td> +<p>A pointer to the transformation's 2x2 matrix. Use 0 for the identity matrix.</p> +</td></tr> +<tr valign=top><td><b>delta</b></td><td> +<p>A pointer to the translation vector. Use 0 for the null vector.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The transformation is only applied to scalable image formats after the glyph has been loaded. It means that hinting is unaltered by the transformation and is performed on the character size given in the last call to <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> or <a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a>.</p> +<p>Note that this also transforms the ‘face.glyph.advance’ field, but <b>not</b> the values in ‘face.glyph.metrics’.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Render_Mode">FT_Render_Mode</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Render_Mode_ + { + <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a> = 0, + <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a>, + <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a>, + <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a>, + <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a>, + + FT_RENDER_MODE_MAX + + } <b>FT_Render_Mode</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An enumeration type that lists the render modes supported by FreeType 2. Each mode corresponds to a specific type of scanline conversion performed on the outline.</p> +<p>For bitmap fonts and embedded bitmaps the ‘bitmap->pixel_mode’ field in the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure gives the format of the returned bitmap.</p> +<p>All modes except <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a> use 256 levels of opacity.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_RENDER_MODE_NORMAL</b></td><td> +<p>This is the default render mode; it corresponds to 8-bit anti-aliased bitmaps.</p> +</td></tr> +<tr valign=top><td><b>FT_RENDER_MODE_LIGHT</b></td><td> +<p>This is equivalent to <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a>. It is only defined as a separate value because render modes are also used indirectly to define hinting algorithm selectors. See <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> for details.</p> +</td></tr> +<tr valign=top><td><b>FT_RENDER_MODE_MONO</b></td><td> +<p>This mode corresponds to 1-bit bitmaps (with 2 levels of opacity).</p> +</td></tr> +<tr valign=top><td><b>FT_RENDER_MODE_LCD</b></td><td> +<p>This mode corresponds to horizontal RGB and BGR sub-pixel displays like LCD screens. It produces 8-bit bitmaps that are 3 times the width of the original glyph outline in pixels, and which use the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a> mode.</p> +</td></tr> +<tr valign=top><td><b>FT_RENDER_MODE_LCD_V</b></td><td> +<p>This mode corresponds to vertical RGB and BGR sub-pixel displays (like PDA screens, rotated LCD displays, etc.). It produces 8-bit bitmaps that are 3 times the height of the original glyph outline in pixels and use the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a> mode.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The LCD-optimized glyph bitmaps produced by FT_Render_Glyph can be filtered to reduce color-fringes by using <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a> (not active in the default builds). It is up to the caller to either call <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a> (if available) or do the filtering itself.</p> +<p>The selected render mode only affects vector glyphs of a font. Embedded bitmaps often have a different pixel mode like <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>. You can use <a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a> to transform them into 8-bit pixmaps.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="ft_render_mode_xxx">ft_render_mode_xxx</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_normal</a> <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a> +#define <a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_mono</a> <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>These constants are deprecated. Use the corresponding <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> values instead.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>ft_render_mode_normal</b></td><td> +<p>see <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a></p> +</td></tr> +<tr valign=top><td><b>ft_render_mode_mono</b></td><td> +<p>see <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a></p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Render_Glyph">FT_Render_Glyph</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Render_Glyph</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> slot, + <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> render_mode ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Convert a given glyph image to a bitmap. It does so by inspecting the glyph image format, finding the relevant renderer, and invoking it.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>slot</b></td><td> +<p>A handle to the glyph slot containing the image to convert.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>render_mode</b></td><td> +<p>This is the render mode used to render the glyph image into a bitmap. See <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> for a list of possible values.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Kerning_Mode">FT_Kerning_Mode</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Kerning_Mode_ + { + <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a> = 0, + <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a>, + <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a> + + } <b>FT_Kerning_Mode</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An enumeration used to specify which kerning values to return in <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a>.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_KERNING_DEFAULT</b></td><td> +<p>Return scaled and grid-fitted kerning distances (value is 0).</p> +</td></tr> +<tr valign=top><td><b>FT_KERNING_UNFITTED</b></td><td> +<p>Return scaled but un-grid-fitted kerning distances.</p> +</td></tr> +<tr valign=top><td><b>FT_KERNING_UNSCALED</b></td><td> +<p>Return the kerning vector in original font units.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="ft_kerning_default">ft_kerning_default</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>ft_kerning_default</b> <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This constant is deprecated. Please use <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a> instead.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="ft_kerning_unfitted">ft_kerning_unfitted</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>ft_kerning_unfitted</b> <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This constant is deprecated. Please use <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a> instead.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="ft_kerning_unscaled">ft_kerning_unscaled</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>ft_kerning_unscaled</b> <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This constant is deprecated. Please use <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a> instead.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Kerning">FT_Get_Kerning</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Kerning</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> left_glyph, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> right_glyph, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> kern_mode, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> *akerning ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the kerning vector between two glyphs of a same face.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to a source face object.</p> +</td></tr> +<tr valign=top><td><b>left_glyph</b></td><td> +<p>The index of the left glyph in the kern pair.</p> +</td></tr> +<tr valign=top><td><b>right_glyph</b></td><td> +<p>The index of the right glyph in the kern pair.</p> +</td></tr> +<tr valign=top><td><b>kern_mode</b></td><td> +<p>See <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_Kerning_Mode</a> for more information. Determines the scale and dimension of the returned kerning vector.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>akerning</b></td><td> +<p>The kerning vector. This is either in font units or in pixels (26.6 format) for scalable formats, and in pixels for fixed-sizes formats.</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 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>Only horizontal layouts (left-to-right & right-to-left) are supported by this method. Other layouts, or more sophisticated kernings, are out of the scope of this API function -- they can be implemented through format-specific interfaces.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Track_Kerning</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> point_size, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> degree, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* akerning ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the track kerning for a given face object at a given size.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to a source face object.</p> +</td></tr> +<tr valign=top><td><b>point_size</b></td><td> +<p>The point size in 16.16 fractional points.</p> +</td></tr> +<tr valign=top><td><b>degree</b></td><td> +<p>The degree of tightness.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>akerning</b></td><td> +<p>The kerning in 16.16 fractional points.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Glyph_Name</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index, + <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> buffer, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> buffer_max ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the ASCII name of a given glyph in a face. This only works for those faces where <a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a>(face) returns 1.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to a source face object.</p> +</td></tr> +<tr valign=top><td><b>glyph_index</b></td><td> +<p>The glyph index.</p> +</td></tr> +<tr valign=top><td><b>buffer_max</b></td><td> +<p>The maximal number of bytes available in the buffer.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>buffer</b></td><td> +<p>A pointer to a target buffer where the name is copied to.</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 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>An error is returned if the face doesn't provide glyph names or if the glyph index is invalid. In all cases of failure, the first byte of ‘buffer’ is set to 0 to indicate an empty name.</p> +<p>The glyph name is truncated to fit within the buffer if it is too long. The returned string is always zero-terminated.</p> +<p>This function is not compiled within the library if the config macro ‘FT_CONFIG_OPTION_NO_GLYPH_NAMES’ is defined in ‘include/freetype/config/ftoptions.h’.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">const</span> <span class="keyword">char</span>* ) + <b>FT_Get_Postscript_Name</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the ASCII PostScript name of a given face, if available. This only works with PostScript and TrueType fonts.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</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>A pointer to the face's PostScript name. NULL if unavailable.</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>The returned pointer is owned by the face and is destroyed with it.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Select_Charmap">FT_Select_Charmap</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Select_Charmap</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a> encoding ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Select a given charmap by its encoding tag (as listed in ‘freetype.h’).</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>encoding</b></td><td> +<p>A handle to the selected encoding.</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 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>This function returns an error if no charmap in the face corresponds to the encoding queried here.</p> +<p>Because many fonts contain more than a single cmap for Unicode encoding, this function has some special code to select the one which covers Unicode best (‘best’ in the sense that a UCS-4 cmap is preferred to a UCS-2 cmap). It is thus preferable to <a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a> in this case.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Set_Charmap">FT_Set_Charmap</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_Charmap</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Select a given charmap for character code to glyph index mapping.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>charmap</b></td><td> +<p>A handle to the selected charmap.</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 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>This function returns an error if the charmap is not part of the face (i.e., if it is not listed in the ‘face->charmaps’ table).</p> +<p>It also fails if a type 14 charmap is selected.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> ) + <b>FT_Get_Charmap_Index</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve index of a given charmap.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>charmap</b></td><td> +<p>A handle to a charmap.</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>The index into the array of character maps within the face to which ‘charmap’ belongs. If an error occurs, -1 is returned.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Char_Index">FT_Get_Char_Index</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) + <b>FT_Get_Char_Index</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> charcode ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the glyph index of a given character code. This function uses a charmap object to do the mapping.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</p> +</td></tr> +<tr valign=top><td><b>charcode</b></td><td> +<p>The character code.</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>The glyph index. 0 means ‘undefined character code’.</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 you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value 0 always corresponds to the ‘missing glyph’.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_First_Char">FT_Get_First_Char</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ) + <b>FT_Get_First_Char</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *agindex ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This function is used to return the first character code in the current charmap of a given face. It also returns the corresponding glyph index.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>agindex</b></td><td> +<p>Glyph index of first character code. 0 if charmap is empty.</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>The charmap's first character code.</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>You should use this function with <a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a> to be able to parse all character codes available in a given charmap. The code should look like this:</p> +<pre class="colored"> + FT_ULong charcode; + FT_UInt gindex; + + + charcode = FT_Get_First_Char( face, &gindex ); + while ( gindex != 0 ) + { + ... do something with (charcode,gindex) pair ... + + charcode = FT_Get_Next_Char( face, charcode, &gindex ); + } +</pre> +<p>Note that ‘*agindex’ is set to 0 if the charmap is empty. The result itself can be 0 in two cases: if the charmap is empty or if the value 0 is the first valid character code.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Next_Char">FT_Get_Next_Char</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ) + <b>FT_Get_Next_Char</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> char_code, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *agindex ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This function is used to return the next character code in the current charmap of a given face following the value ‘char_code’, as well as the corresponding glyph index.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</p> +</td></tr> +<tr valign=top><td><b>char_code</b></td><td> +<p>The starting character code.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>agindex</b></td><td> +<p>Glyph index of next character code. 0 if charmap is empty.</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>The charmap's next character code.</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>You should use this function with <a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a> to walk over all character codes available in a given charmap. See the note for this function for a simple code example.</p> +<p>Note that ‘*agindex’ is set to 0 when there are no more codes in the charmap.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Name_Index">FT_Get_Name_Index</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) + <b>FT_Get_Name_Index</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_String">FT_String</a>* glyph_name ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the glyph index of a given glyph name. This function uses driver specific objects to do the translation.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</p> +</td></tr> +<tr valign=top><td><b>glyph_name</b></td><td> +<p>The glyph name.</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>The glyph index. 0 means ‘undefined character code’.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a> 1 +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a> 2 +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</a> 4 +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_SCALE</a> 8 +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XY_SCALE</a> 0x40 +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_2X2</a> 0x80 +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_USE_MY_METRICS</a> 0x200 + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of constants used to describe subglyphs. Please refer to the TrueType specification for the meaning of the various flags.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td colspan=0><b>FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</b></td></tr> +<tr valign=top><td></td><td> +<p></p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</b></td></tr> +<tr valign=top><td></td><td> +<p></p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</b></td></tr> +<tr valign=top><td></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>FT_SUBGLYPH_FLAG_SCALE</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_SUBGLYPH_FLAG_XY_SCALE</b></td></tr> +<tr valign=top><td></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>FT_SUBGLYPH_FLAG_2X2</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_SUBGLYPH_FLAG_USE_MY_METRICS</b></td></tr> +<tr valign=top><td></td><td> +<p></p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_SubGlyph_Info</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> glyph, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> sub_index, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *p_index, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *p_flags, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *p_arg1, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *p_arg2, + <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a> *p_transform ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve a description of a given subglyph. Only use it if ‘glyph->format’ is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>; an error is returned otherwise.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>glyph</b></td><td> +<p>The source glyph slot.</p> +</td></tr> +<tr valign=top><td><b>sub_index</b></td><td> +<p>The index of the subglyph. Must be less than ‘glyph->num_subglyphs’.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>p_index</b></td><td> +<p>The glyph index of the subglyph.</p> +</td></tr> +<tr valign=top><td><b>p_flags</b></td><td> +<p>The subglyph flags, see <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a>.</p> +</td></tr> +<tr valign=top><td><b>p_arg1</b></td><td> +<p>The subglyph's first argument (if any).</p> +</td></tr> +<tr valign=top><td><b>p_arg2</b></td><td> +<p>The subglyph's second argument (if any).</p> +</td></tr> +<tr valign=top><td><b>p_transform</b></td><td> +<p>The subglyph transformation (if any).</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 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>The values of ‘*p_arg1’, ‘*p_arg2’, and ‘*p_transform’ must be interpreted depending on the flags returned in ‘*p_flags’. See the TrueType specification for details.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_INSTALLABLE_EMBEDDING</a> 0x0000 +#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a> 0x0002 +#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</a> 0x0004 +#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_EDITABLE_EMBEDDING</a> 0x0008 +#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_NO_SUBSETTING</a> 0x0100 +#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</a> 0x0200 + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of bit flags used in the ‘fsType’ field of the OS/2 table in a TrueType or OpenType font and the ‘FSType’ entry in a PostScript font. These bit flags are returned by <a href="ft2-base_interface.html#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a>; they inform client applications of embedding and subsetting restrictions associated with a font.</p> +<p>See http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf for more details.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td colspan=0><b>FT_FSTYPE_INSTALLABLE_EMBEDDING</b></td></tr> +<tr valign=top><td></td><td> +<p>Fonts with no fsType bit set may be embedded and permanently installed on the remote system by an application.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</b></td></tr> +<tr valign=top><td></td><td> +<p>Fonts that have only this bit set must not be modified, embedded or exchanged in any manner without first obtaining permission of the font software copyright owner.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</b></td></tr> +<tr valign=top><td></td><td> +<p>If this bit is set, the font may be embedded and temporarily loaded on the remote system. Documents containing Preview & Print fonts must be opened ‘read-only’; no edits can be applied to the document.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_FSTYPE_EDITABLE_EMBEDDING</b></td></tr> +<tr valign=top><td></td><td> +<p>If this bit is set, the font may be embedded but must only be installed temporarily on other systems. In contrast to Preview & Print fonts, documents containing editable fonts may be opened for reading, editing is permitted, and changes may be saved.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_FSTYPE_NO_SUBSETTING</b></td></tr> +<tr valign=top><td></td><td> +<p>If this bit is set, the font may not be subsetted prior to embedding.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_FSTYPE_BITMAP_EMBEDDING_ONLY</b></td></tr> +<tr valign=top><td></td><td> +<p>If this bit is set, only bitmaps contained in the font may be embedded; no outline data may be embedded. If there are no bitmaps available in the font, then the font is unembeddable.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>While the fsType flags can indicate that a font may be embedded, a license with the font vendor may be separately required to use the font in this way.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> ) + <b>FT_Get_FSType_Flags</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the fsType flags for a font.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</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>The fsType flags, <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a>.</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>Use this function rather than directly reading the ‘fs_type’ field in the <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure which is only guaranteed to return the correct results for Type 1 fonts.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-basic_types.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-basic_types.html new file mode 100644 index 00000000000..d06105470bb --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-basic_types.html @@ -0,0 +1,1173 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Basic Data Types +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Byte">FT_Byte</a></td><td></td><td><a href="#FT_Offset">FT_Offset</a></td><td></td><td><a href="#FT_UnitVector">FT_UnitVector</a></td></tr> +<tr><td></td><td><a href="#FT_Bytes">FT_Bytes</a></td><td></td><td><a href="#FT_PtrDist">FT_PtrDist</a></td><td></td><td><a href="#FT_F26Dot6">FT_F26Dot6</a></td></tr> +<tr><td></td><td><a href="#FT_Char">FT_Char</a></td><td></td><td><a href="#FT_String">FT_String</a></td><td></td><td><a href="#FT_Pixel_Mode">FT_Pixel_Mode</a></td></tr> +<tr><td></td><td><a href="#FT_Int">FT_Int</a></td><td></td><td><a href="#FT_Tag">FT_Tag</a></td><td></td><td><a href="#ft_pixel_mode_xxx">ft_pixel_mode_xxx</a></td></tr> +<tr><td></td><td><a href="#FT_UInt">FT_UInt</a></td><td></td><td><a href="#FT_Error">FT_Error</a></td><td></td><td><a href="#FT_Palette_Mode">FT_Palette_Mode</a></td></tr> +<tr><td></td><td><a href="#FT_Int16">FT_Int16</a></td><td></td><td><a href="#FT_Fixed">FT_Fixed</a></td><td></td><td><a href="#FT_Bitmap">FT_Bitmap</a></td></tr> +<tr><td></td><td><a href="#FT_UInt16">FT_UInt16</a></td><td></td><td><a href="#FT_Pointer">FT_Pointer</a></td><td></td><td><a href="#FT_IMAGE_TAG">FT_IMAGE_TAG</a></td></tr> +<tr><td></td><td><a href="#FT_Int32">FT_Int32</a></td><td></td><td><a href="#FT_Pos">FT_Pos</a></td><td></td><td><a href="#FT_Glyph_Format">FT_Glyph_Format</a></td></tr> +<tr><td></td><td><a href="#FT_UInt32">FT_UInt32</a></td><td></td><td><a href="#FT_Vector">FT_Vector</a></td><td></td><td><a href="#ft_glyph_format_xxx">ft_glyph_format_xxx</a></td></tr> +<tr><td></td><td><a href="#FT_Short">FT_Short</a></td><td></td><td><a href="#FT_BBox">FT_BBox</a></td><td></td><td><a href="#FT_Data">FT_Data</a></td></tr> +<tr><td></td><td><a href="#FT_UShort">FT_UShort</a></td><td></td><td><a href="#FT_Matrix">FT_Matrix</a></td><td></td><td><a href="#FT_Generic_Finalizer">FT_Generic_Finalizer</a></td></tr> +<tr><td></td><td><a href="#FT_Long">FT_Long</a></td><td></td><td><a href="#FT_FWord">FT_FWord</a></td><td></td><td><a href="#FT_Generic">FT_Generic</a></td></tr> +<tr><td></td><td><a href="#FT_ULong">FT_ULong</a></td><td></td><td><a href="#FT_UFWord">FT_UFWord</a></td><td></td><td><a href="#FT_MAKE_TAG">FT_MAKE_TAG</a></td></tr> +<tr><td></td><td><a href="#FT_Bool">FT_Bool</a></td><td></td><td><a href="#FT_F2Dot14">FT_F2Dot14</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains the basic data types defined by FreeType 2, ranging from simple scalar types to bitmap descriptors. More font-specific structures are defined in a different section.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Byte">FT_Byte</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <b>FT_Byte</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A simple typedef for the <i>unsigned</i> char type.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Bytes">FT_Bytes</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* <b>FT_Bytes</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A typedef for constant memory areas.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Char">FT_Char</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">char</span> <b>FT_Char</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A simple typedef for the <i>signed</i> char type.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Int">FT_Int</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">int</span> <b>FT_Int</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A typedef for the int type.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_UInt">FT_UInt</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <b>FT_UInt</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A typedef for the unsigned int type.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Int16">FT_Int16</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_Int16</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A typedef for a 16bit signed integer type.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_UInt16">FT_UInt16</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UInt16</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A typedef for a 16bit unsigned integer type.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Int32">FT_Int32</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">signed</span> XXX <b>FT_Int32</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A typedef for a 32bit signed integer type. The size depends on the configuration.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_UInt32">FT_UInt32</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> XXX <b>FT_UInt32</b>; + +</pre></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Short">FT_Short</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_Short</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A typedef for signed short.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_UShort">FT_UShort</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UShort</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A typedef for unsigned short.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Long">FT_Long</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Long</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A typedef for signed long.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_ULong">FT_ULong</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <b>FT_ULong</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A typedef for unsigned long.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Bool">FT_Bool</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <b>FT_Bool</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A typedef of unsigned char, used for simple booleans. As usual, values 1 and 0 represent true and false, respectively.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Offset">FT_Offset</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> size_t <b>FT_Offset</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This is equivalent to the ANSI C ‘size_t’ type, i.e., the largest <i>unsigned</i> integer type used to express a file size or position, or a memory block size.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_PtrDist">FT_PtrDist</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> ft_ptrdiff_t <b>FT_PtrDist</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This is equivalent to the ANSI C ‘ptrdiff_t’ type, i.e., the largest <i>signed</i> integer type used to express the distance between two pointers.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_String">FT_String</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">char</span> <b>FT_String</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A simple typedef for the char type, usually used for strings.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Tag">FT_Tag</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a> <b>FT_Tag</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A typedef for 32-bit tags (as used in the SFNT format).</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Error">FT_Error</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">int</span> <b>FT_Error</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The FreeType error code type. A value of 0 is always interpreted as a successful operation.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Fixed">FT_Fixed</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Fixed</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This type is used to store 16.16 fixed float values, like scaling values or matrix coefficients.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Pointer">FT_Pointer</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">void</span>* <b>FT_Pointer</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A simple typedef for a typeless pointer.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Pos">FT_Pos</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Pos</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The type FT_Pos is used to store vectorial coordinates. Depending on the context, these can represent distances in integer font units, or 16.16, or 26.6 fixed float pixel coordinates.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Vector">FT_Vector</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Vector_ + { + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> x; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> y; + + } <b>FT_Vector</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A simple structure used to store a 2D vector; coordinates are of the FT_Pos type.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>x</b></td><td> +<p>The horizontal coordinate.</p> +</td></tr> +<tr valign=top><td><b>y</b></td><td> +<p>The vertical coordinate.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_BBox">FT_BBox</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BBox_ + { + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xMin, yMin; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xMax, yMax; + + } <b>FT_BBox</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to hold an outline's bounding box, i.e., the coordinates of its extrema in the horizontal and vertical directions.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>xMin</b></td><td> +<p>The horizontal minimum (left-most).</p> +</td></tr> +<tr valign=top><td><b>yMin</b></td><td> +<p>The vertical minimum (bottom-most).</p> +</td></tr> +<tr valign=top><td><b>xMax</b></td><td> +<p>The horizontal maximum (right-most).</p> +</td></tr> +<tr valign=top><td><b>yMax</b></td><td> +<p>The vertical maximum (top-most).</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The bounding box is specified with the coordinates of the lower left and the upper right corner. In PostScript, those values are often called (llx,lly) and (urx,ury), respectively.</p> +<p>If ‘yMin’ is negative, this value gives the glyph's descender. Otherwise, the glyph doesn't descend below the baseline. Similarly, if ‘ymax’ is positive, this value gives the glyph's ascender.</p> +<p>‘xMin’ gives the horizontal distance from the glyph's origin to the left edge of the glyph's bounding box. If ‘xMin’ is negative, the glyph extends to the left of the origin.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Matrix">FT_Matrix</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Matrix_ + { + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> xx, xy; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> yx, yy; + + } <b>FT_Matrix</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A simple structure used to store a 2x2 matrix. Coefficients are in 16.16 fixed float format. The computation performed is:</p> +<pre class="colored"> + x' = x*xx + y*xy + y' = x*yx + y*yy +</pre> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>xx</b></td><td> +<p>Matrix coefficient.</p> +</td></tr> +<tr valign=top><td><b>xy</b></td><td> +<p>Matrix coefficient.</p> +</td></tr> +<tr valign=top><td><b>yx</b></td><td> +<p>Matrix coefficient.</p> +</td></tr> +<tr valign=top><td><b>yy</b></td><td> +<p>Matrix coefficient.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_FWord">FT_FWord</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_FWord</b>; /* distance in FUnits */ + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A signed 16-bit integer used to store a distance in original font units.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_UFWord">FT_UFWord</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UFWord</b>; /* <span class="keyword">unsigned</span> distance */ + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An unsigned 16-bit integer used to store a distance in original font units.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_F2Dot14">FT_F2Dot14</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_F2Dot14</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A signed 2.14 fixed float type used for unit vectors.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_UnitVector">FT_UnitVector</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_UnitVector_ + { + <a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a> x; + <a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a> y; + + } <b>FT_UnitVector</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A simple structure used to store a 2D vector unit vector. Uses FT_F2Dot14 types.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>x</b></td><td> +<p>Horizontal coordinate.</p> +</td></tr> +<tr valign=top><td><b>y</b></td><td> +<p>Vertical coordinate.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_F26Dot6">FT_F26Dot6</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_F26Dot6</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A signed 26.6 fixed float type used for vectorial pixel coordinates.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Pixel_Mode">FT_Pixel_Mode</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Pixel_Mode_ + { + <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a> = 0, + <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>, + <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a>, + <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a>, + <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a>, + <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a>, + <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a>, + + FT_PIXEL_MODE_MAX /* do not remove */ + + } <b>FT_Pixel_Mode</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An enumeration type used to describe the format of pixels in a given bitmap. Note that additional formats may be added in the future.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_PIXEL_MODE_NONE</b></td><td> +<p>Value 0 is reserved.</p> +</td></tr> +<tr valign=top><td><b>FT_PIXEL_MODE_MONO</b></td><td> +<p>A monochrome bitmap, using 1 bit per pixel. Note that pixels are stored in most-significant order (MSB), which means that the left-most pixel in a byte has value 128.</p> +</td></tr> +<tr valign=top><td><b>FT_PIXEL_MODE_GRAY</b></td><td> +<p>An 8-bit bitmap, generally used to represent anti-aliased glyph images. Each pixel is stored in one byte. Note that the number of ‘gray’ levels is stored in the ‘num_grays’ field of the <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> structure (it generally is 256).</p> +</td></tr> +<tr valign=top><td><b>FT_PIXEL_MODE_GRAY2</b></td><td> +<p>A 2-bit per pixel bitmap, used to represent embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.</p> +</td></tr> +<tr valign=top><td><b>FT_PIXEL_MODE_GRAY4</b></td><td> +<p>A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.</p> +</td></tr> +<tr valign=top><td><b>FT_PIXEL_MODE_LCD</b></td><td> +<p>An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on LCD displays; the bitmap is three times wider than the original glyph image. See also <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a>.</p> +</td></tr> +<tr valign=top><td><b>FT_PIXEL_MODE_LCD_V</b></td><td> +<p>An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on rotated LCD displays; the bitmap is three times taller than the original glyph image. See also <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a>.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="ft_pixel_mode_xxx">ft_pixel_mode_xxx</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_none</a> <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a> +#define <a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_mono</a> <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a> +#define <a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_grays</a> <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a> +#define <a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal2</a> <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a> +#define <a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal4</a> <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of deprecated constants. Use the corresponding <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a> values instead.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>ft_pixel_mode_none</b></td><td> +<p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a>.</p> +</td></tr> +<tr valign=top><td><b>ft_pixel_mode_mono</b></td><td> +<p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>.</p> +</td></tr> +<tr valign=top><td><b>ft_pixel_mode_grays</b></td><td> +<p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a>.</p> +</td></tr> +<tr valign=top><td><b>ft_pixel_mode_pal2</b></td><td> +<p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a>.</p> +</td></tr> +<tr valign=top><td><b>ft_pixel_mode_pal4</b></td><td> +<p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a>.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Palette_Mode">FT_Palette_Mode</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Palette_Mode_ + { + <a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgb</a> = 0, + <a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgba</a>, + + ft_palette_mode_max /* do not remove */ + + } <b>FT_Palette_Mode</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>THIS TYPE IS DEPRECATED. DO NOT USE IT!</p> +<p>An enumeration type to describe the format of a bitmap palette, used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>ft_palette_mode_rgb</b></td><td> +<p>The palette is an array of 3-byte RGB records.</p> +</td></tr> +<tr valign=top><td><b>ft_palette_mode_rgba</b></td><td> +<p>The palette is an array of 4-byte RGBA records.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>As ft_pixel_mode_pal2, pal4 and pal8 are currently unused by FreeType, these types are not handled by the library itself.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Bitmap">FT_Bitmap</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Bitmap_ + { + <span class="keyword">int</span> rows; + <span class="keyword">int</span> width; + <span class="keyword">int</span> pitch; + <span class="keyword">unsigned</span> <span class="keyword">char</span>* buffer; + <span class="keyword">short</span> num_grays; + <span class="keyword">char</span> pixel_mode; + <span class="keyword">char</span> palette_mode; + <span class="keyword">void</span>* palette; + + } <b>FT_Bitmap</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to describe a bitmap or pixmap to the raster. Note that we now manage pixmaps of various depths through the ‘pixel_mode’ field.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>rows</b></td><td> +<p>The number of bitmap rows.</p> +</td></tr> +<tr valign=top><td><b>width</b></td><td> +<p>The number of pixels in bitmap row.</p> +</td></tr> +<tr valign=top><td><b>pitch</b></td><td> +<p>The pitch's absolute value is the number of bytes taken by one bitmap row, including padding. However, the pitch is positive when the bitmap has a ‘down’ flow, and negative when it has an ‘up’ flow. In all cases, the pitch is an offset to add to a bitmap pointer in order to go down one row.</p> +<p>Note that ‘padding’ means the alignment of a bitmap to a byte border, and FreeType functions normally align to the smallest possible integer value.</p> +<p>For the B/W rasterizer, ‘pitch’ is always an even number.</p> +<p>To change the pitch of a bitmap (say, to make it a multiple of 4), use <a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a>. Alternatively, you might use callback functions to directly render to the application's surface; see the file ‘example2.cpp’ in the tutorial for a demonstration.</p> +</td></tr> +<tr valign=top><td><b>buffer</b></td><td> +<p>A typeless pointer to the bitmap buffer. This value should be aligned on 32-bit boundaries in most cases.</p> +</td></tr> +<tr valign=top><td><b>num_grays</b></td><td> +<p>This field is only used with <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a>; it gives the number of gray levels used in the bitmap.</p> +</td></tr> +<tr valign=top><td><b>pixel_mode</b></td><td> +<p>The pixel mode, i.e., how pixel bits are stored. See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a> for possible values.</p> +</td></tr> +<tr valign=top><td><b>palette_mode</b></td><td> +<p>This field is intended for paletted pixel modes; it indicates how the palette is stored. Not used currently.</p> +</td></tr> +<tr valign=top><td><b>palette</b></td><td> +<p>A typeless pointer to the bitmap palette; this field is intended for paletted pixel modes. Not used currently.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>For now, the only pixel modes supported by FreeType are mono and grays. However, drivers might be added in the future to support more ‘colorful’ options.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_IMAGE_TAG">FT_IMAGE_TAG</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#ifndef <b>FT_IMAGE_TAG</b> +#define <b>FT_IMAGE_TAG</b>( value, _x1, _x2, _x3, _x4 ) \ + value = ( ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x1 << 24 ) | \ + ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x2 << 16 ) | \ + ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x3 << 8 ) | \ + (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x4 ) +#endif /* <b>FT_IMAGE_TAG</b> */ + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This macro converts four-letter tags to an unsigned long type.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:</p> +<pre class="colored"> + #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) value +</pre> +<p>to get a simple enumeration without assigning special numbers.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Glyph_Format">FT_Glyph_Format</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Glyph_Format_ + { + <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a>, 0, 0, 0, 0 ), + + <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>, 'c', 'o', 'm', 'p' ), + <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>, 'b', 'i', 't', 's' ), + <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>, 'o', 'u', 't', 'l' ), + <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a>, 'p', 'l', 'o', 't' ) + + } <b>FT_Glyph_Format</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An enumeration type used to describe the format of a given glyph image. Note that this version of FreeType only supports two image formats, even though future font drivers will be able to register their own format.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_GLYPH_FORMAT_NONE</b></td><td> +<p>The value 0 is reserved.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_COMPOSITE</b></td></tr> +<tr valign=top><td></td><td> +<p>The glyph image is a composite of several other images. This format is <i>only</i> used with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a>, and is used to report compound glyphs (like accented characters).</p> +</td></tr> +<tr valign=top><td><b>FT_GLYPH_FORMAT_BITMAP</b></td><td> +<p>The glyph image is a bitmap, and can be described as an <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a>. You generally need to access the ‘bitmap’ field of the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure to read it.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_OUTLINE</b></td></tr> +<tr valign=top><td></td><td> +<p>The glyph image is a vectorial outline made of line segments and Bézier arcs; it can be described as an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>; you generally want to access the ‘outline’ field of the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure to read it.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_PLOTTER</b></td></tr> +<tr valign=top><td></td><td> +<p>The glyph image is a vectorial path with no inside and outside contours. Some Type 1 fonts, like those in the Hershey family, contain glyphs in this format. These are described as <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>, but FreeType isn't currently capable of rendering them correctly.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="ft_glyph_format_xxx">ft_glyph_format_xxx</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_none</a> <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a> +#define <a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_composite</a> <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a> +#define <a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_bitmap</a> <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a> +#define <a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_outline</a> <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a> +#define <a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_plotter</a> <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of deprecated constants. Use the corresponding <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> values instead.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>ft_glyph_format_none</b></td><td> +<p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a>.</p> +</td></tr> +<tr valign=top><td colspan=0><b>ft_glyph_format_composite</b></td></tr> +<tr valign=top><td></td><td> +<p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>.</p> +</td></tr> +<tr valign=top><td><b>ft_glyph_format_bitmap</b></td><td> +<p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>.</p> +</td></tr> +<tr valign=top><td colspan=0><b>ft_glyph_format_outline</b></td></tr> +<tr valign=top><td></td><td> +<p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>.</p> +</td></tr> +<tr valign=top><td colspan=0><b>ft_glyph_format_plotter</b></td></tr> +<tr valign=top><td></td><td> +<p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a>.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Data">FT_Data</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Data_ + { + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* pointer; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> length; + + } <b>FT_Data</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Read-only binary data represented as a pointer and a length.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>pointer</b></td><td> +<p>The data.</p> +</td></tr> +<tr valign=top><td><b>length</b></td><td> +<p>The length of the data in bytes.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Generic_Finalizer">FT_Generic_Finalizer</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">void</span> (*<b>FT_Generic_Finalizer</b>)(<span class="keyword">void</span>* object); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Describe a function used to destroy the ‘client’ data of any FreeType object. See the description of the <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> type for details of usage.</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>The address of the FreeType object which is under finalization. Its client data is accessed through its ‘generic’ field.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Generic">FT_Generic</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Generic_ + { + <span class="keyword">void</span>* data; + <a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a> finalizer; + + } <b>FT_Generic</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Client applications often need to associate their own data to a variety of FreeType core objects. For example, a text layout API might want to associate a glyph cache to a given size object.</p> +<p>Most FreeType object contains a ‘generic’ field, of type FT_Generic, which usage is left to client applications and font servers.</p> +<p>It can be used to store a pointer to client-specific data, as well as the address of a ‘finalizer’ function, which will be called by FreeType when the object is destroyed (for example, the previous client example would put the address of the glyph cache destructor in the ‘finalizer’ field).</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>data</b></td><td> +<p>A typeless pointer to any client-specified data. This field is completely ignored by the FreeType library.</p> +</td></tr> +<tr valign=top><td><b>finalizer</b></td><td> +<p>A pointer to a ‘generic finalizer’ function, which will be called when the object is destroyed. If this field is set to NULL, no code will be called.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_MAKE_TAG">FT_MAKE_TAG</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_MAKE_TAG</b>( _x1, _x2, _x3, _x4 ) \ + (<a href="ft2-basic_types.html#FT_Tag">FT_Tag</a>) \ + ( ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x1 << 24 ) | \ + ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x2 << 16 ) | \ + ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x3 << 8 ) | \ + (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x4 ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This macro converts four-letter tags which are used to label TrueType tables into an unsigned long to be used within FreeType.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The produced values <b>must</b> be 32-bit integers. Don't redefine this macro.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-bdf_fonts.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-bdf_fonts.html new file mode 100644 index 00000000000..ff941323f20 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-bdf_fonts.html @@ -0,0 +1,260 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +BDF and PCF Files +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_PropertyType">FT_PropertyType</a></td><td></td><td><a href="#BDF_PropertyRec">BDF_PropertyRec</a></td><td></td><td><a href="#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td></tr> +<tr><td></td><td><a href="#BDF_Property">BDF_Property</a></td><td></td><td><a href="#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains the declaration of functions specific to BDF and PCF fonts.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_PropertyType">FT_PropertyType</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_BDF_H (freetype/ftbdf.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> BDF_PropertyType_ + { + <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_NONE</a> = 0, + <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_ATOM</a> = 1, + <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_INTEGER</a> = 2, + <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a> = 3 + + } BDF_PropertyType; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of BDF property types.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>BDF_PROPERTY_TYPE_NONE</b></td><td> +<p>Value 0 is used to indicate a missing property.</p> +</td></tr> +<tr valign=top><td><b>BDF_PROPERTY_TYPE_ATOM</b></td><td> +<p>Property is a string atom.</p> +</td></tr> +<tr valign=top><td colspan=0><b>BDF_PROPERTY_TYPE_INTEGER</b></td></tr> +<tr valign=top><td></td><td> +<p>Property is a 32-bit signed integer.</p> +</td></tr> +<tr valign=top><td colspan=0><b>BDF_PROPERTY_TYPE_CARDINAL</b></td></tr> +<tr valign=top><td></td><td> +<p>Property is a 32-bit unsigned integer.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="BDF_Property">BDF_Property</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_BDF_H (freetype/ftbdf.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> BDF_PropertyRec_* <b>BDF_Property</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a <a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a> structure to model a given BDF/PCF property.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="BDF_PropertyRec">BDF_PropertyRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_BDF_H (freetype/ftbdf.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> BDF_PropertyRec_ + { + BDF_PropertyType type; + <span class="keyword">union</span> { + <span class="keyword">const</span> <span class="keyword">char</span>* atom; + <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> integer; + <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a> cardinal; + + } u; + + } <b>BDF_PropertyRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This structure models a given BDF/PCF property.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>type</b></td><td> +<p>The property type.</p> +</td></tr> +<tr valign=top><td><b>u.atom</b></td><td> +<p>The atom string, if type is <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_ATOM</a>.</p> +</td></tr> +<tr valign=top><td><b>u.integer</b></td><td> +<p>A signed integer, if type is <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_INTEGER</a>.</p> +</td></tr> +<tr valign=top><td><b>u.cardinal</b></td><td> +<p>An unsigned integer, if type is <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a>.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_BDF_H (freetype/ftbdf.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_BDF_Charset_ID</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <span class="keyword">const</span> <span class="keyword">char</span>* *acharset_encoding, + <span class="keyword">const</span> <span class="keyword">char</span>* *acharset_registry ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve a BDF font character set identity, according to the BDF specification.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>acharset_encoding</b></td><td> +<p>Charset encoding, as a C string, owned by the face.</p> +</td></tr> +<tr valign=top><td><b>acharset_registry</b></td><td> +<p>Charset registry, as a C string, owned by the face.</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 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>This function only works with BDF faces, returning an error otherwise.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_BDF_Property">FT_Get_BDF_Property</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_BDF_H (freetype/ftbdf.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_BDF_Property</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <span class="keyword">const</span> <span class="keyword">char</span>* prop_name, + <a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a> *aproperty ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve a BDF property from a BDF or PCF font file.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +<tr valign=top><td><b>name</b></td><td> +<p>The property name.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aproperty</b></td><td> +<p>The property.</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 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>This function works with BDF <i>and</i> PCF fonts. It returns an error otherwise. It also returns an error if the property is not in the font.</p> +<p>A ‘property’ is a either key-value pair within the STARTPROPERTIES ... ENDPROPERTIES block of a BDF font or a key-value pair from the ‘info->props’ array within a ‘FontRec’ structure of a PCF font.</p> +<p>Integer properties are always stored as ‘signed’ within PCF fonts; consequently, <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a> is a possible return value for BDF fonts only.</p> +<p>In case of error, ‘aproperty->type’ is always set to <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_NONE</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-bitmap_handling.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-bitmap_handling.html new file mode 100644 index 00000000000..2e6e17bf620 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-bitmap_handling.html @@ -0,0 +1,302 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Bitmap Handling +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Bitmap_New">FT_Bitmap_New</a></td><td></td><td><a href="#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td></td><td><a href="#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td></tr> +<tr><td></td><td><a href="#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td></td><td><a href="#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td></td><td><a href="#FT_Bitmap_Done">FT_Bitmap_Done</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains functions for converting FT_Bitmap objects.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Bitmap_New">FT_Bitmap_New</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_BITMAP_H (freetype/ftbitmap.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Bitmap_New</b>( <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *abitmap ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Initialize a pointer to an <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> structure.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>abitmap</b></td><td> +<p>A pointer to the bitmap structure.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Bitmap_Copy">FT_Bitmap_Copy</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_BITMAP_H (freetype/ftbitmap.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Bitmap_Copy</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *source, + <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *target); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Copy a bitmap into another one.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to a library object.</p> +</td></tr> +<tr valign=top><td><b>source</b></td><td> +<p>A handle to the source bitmap.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>target</b></td><td> +<p>A handle to the target bitmap.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_BITMAP_H (freetype/ftbitmap.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Bitmap_Embolden</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a>* bitmap, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xStrength, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> yStrength ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Embolden a bitmap. The new bitmap will be about ‘xStrength’ pixels wider and ‘yStrength’ pixels higher. The left and bottom borders are kept unchanged.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to a library object.</p> +</td></tr> +<tr valign=top><td><b>xStrength</b></td><td> +<p>How strong the glyph is emboldened horizontally. Expressed in 26.6 pixel format.</p> +</td></tr> +<tr valign=top><td><b>yStrength</b></td><td> +<p>How strong the glyph is emboldened vertically. Expressed in 26.6 pixel format.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>bitmap</b></td><td> +<p>A handle to the target bitmap.</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 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>The current implementation restricts ‘xStrength’ to be less than or equal to 8 if bitmap is of pixel_mode <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>.</p> +<p>If you want to embolden the bitmap owned by a <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a>, you should call <a href="ft2-bitmap_handling.html#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a> on the slot first.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Bitmap_Convert">FT_Bitmap_Convert</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_BITMAP_H (freetype/ftbitmap.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Bitmap_Convert</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *source, + <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *target, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> alignment ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, or 8bpp to a bitmap object with depth 8bpp, making the number of used bytes per line (a.k.a. the ‘pitch’) a multiple of ‘alignment’.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to a library object.</p> +</td></tr> +<tr valign=top><td><b>source</b></td><td> +<p>The source bitmap.</p> +</td></tr> +<tr valign=top><td><b>alignment</b></td><td> +<p>The pitch of the bitmap is a multiple of this parameter. Common values are 1, 2, or 4.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>target</b></td><td> +<p>The target bitmap.</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 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>It is possible to call <a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a> multiple times without calling <a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a> (the memory is simply reallocated).</p> +<p>Use <a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a> to finally remove the bitmap object.</p> +<p>The ‘library’ argument is taken to have access to FreeType's memory handling functions.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_BITMAP_H (freetype/ftbitmap.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_GlyphSlot_Own_Bitmap</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> slot ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Make sure that a glyph slot owns ‘slot->bitmap’.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>slot</b></td><td> +<p>The glyph slot.</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 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>This function is to be used in combination with <a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Bitmap_Done">FT_Bitmap_Done</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_BITMAP_H (freetype/ftbitmap.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Bitmap_Done</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *bitmap ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Destroy a bitmap object created with <a href="ft2-bitmap_handling.html#FT_Bitmap_New">FT_Bitmap_New</a>.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to a library object.</p> +</td></tr> +<tr valign=top><td><b>bitmap</b></td><td> +<p>The bitmap object to be freed.</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 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>The ‘library’ argument is taken to have access to FreeType's memory handling functions.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-bzip2.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-bzip2.html new file mode 100644 index 00000000000..ce4b94191c9 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-bzip2.html @@ -0,0 +1,94 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +BZIP2 Streams +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></td><td></td><td></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains the declaration of Bzip2-specific functions.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_BZIP2_H (freetype/ftbzip2.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stream_OpenBzip2</b>( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream, + <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> source ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Open a new stream to parse bzip2-compressed font files. This is mainly used to support the compressed ‘*.pcf.bz2’ fonts that come with XFree86.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stream</b></td><td> +<p>The target embedding stream.</p> +</td></tr> +<tr valign=top><td><b>source</b></td><td> +<p>The source stream.</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 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>The source stream must be opened <i>before</i> calling this function.</p> +<p>Calling the internal function ‘FT_Stream_Close’ on the new stream will <b>not</b> call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.</p> +<p>The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream.</p> +<p>In certain builds of the library, bzip2 compression recognition is automatically handled when calling <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a bzip2 compressed stream from it and re-open the face with it.</p> +<p>This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with bzip2 support.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-cache_subsystem.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-cache_subsystem.html new file mode 100644 index 00000000000..abddf6b0244 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-cache_subsystem.html @@ -0,0 +1,1170 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Cache Sub-System +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FTC_Manager">FTC_Manager</a></td><td></td><td><a href="#FTC_CMapCache_New">FTC_CMapCache_New</a></td></tr> +<tr><td></td><td><a href="#FTC_FaceID">FTC_FaceID</a></td><td></td><td><a href="#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></td></tr> +<tr><td></td><td><a href="#FTC_Face_Requester">FTC_Face_Requester</a></td><td></td><td><a href="#FTC_ImageTypeRec">FTC_ImageTypeRec</a></td></tr> +<tr><td></td><td><a href="#FTC_Node">FTC_Node</a></td><td></td><td><a href="#FTC_ImageType">FTC_ImageType</a></td></tr> +<tr><td></td><td><a href="#FTC_Manager_New">FTC_Manager_New</a></td><td></td><td><a href="#FTC_ImageCache">FTC_ImageCache</a></td></tr> +<tr><td></td><td><a href="#FTC_Manager_Reset">FTC_Manager_Reset</a></td><td></td><td><a href="#FTC_ImageCache_New">FTC_ImageCache_New</a></td></tr> +<tr><td></td><td><a href="#FTC_Manager_Done">FTC_Manager_Done</a></td><td></td><td><a href="#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></td></tr> +<tr><td></td><td><a href="#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></td><td></td><td><a href="#FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></td></tr> +<tr><td></td><td><a href="#FTC_ScalerRec">FTC_ScalerRec</a></td><td></td><td><a href="#FTC_SBit">FTC_SBit</a></td></tr> +<tr><td></td><td><a href="#FTC_Scaler">FTC_Scaler</a></td><td></td><td><a href="#FTC_SBitRec">FTC_SBitRec</a></td></tr> +<tr><td></td><td><a href="#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></td><td></td><td><a href="#FTC_SBitCache">FTC_SBitCache</a></td></tr> +<tr><td></td><td><a href="#FTC_Node_Unref">FTC_Node_Unref</a></td><td></td><td><a href="#FTC_SBitCache_New">FTC_SBitCache_New</a></td></tr> +<tr><td></td><td><a href="#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></td><td></td><td><a href="#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></td></tr> +<tr><td></td><td><a href="#FTC_CMapCache">FTC_CMapCache</a></td><td></td><td><a href="#FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section describes the FreeType 2 cache sub-system, which is used to limit the number of concurrently opened <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects, as well as caching information like character maps and glyph images while limiting their maximum memory usage.</p> +<p>Note that all types and functions begin with the ‘FTC_’ prefix.</p> +<p>The cache is highly portable and thus doesn't know anything about the fonts installed on your system, or how to access them. This implies the following scheme:</p> +<p>First, available or installed font faces are uniquely identified by <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> values, provided to the cache by the client. Note that the cache only stores and compares these values, and doesn't try to interpret them in any way.</p> +<p>Second, the cache calls, only when needed, a client-provided function to convert an <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> into a new <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object. The latter is then completely managed by the cache, including its termination through <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>. To monitor termination of face objects, the finalizer callback in the ‘generic’ field of the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object can be used, which might also be used to store the <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> of the face.</p> +<p>Clients are free to map face IDs to anything else. The most simple usage is to associate them to a (pathname,face_index) pair that is used to call <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a>. However, more complex schemes are also possible.</p> +<p>Note that for the cache to work correctly, the face ID values must be <b>persistent</b>, which means that the contents they point to should not change at runtime, or that their value should not become invalid.</p> +<p>If this is unavoidable (e.g., when a font is uninstalled at runtime), you should call <a href="ft2-cache_subsystem.html#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a> as soon as possible, to let the cache get rid of any references to the old <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> it may keep internally. Failure to do so will lead to incorrect behaviour or even crashes.</p> +<p>To use the cache, start with calling <a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a> to create a new <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> object, which models a single cache instance. You can then look up <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects with <a href="ft2-cache_subsystem.html#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a> and <a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a>, respectively.</p> +<p>If you want to use the charmap caching, call <a href="ft2-cache_subsystem.html#FTC_CMapCache_New">FTC_CMapCache_New</a>, then later use <a href="ft2-cache_subsystem.html#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a> to perform the equivalent of <a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a>, only much faster.</p> +<p>If you want to use the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> caching, call <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a>, then later use <a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a> to retrieve the corresponding <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> objects from the cache.</p> +<p>If you need lots of small bitmaps, it is much more memory efficient to call <a href="ft2-cache_subsystem.html#FTC_SBitCache_New">FTC_SBitCache_New</a> followed by <a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a>. This returns <a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a> structures, which are used to store small bitmaps directly. (A small bitmap is one whose metrics and dimensions all fit into 8-bit integers).</p> +<p>We hope to also provide a kerning cache in the near future.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FTC_Manager">FTC_Manager</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ManagerRec_* <b>FTC_Manager</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This object corresponds to one instance of the cache-subsystem. It is used to cache one or more <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects, along with corresponding <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects.</p> +<p>The manager intentionally limits the total number of opened <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects to control memory usage. See the ‘max_faces’ and ‘max_sizes’ parameters of <a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a>.</p> +<p>The manager is also used to cache ‘nodes’ of various types while limiting their total memory usage.</p> +<p>All limitations are enforced by keeping lists of managed objects in most-recently-used order, and flushing old nodes to make room for new ones.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_FaceID">FTC_FaceID</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> <b>FTC_FaceID</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An opaque pointer type that is used to identity face objects. The contents of such objects is application-dependent.</p> +<p>These pointers are typically used to point to a user-defined structure containing a font file path, and face index.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Never use NULL as a valid <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a>.</p> +<p>Face IDs are passed by the client to the cache manager, which calls, when needed, the <a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a> to translate them into new <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects.</p> +<p>If the content of a given face ID changes at runtime, or if the value becomes invalid (e.g., when uninstalling a font), you should immediately call <a href="ft2-cache_subsystem.html#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a> before any other cache function.</p> +<p>Failure to do so will result in incorrect behaviour or even memory leaks and crashes.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_Face_Requester">FTC_Face_Requester</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a> + (*<b>FTC_Face_Requester</b>)( <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id, + <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> request_data, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a>* aface ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A callback function provided by client applications. It is used by the cache manager to translate a given <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> into a new valid <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object, on demand.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face_id</b></td><td> +<p>The face ID to resolve.</p> +</td></tr> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to a FreeType library object.</p> +</td></tr> +<tr valign=top><td><b>req_data</b></td><td> +<p>Application-provided request data (see note below).</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aface</b></td><td> +<p>A new <a href="ft2-base_interface.html#FT_Face">FT_Face</a> handle.</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 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>The third parameter ‘req_data’ is the same as the one passed by the client when <a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a> is called.</p> +<p>The face requester should not perform funny things on the returned face object, like creating a new <a href="ft2-base_interface.html#FT_Size">FT_Size</a> for it, or setting a transformation through <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a>!</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_Node">FTC_Node</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_NodeRec_* <b>FTC_Node</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An opaque handle to a cache node object. Each cache node is reference-counted. A node with a count of 0 might be flushed out of a full cache whenever a lookup request is performed.</p> +<p>If you look up nodes, you have the ability to ‘acquire’ them, i.e., to increment their reference count. This will prevent the node from being flushed out of the cache until you explicitly ‘release’ it (see <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a>).</p> +<p>See also <a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a> and <a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_Manager_New">FTC_Manager_New</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_Manager_New</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> max_faces, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> max_sizes, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> max_bytes, + <a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a> requester, + <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> req_data, + <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> *amanager ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Create a new cache manager.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>The parent FreeType library handle to use.</p> +</td></tr> +<tr valign=top><td><b>max_faces</b></td><td> +<p>Maximum number of opened <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects managed by this cache instance. Use 0 for defaults.</p> +</td></tr> +<tr valign=top><td><b>max_sizes</b></td><td> +<p>Maximum number of opened <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects managed by this cache instance. Use 0 for defaults.</p> +</td></tr> +<tr valign=top><td><b>max_bytes</b></td><td> +<p>Maximum number of bytes to use for cached data nodes. Use 0 for defaults. Note that this value does not account for managed <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects.</p> +</td></tr> +<tr valign=top><td><b>requester</b></td><td> +<p>An application-provided callback used to translate face IDs into real <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects.</p> +</td></tr> +<tr valign=top><td><b>req_data</b></td><td> +<p>A generic pointer that is passed to the requester each time it is called (see <a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a>).</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>amanager</b></td><td> +<p>A handle to a new manager object. 0 in case of failure.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_Manager_Reset">FTC_Manager_Reset</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FTC_Manager_Reset</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Empty a given cache manager. This simply gets rid of all the currently cached <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects within the manager.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>manager</b></td><td> +<p>A handle to the manager.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_Manager_Done">FTC_Manager_Done</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FTC_Manager_Done</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Destroy a given manager after emptying it.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>manager</b></td><td> +<p>A handle to the target cache manager object.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_Manager_LookupFace</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, + <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object that corresponds to a given face ID through a cache manager.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>manager</b></td><td> +<p>A handle to the cache manager.</p> +</td></tr> +<tr valign=top><td><b>face_id</b></td><td> +<p>The ID of the face object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aface</b></td><td> +<p>A handle to the face object.</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 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>The returned <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object is always owned by the manager. You should never try to discard it yourself.</p> +<p>The <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object doesn't necessarily have a current size object (i.e., face->size can be 0). If you need a specific ‘font size’, use <a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a> instead.</p> +<p>Never change the face's transformation matrix (i.e., never call the <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a> function) on a returned face! If you need to transform glyphs, do it yourself after glyph loading.</p> +<p>When you perform a lookup, out-of-memory errors are detected <i>within</i> the lookup and force incremental flushes of the cache until enough memory is released for the lookup to succeed.</p> +<p>If a lookup fails with ‘FT_Err_Out_Of_Memory’ the cache has already been completely flushed, and still no memory was available for the operation.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_ScalerRec">FTC_ScalerRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ScalerRec_ + { + <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> width; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> height; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> pixel; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> x_res; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> y_res; + + } <b>FTC_ScalerRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to describe a given character size in either pixels or points to the cache manager. See <a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a>.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face_id</b></td><td> +<p>The source face ID.</p> +</td></tr> +<tr valign=top><td><b>width</b></td><td> +<p>The character width.</p> +</td></tr> +<tr valign=top><td><b>height</b></td><td> +<p>The character height.</p> +</td></tr> +<tr valign=top><td><b>pixel</b></td><td> +<p>A Boolean. If 1, the ‘width’ and ‘height’ fields are interpreted as integer pixel character sizes. Otherwise, they are expressed as 1/64th of points.</p> +</td></tr> +<tr valign=top><td><b>x_res</b></td><td> +<p>Only used when ‘pixel’ is value 0 to indicate the horizontal resolution in dpi.</p> +</td></tr> +<tr valign=top><td><b>y_res</b></td><td> +<p>Only used when ‘pixel’ is value 0 to indicate the vertical resolution in dpi.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>This type is mainly used to retrieve <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects through the cache manager.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_Scaler">FTC_Scaler</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ScalerRec_* <b>FTC_Scaler</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to an <a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a> structure.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_Manager_LookupSize</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, + <a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a> scaler, + <a href="ft2-base_interface.html#FT_Size">FT_Size</a> *asize ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object that corresponds to a given <a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a> pointer through a cache manager.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>manager</b></td><td> +<p>A handle to the cache manager.</p> +</td></tr> +<tr valign=top><td><b>scaler</b></td><td> +<p>A scaler handle.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>asize</b></td><td> +<p>A handle to the size object.</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 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>The returned <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object is always owned by the manager. You should never try to discard it by yourself.</p> +<p>You can access the parent <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object simply as ‘size->face’ if you need it. Note that this object is also owned by the manager.</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>When you perform a lookup, out-of-memory errors are detected <i>within</i> the lookup and force incremental flushes of the cache until enough memory is released for the lookup to succeed.</p> +<p>If a lookup fails with ‘FT_Err_Out_Of_Memory’ the cache has already been completely flushed, and still no memory is available for the operation.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_Node_Unref">FTC_Node_Unref</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FTC_Node_Unref</b>( <a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a> node, + <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Decrement a cache node's internal reference count. When the count reaches 0, it is not destroyed but becomes eligible for subsequent cache flushes.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>node</b></td><td> +<p>The cache node handle.</p> +</td></tr> +<tr valign=top><td><b>manager</b></td><td> +<p>The cache manager handle.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FTC_Manager_RemoveFaceID</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, + <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A special function used to indicate to the cache manager that a given <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> is no longer valid, either because its content changed, or because it was deallocated or uninstalled.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>manager</b></td><td> +<p>The cache manager handle.</p> +</td></tr> +<tr valign=top><td><b>face_id</b></td><td> +<p>The <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> to be removed.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>This function flushes all nodes from the cache corresponding to this ‘face_id’, with the exception of nodes with a non-null reference count.</p> +<p>Such nodes are however modified internally so as to never appear in later lookups with the same ‘face_id’ value, and to be immediately destroyed when released by all their users.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_CMapCache">FTC_CMapCache</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_CMapCacheRec_* <b>FTC_CMapCache</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An opaque handle used to model a charmap cache. This cache is to hold character codes -> glyph indices mappings.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_CMapCache_New">FTC_CMapCache_New</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_CMapCache_New</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, + <a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a> *acache ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Create a new charmap cache.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>manager</b></td><td> +<p>A handle to the cache manager.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>acache</b></td><td> +<p>A new cache handle. NULL in case of error.</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 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>Like all other caches, this one will be destroyed with the cache manager.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) + <b>FTC_CMapCache_Lookup</b>( <a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a> cache, + <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> cmap_index, + <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a> char_code ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Translate a character code into a glyph index, using the charmap cache.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>cache</b></td><td> +<p>A charmap cache handle.</p> +</td></tr> +<tr valign=top><td><b>face_id</b></td><td> +<p>The source face ID.</p> +</td></tr> +<tr valign=top><td><b>cmap_index</b></td><td> +<p>The index of the charmap in the source face. Any negative value means to use the cache <a href="ft2-base_interface.html#FT_Face">FT_Face</a>'s default charmap.</p> +</td></tr> +<tr valign=top><td><b>char_code</b></td><td> +<p>The character code (in the corresponding charmap).</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>Glyph index. 0 means ‘no glyph’.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_ImageTypeRec">FTC_ImageTypeRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ImageTypeRec_ + { + <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> width; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> height; + <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> flags; + + } <b>FTC_ImageTypeRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model the type of images in a glyph cache.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face_id</b></td><td> +<p>The face ID.</p> +</td></tr> +<tr valign=top><td><b>width</b></td><td> +<p>The width in pixels.</p> +</td></tr> +<tr valign=top><td><b>height</b></td><td> +<p>The height in pixels.</p> +</td></tr> +<tr valign=top><td><b>flags</b></td><td> +<p>The load flags, as in <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_ImageType">FTC_ImageType</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ImageTypeRec_* <b>FTC_ImageType</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to an <a href="ft2-cache_subsystem.html#FTC_ImageTypeRec">FTC_ImageTypeRec</a> structure.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_ImageCache">FTC_ImageCache</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ImageCacheRec_* <b>FTC_ImageCache</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to an glyph image cache object. They are designed to hold many distinct glyph images while not exceeding a certain memory threshold.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_ImageCache_New">FTC_ImageCache_New</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_ImageCache_New</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, + <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a> *acache ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Create a new glyph image cache.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>manager</b></td><td> +<p>The parent manager for the image cache.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>acache</b></td><td> +<p>A handle to the new glyph image cache object.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_ImageCache_Lookup</b>( <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a> cache, + <a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a> type, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, + <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *aglyph, + <a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a> *anode ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve a given glyph image from a glyph image cache.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>cache</b></td><td> +<p>A handle to the source glyph image cache.</p> +</td></tr> +<tr valign=top><td><b>type</b></td><td> +<p>A pointer to a glyph image type descriptor.</p> +</td></tr> +<tr valign=top><td><b>gindex</b></td><td> +<p>The glyph index to retrieve.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aglyph</b></td><td> +<p>The corresponding <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object. 0 in case of failure.</p> +</td></tr> +<tr valign=top><td><b>anode</b></td><td> +<p>Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).</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 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>The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with <a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a> and modify the new one.</p> +<p>If ‘anode’ is <i>not</i> NULL, it receives the address of the cache node containing the glyph image, after increasing its reference count. This ensures that the node (as well as the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>) will always be kept in the cache until you call <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a> to ‘release’ it.</p> +<p>If ‘anode’ is NULL, the cache node is left unchanged, which means that the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_ImageCache_LookupScaler</b>( <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a> cache, + <a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a> scaler, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> load_flags, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, + <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *aglyph, + <a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a> *anode ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A variant of <a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a> that uses an <a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a> to specify the face ID and its size.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>cache</b></td><td> +<p>A handle to the source glyph image cache.</p> +</td></tr> +<tr valign=top><td><b>scaler</b></td><td> +<p>A pointer to a scaler descriptor.</p> +</td></tr> +<tr valign=top><td><b>load_flags</b></td><td> +<p>The corresponding load flags.</p> +</td></tr> +<tr valign=top><td><b>gindex</b></td><td> +<p>The glyph index to retrieve.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aglyph</b></td><td> +<p>The corresponding <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object. 0 in case of failure.</p> +</td></tr> +<tr valign=top><td><b>anode</b></td><td> +<p>Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).</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 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>The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with <a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a> and modify the new one.</p> +<p>If ‘anode’ is <i>not</i> NULL, it receives the address of the cache node containing the glyph image, after increasing its reference count. This ensures that the node (as well as the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>) will always be kept in the cache until you call <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a> to ‘release’ it.</p> +<p>If ‘anode’ is NULL, the cache node is left unchanged, which means that the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</p> +<p>Calls to <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> and friends have no effect on cached glyphs; you should always use the FreeType cache API instead.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_SBit">FTC_SBit</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_SBitRec_* <b>FTC_SBit</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a small bitmap descriptor. See the <a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a> structure for details.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_SBitRec">FTC_SBitRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_SBitRec_ + { + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> width; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> height; + <a href="ft2-basic_types.html#FT_Char">FT_Char</a> left; + <a href="ft2-basic_types.html#FT_Char">FT_Char</a> top; + + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> format; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> max_grays; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> pitch; + <a href="ft2-basic_types.html#FT_Char">FT_Char</a> xadvance; + <a href="ft2-basic_types.html#FT_Char">FT_Char</a> yadvance; + + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* buffer; + + } <b>FTC_SBitRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A very compact structure used to describe a small glyph bitmap.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>width</b></td><td> +<p>The bitmap width in pixels.</p> +</td></tr> +<tr valign=top><td><b>height</b></td><td> +<p>The bitmap height in pixels.</p> +</td></tr> +<tr valign=top><td><b>left</b></td><td> +<p>The horizontal distance from the pen position to the left bitmap border (a.k.a. ‘left side bearing’, or ‘lsb’).</p> +</td></tr> +<tr valign=top><td><b>top</b></td><td> +<p>The vertical distance from the pen position (on the baseline) to the upper bitmap border (a.k.a. ‘top side bearing’). The distance is positive for upwards y coordinates.</p> +</td></tr> +<tr valign=top><td><b>format</b></td><td> +<p>The format of the glyph bitmap (monochrome or gray).</p> +</td></tr> +<tr valign=top><td><b>max_grays</b></td><td> +<p>Maximum gray level value (in the range 1 to 255).</p> +</td></tr> +<tr valign=top><td><b>pitch</b></td><td> +<p>The number of bytes per bitmap line. May be positive or negative.</p> +</td></tr> +<tr valign=top><td><b>xadvance</b></td><td> +<p>The horizontal advance width in pixels.</p> +</td></tr> +<tr valign=top><td><b>yadvance</b></td><td> +<p>The vertical advance height in pixels.</p> +</td></tr> +<tr valign=top><td><b>buffer</b></td><td> +<p>A pointer to the bitmap pixels.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_SBitCache">FTC_SBitCache</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_SBitCacheRec_* <b>FTC_SBitCache</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a small bitmap cache. These are special cache objects used to store small glyph bitmaps (and anti-aliased pixmaps) in a much more efficient way than the traditional glyph image cache implemented by <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_SBitCache_New">FTC_SBitCache_New</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_SBitCache_New</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, + <a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a> *acache ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Create a new cache to store small glyph bitmaps.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>manager</b></td><td> +<p>A handle to the source cache manager.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>acache</b></td><td> +<p>A handle to the new sbit cache. NULL in case of error.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_SBitCache_Lookup</b>( <a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a> cache, + <a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a> type, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, + <a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a> *sbit, + <a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a> *anode ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Look up a given small glyph bitmap in a given sbit cache and ‘lock’ it to prevent its flushing from the cache until needed.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>cache</b></td><td> +<p>A handle to the source sbit cache.</p> +</td></tr> +<tr valign=top><td><b>type</b></td><td> +<p>A pointer to the glyph image type descriptor.</p> +</td></tr> +<tr valign=top><td><b>gindex</b></td><td> +<p>The glyph index.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>sbit</b></td><td> +<p>A handle to a small bitmap descriptor.</p> +</td></tr> +<tr valign=top><td><b>anode</b></td><td> +<p>Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).</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 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>The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the application. They might as well disappear from memory on the next cache lookup, so don't treat them as persistent data.</p> +<p>The descriptor's ‘buffer’ field is set to 0 to indicate a missing glyph bitmap.</p> +<p>If ‘anode’ is <i>not</i> NULL, it receives the address of the cache node containing the bitmap, after increasing its reference count. This ensures that the node (as well as the image) will always be kept in the cache until you call <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a> to ‘release’ it.</p> +<p>If ‘anode’ is NULL, the cache node is left unchanged, which means that the bitmap could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CACHE_H (freetype/ftcache.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_SBitCache_LookupScaler</b>( <a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a> cache, + <a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a> scaler, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> load_flags, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, + <a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a> *sbit, + <a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a> *anode ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A variant of <a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a> that uses an <a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a> to specify the face ID and its size.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>cache</b></td><td> +<p>A handle to the source sbit cache.</p> +</td></tr> +<tr valign=top><td><b>scaler</b></td><td> +<p>A pointer to the scaler descriptor.</p> +</td></tr> +<tr valign=top><td><b>load_flags</b></td><td> +<p>The corresponding load flags.</p> +</td></tr> +<tr valign=top><td><b>gindex</b></td><td> +<p>The glyph index.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>sbit</b></td><td> +<p>A handle to a small bitmap descriptor.</p> +</td></tr> +<tr valign=top><td><b>anode</b></td><td> +<p>Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).</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 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>The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the application. They might as well disappear from memory on the next cache lookup, so don't treat them as persistent data.</p> +<p>The descriptor's ‘buffer’ field is set to 0 to indicate a missing glyph bitmap.</p> +<p>If ‘anode’ is <i>not</i> NULL, it receives the address of the cache node containing the bitmap, after increasing its reference count. This ensures that the node (as well as the image) will always be kept in the cache until you call <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a> to ‘release’ it.</p> +<p>If ‘anode’ is NULL, the cache node is left unchanged, which means that the bitmap could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-cid_fonts.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-cid_fonts.html new file mode 100644 index 00000000000..7b4c3ac5a7a --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-cid_fonts.html @@ -0,0 +1,204 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +CID Fonts +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td></tr> +<tr><td></td><td><a href="#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td></tr> +<tr><td></td><td><a href="#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains the declaration of CID-keyed font specific functions.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CID_H (freetype/ftcid.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_CID_Registry_Ordering_Supplement</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <span class="keyword">const</span> <span class="keyword">char</span>* *registry, + <span class="keyword">const</span> <span class="keyword">char</span>* *ordering, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *supplement); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the Registry/Ordering/Supplement triple (also known as the "R/O/S") from a CID-keyed font.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>registry</b></td><td> +<p>The registry, as a C string, owned by the face.</p> +</td></tr> +<tr valign=top><td><b>ordering</b></td><td> +<p>The ordering, as a C string, owned by the face.</p> +</td></tr> +<tr valign=top><td><b>supplement</b></td><td> +<p>The supplement.</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 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>This function only works with CID faces, returning an error otherwise.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.6</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CID_H (freetype/ftcid.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_CID_Is_Internally_CID_Keyed</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> *is_cid ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the type of the input face, CID keyed or not. In constrast to the <a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a> macro this function returns successfully also for CID-keyed fonts in an SNFT wrapper.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>is_cid</b></td><td> +<p>The type of the face as an <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>.</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 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>This function only works with CID faces and OpenType fonts, returning an error otherwise.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.9</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_CID_H (freetype/ftcid.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_CID_From_Glyph_Index</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *cid ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the CID of the input glyph index.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +<tr valign=top><td><b>glyph_index</b></td><td> +<p>The input glyph index.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>cid</b></td><td> +<p>The CID as an <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a>.</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 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>This function only works with CID faces and OpenType fonts, returning an error otherwise.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.9</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-computations.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-computations.html new file mode 100644 index 00000000000..3f1c5cd4361 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-computations.html @@ -0,0 +1,832 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Computations +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_MulDiv">FT_MulDiv</a></td><td></td><td><a href="#FT_Matrix_Invert">FT_Matrix_Invert</a></td><td></td><td><a href="#FT_Tan">FT_Tan</a></td></tr> +<tr><td></td><td><a href="#FT_MulFix">FT_MulFix</a></td><td></td><td><a href="#FT_Angle">FT_Angle</a></td><td></td><td><a href="#FT_Atan2">FT_Atan2</a></td></tr> +<tr><td></td><td><a href="#FT_DivFix">FT_DivFix</a></td><td></td><td><a href="#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td></td><td><a href="#FT_Angle_Diff">FT_Angle_Diff</a></td></tr> +<tr><td></td><td><a href="#FT_RoundFix">FT_RoundFix</a></td><td></td><td><a href="#FT_ANGLE_2PI">FT_ANGLE_2PI</a></td><td></td><td><a href="#FT_Vector_Unit">FT_Vector_Unit</a></td></tr> +<tr><td></td><td><a href="#FT_CeilFix">FT_CeilFix</a></td><td></td><td><a href="#FT_ANGLE_PI2">FT_ANGLE_PI2</a></td><td></td><td><a href="#FT_Vector_Rotate">FT_Vector_Rotate</a></td></tr> +<tr><td></td><td><a href="#FT_FloorFix">FT_FloorFix</a></td><td></td><td><a href="#FT_ANGLE_PI4">FT_ANGLE_PI4</a></td><td></td><td><a href="#FT_Vector_Length">FT_Vector_Length</a></td></tr> +<tr><td></td><td><a href="#FT_Vector_Transform">FT_Vector_Transform</a></td><td></td><td><a href="#FT_Sin">FT_Sin</a></td><td></td><td><a href="#FT_Vector_Polarize">FT_Vector_Polarize</a></td></tr> +<tr><td></td><td><a href="#FT_Matrix_Multiply">FT_Matrix_Multiply</a></td><td></td><td><a href="#FT_Cos">FT_Cos</a></td><td></td><td><a href="#FT_Vector_From_Polar">FT_Vector_From_Polar</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains various functions used to perform computations on 16.16 fixed-float numbers or 2d vectors.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_MulDiv">FT_MulDiv</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> ) + <b>FT_MulDiv</b>( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> a, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> b, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> c ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A very simple function used to perform the computation ‘(a*b)/c’ with maximal accuracy (it uses a 64-bit intermediate integer whenever necessary).</p> +<p>This function isn't necessarily as fast as some processor specific operations, but is at least completely portable.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>a</b></td><td> +<p>The first multiplier.</p> +</td></tr> +<tr valign=top><td><b>b</b></td><td> +<p>The second multiplier.</p> +</td></tr> +<tr valign=top><td><b>c</b></td><td> +<p>The divisor.</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>The result of ‘(a*b)/c’. This function never traps when trying to divide by zero; it simply returns ‘MaxInt’ or ‘MinInt’ depending on the signs of ‘a’ and ‘b’.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_MulFix">FT_MulFix</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> ) + <b>FT_MulFix</b>( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> a, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> b ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A very simple function used to perform the computation ‘(a*b)/0x10000’ with maximal accuracy. Most of the time this is used to multiply a given value by a 16.16 fixed float factor.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>a</b></td><td> +<p>The first multiplier.</p> +</td></tr> +<tr valign=top><td><b>b</b></td><td> +<p>The second multiplier. Use a 16.16 factor here whenever possible (see note below).</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>The result of ‘(a*b)/0x10000’.</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>This function has been optimized for the case where the absolute value of ‘a’ is less than 2048, and ‘b’ is a 16.16 scaling factor. As this happens mainly when scaling from notional units to fractional pixels in FreeType, it resulted in noticeable speed improvements between versions 2.x and 1.x.</p> +<p>As a conclusion, always try to place a 16.16 factor as the <i>second</i> argument of this function; this can make a great difference.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_DivFix">FT_DivFix</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> ) + <b>FT_DivFix</b>( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> a, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> b ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A very simple function used to perform the computation ‘(a*0x10000)/b’ with maximal accuracy. Most of the time, this is used to divide a given value by a 16.16 fixed float factor.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>a</b></td><td> +<p>The first multiplier.</p> +</td></tr> +<tr valign=top><td><b>b</b></td><td> +<p>The second multiplier. Use a 16.16 factor here whenever possible (see note below).</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>The result of ‘(a*0x10000)/b’.</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>The optimization for FT_DivFix() is simple: If (a << 16) fits in 32 bits, then the division is computed directly. Otherwise, we use a specialized version of <a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_RoundFix">FT_RoundFix</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_RoundFix</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> a ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A very simple function used to round a 16.16 fixed number.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>a</b></td><td> +<p>The number to be rounded.</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>The result of ‘(a + 0x8000) & -0x10000’.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_CeilFix">FT_CeilFix</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_CeilFix</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> a ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A very simple function used to compute the ceiling function of a 16.16 fixed number.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>a</b></td><td> +<p>The number for which the ceiling function is to be computed.</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>The result of ‘(a + 0x10000 - 1) & -0x10000’.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_FloorFix">FT_FloorFix</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_FloorFix</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> a ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A very simple function used to compute the floor function of a 16.16 fixed number.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>a</b></td><td> +<p>The number for which the floor function is to be computed.</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>The result of ‘a & -0x10000’.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Vector_Transform">FT_Vector_Transform</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Vector_Transform</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Transform a single vector through a 2x2 matrix.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>vector</b></td><td> +<p>The target vector to transform.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>matrix</b></td><td> +<p>A pointer to the source 2x2 matrix.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The result is undefined if either ‘vector’ or ‘matrix’ is invalid.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Matrix_Multiply">FT_Matrix_Multiply</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Matrix_Multiply</b>( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* a, + <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* b ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Perform the matrix operation ‘b = a*b’.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>a</b></td><td> +<p>A pointer to matrix ‘a’.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>b</b></td><td> +<p>A pointer to matrix ‘b’.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The result is undefined if either ‘a’ or ‘b’ is zero.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Matrix_Invert">FT_Matrix_Invert</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Matrix_Invert</b>( <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Invert a 2x2 matrix. Return an error if it can't be inverted.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>matrix</b></td><td> +<p>A pointer to the target matrix. Remains untouched in case of error.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Angle">FT_Angle</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> <b>FT_Angle</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This type is used to model angle values in FreeType. Note that the angle is a 16.16 fixed float value expressed in degrees.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_ANGLE_PI">FT_ANGLE_PI</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_ANGLE_PI</b> ( 180L << 16 ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The angle pi expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_ANGLE_2PI">FT_ANGLE_2PI</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_ANGLE_2PI</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> * 2 ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The angle 2*pi expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_ANGLE_PI2">FT_ANGLE_PI2</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_ANGLE_PI2</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> / 2 ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The angle pi/2 expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_ANGLE_PI4">FT_ANGLE_PI4</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_ANGLE_PI4</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> / 4 ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The angle pi/4 expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Sin">FT_Sin</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_Sin</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the sinus of a given angle in fixed point format.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>angle</b></td><td> +<p>The input angle.</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>The sinus value.</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 you need both the sinus and cosinus for a given angle, use the function <a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Cos">FT_Cos</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_Cos</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the cosinus of a given angle in fixed point format.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>angle</b></td><td> +<p>The input angle.</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>The cosinus value.</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 you need both the sinus and cosinus for a given angle, use the function <a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Tan">FT_Tan</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_Tan</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the tangent of a given angle in fixed point format.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>angle</b></td><td> +<p>The input angle.</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>The tangent value.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Atan2">FT_Atan2</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> ) + <b>FT_Atan2</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> x, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> y ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the arc-tangent corresponding to a given vector (x,y) in the 2d plane.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>x</b></td><td> +<p>The horizontal vector coordinate.</p> +</td></tr> +<tr valign=top><td><b>y</b></td><td> +<p>The vertical vector coordinate.</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>The arc-tangent value (i.e. angle).</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Angle_Diff">FT_Angle_Diff</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> ) + <b>FT_Angle_Diff</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle1, + <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle2 ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the difference between two angles. The result is always constrained to the ]-PI..PI] interval.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>angle1</b></td><td> +<p>First angle.</p> +</td></tr> +<tr valign=top><td><b>angle2</b></td><td> +<p>Second angle.</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>Constrained value of ‘value2-value1’.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Vector_Unit">FT_Vector_Unit</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Vector_Unit</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, + <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the unit vector corresponding to a given angle. After the call, the value of ‘vec.x’ will be ‘sin(angle)’, and the value of ‘vec.y’ will be ‘cos(angle)’.</p> +<p>This function is useful to retrieve both the sinus and cosinus of a given angle quickly.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>vec</b></td><td> +<p>The address of target vector.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>angle</b></td><td> +<p>The address of angle.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Vector_Rotate">FT_Vector_Rotate</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Vector_Rotate</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, + <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Rotate a vector by a given angle.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>vec</b></td><td> +<p>The address of target vector.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>angle</b></td><td> +<p>The address of angle.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Vector_Length">FT_Vector_Length</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_Vector_Length</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the length of a given vector.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>vec</b></td><td> +<p>The address of target vector.</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>The vector length, expressed in the same units that the original vector coordinates.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Vector_Polarize">FT_Vector_Polarize</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Vector_Polarize</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *length, + <a href="ft2-computations.html#FT_Angle">FT_Angle</a> *angle ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Compute both the length and angle of a given vector.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>vec</b></td><td> +<p>The address of source vector.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>length</b></td><td> +<p>The vector length.</p> +</td></tr> +<tr valign=top><td><b>angle</b></td><td> +<p>The vector angle.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Vector_From_Polar">FT_Vector_From_Polar</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Vector_From_Polar</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> length, + <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Compute vector coordinates from a length and angle.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>vec</b></td><td> +<p>The address of source vector.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>length</b></td><td> +<p>The vector length.</p> +</td></tr> +<tr valign=top><td><b>angle</b></td><td> +<p>The vector angle.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-font_formats.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-font_formats.html new file mode 100644 index 00000000000..f06ebeaf80c --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-font_formats.html @@ -0,0 +1,84 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Font Formats +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Get_X11_Font_Format">FT_Get_X11_Font_Format</a></td><td></td><td></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>The single function in this section can be used to get the font format. Note that this information is not needed normally; however, there are special cases (like in PDF devices) where it is important to differentiate, in spite of FreeType's uniform API.</p> +<p>This function is in the X11/xf86 namespace for historical reasons and in no way depends on that windowing system.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_X11_Font_Format">FT_Get_X11_Font_Format</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_XFREE86_H (freetype/ftxf86.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">const</span> <span class="keyword">char</span>* ) + <b>FT_Get_X11_Font_Format</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return a string describing the format of a given face, using values which can be used as an X11 FONT_PROPERTY. Possible values are ‘TrueType’, ‘Type 1’, ‘BDF’, ‘PCF’, ‘Type 42’, ‘CID Type 1’, ‘CFF’, ‘PFR’, and ‘Windows FNT’.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>Input face handle.</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>Font format string. NULL in case of error.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-gasp_table.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-gasp_table.html new file mode 100644 index 00000000000..6cc0eb5890f --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-gasp_table.html @@ -0,0 +1,142 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Gasp Table +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_GASP_XXX">FT_GASP_XXX</a></td><td></td><td><a href="#FT_Get_Gasp">FT_Get_Gasp</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>The function <a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a> can be used to query a TrueType or OpenType font for specific entries in its ‘gasp’ table, if any. This is mainly useful when implementing native TrueType hinting with the bytecode interpreter to duplicate the Windows text rendering results.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_GASP_XXX">FT_GASP_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GASP_H (freetype/ftgasp.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a> -1 +#define <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRIDFIT</a> 0x01 +#define <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRAY</a> 0x02 +#define <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_SMOOTHING</a> 0x08 +#define <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_GRIDFIT</a> 0x10 + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of values and/or bit-flags returned by the <a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a> function.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_GASP_NO_TABLE</b></td><td> +<p>This special value means that there is no GASP table in this face. It is up to the client to decide what to do.</p> +</td></tr> +<tr valign=top><td><b>FT_GASP_DO_GRIDFIT</b></td><td> +<p>Grid-fitting and hinting should be performed at the specified ppem. This <b>really</b> means TrueType bytecode interpretation. If this bit is not set, no hinting gets applied.</p> +</td></tr> +<tr valign=top><td><b>FT_GASP_DO_GRAY</b></td><td> +<p>Anti-aliased rendering should be performed at the specified ppem. If not set, do monochrome rendering.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_GASP_SYMMETRIC_SMOOTHING</b></td></tr> +<tr valign=top><td></td><td> +<p>If set, smoothing along multiple axes must be used with ClearType.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_GASP_SYMMETRIC_GRIDFIT</b></td></tr> +<tr valign=top><td></td><td> +<p>Grid-fitting must be used with ClearType's symmetric smoothing.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The bit-flags ‘FT_GASP_DO_GRIDFIT’ and ‘FT_GASP_DO_GRAY’ are to be used for standard font rasterization only. Independently of that, ‘FT_GASP_SYMMETRIC_SMOOTHING’ and ‘FT_GASP_SYMMETRIC_GRIDFIT’ are to be used if ClearType is enabled (and ‘FT_GASP_DO_GRIDFIT’ and ‘FT_GASP_DO_GRAY’ are consequently ignored).</p> +<p>‘ClearType’ is Microsoft's implementation of LCD rendering, partly protected by patents.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.0</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Gasp">FT_Get_Gasp</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GASP_H (freetype/ftgasp.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> ) + <b>FT_Get_Gasp</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ppem ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Read the ‘gasp’ table from a TrueType or OpenType font file and return the entry corresponding to a given character pixel size.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>The source face handle.</p> +</td></tr> +<tr valign=top><td><b>ppem</b></td><td> +<p>The vertical character pixel size.</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>Bit flags (see <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_XXX</a>), or <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a> if there is no ‘gasp’ table in the face.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.0</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-glyph_management.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-glyph_management.html new file mode 100644 index 00000000000..6135f7bd071 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-glyph_management.html @@ -0,0 +1,673 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Glyph Management +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Glyph">FT_Glyph</a></td><td></td><td><a href="#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td></td><td><a href="#ft_glyph_bbox_xxx">ft_glyph_bbox_xxx</a></td></tr> +<tr><td></td><td><a href="#FT_GlyphRec">FT_GlyphRec</a></td><td></td><td><a href="#FT_Get_Glyph">FT_Get_Glyph</a></td><td></td><td><a href="#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td></tr> +<tr><td></td><td><a href="#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td></td><td><a href="#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td></td><td><a href="#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td></tr> +<tr><td></td><td><a href="#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></td><td></td><td><a href="#FT_Glyph_Transform">FT_Glyph_Transform</a></td><td></td><td><a href="#FT_Done_Glyph">FT_Done_Glyph</a></td></tr> +<tr><td></td><td><a href="#FT_OutlineGlyph">FT_OutlineGlyph</a></td><td></td><td><a href="#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains definitions used to manage glyph data through generic FT_Glyph objects. Each of them can contain a bitmap, a vector outline, or even images in other formats.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Glyph">FT_Glyph</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphRec_* <b>FT_Glyph</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Handle to an object used to model generic glyph images. It is a pointer to the <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a> structure and can contain a glyph bitmap or pointer.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Glyph objects are not owned by the library. You must thus release them manually (through <a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a>) <i>before</i> calling <a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_GlyphRec">FT_GlyphRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphRec_ + { + <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library; + <span class="keyword">const</span> FT_Glyph_Class* clazz; + <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> format; + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> advance; + + } <b>FT_GlyphRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The root glyph structure contains a given glyph image plus its advance width in 16.16 fixed float format.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the FreeType library object.</p> +</td></tr> +<tr valign=top><td><b>clazz</b></td><td> +<p>A pointer to the glyph's class. Private.</p> +</td></tr> +<tr valign=top><td><b>format</b></td><td> +<p>The format of the glyph's image.</p> +</td></tr> +<tr valign=top><td><b>advance</b></td><td> +<p>A 16.16 vector that gives the glyph's advance width.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_BitmapGlyph">FT_BitmapGlyph</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BitmapGlyphRec_* <b>FT_BitmapGlyph</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to an object used to model a bitmap glyph image. This is a sub-class of <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>, and a pointer to <a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BitmapGlyphRec_ + { + <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a> root; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> left; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> top; + <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> bitmap; + + } <b>FT_BitmapGlyphRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used for bitmap glyph images. This really is a ‘sub-class’ of <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a>.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>root</b></td><td> +<p>The root <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> fields.</p> +</td></tr> +<tr valign=top><td><b>left</b></td><td> +<p>The left-side bearing, i.e., the horizontal distance from the current pen position to the left border of the glyph bitmap.</p> +</td></tr> +<tr valign=top><td><b>top</b></td><td> +<p>The top-side bearing, i.e., the vertical distance from the current pen position to the top border of the glyph bitmap. This distance is positive for upwards y!</p> +</td></tr> +<tr valign=top><td><b>bitmap</b></td><td> +<p>A descriptor for the bitmap.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>You can typecast an <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> to <a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a> if you have ‘glyph->format == FT_GLYPH_FORMAT_BITMAP’. This lets you access the bitmap's contents easily.</p> +<p>The corresponding pixel buffer is always owned by <a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a> and is thus created and destroyed with it.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_OutlineGlyph">FT_OutlineGlyph</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_OutlineGlyphRec_* <b>FT_OutlineGlyph</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to an object used to model an outline glyph image. This is a sub-class of <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>, and a pointer to <a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_OutlineGlyphRec_ + { + <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a> root; + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> outline; + + } <b>FT_OutlineGlyphRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used for outline (vectorial) glyph images. This really is a ‘sub-class’ of <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a>.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>root</b></td><td> +<p>The root <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> fields.</p> +</td></tr> +<tr valign=top><td><b>outline</b></td><td> +<p>A descriptor for the outline.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>You can typecast an <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> to <a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a> if you have ‘glyph->format == FT_GLYPH_FORMAT_OUTLINE’. This lets you access the outline's content easily.</p> +<p>As the outline is extracted from a glyph slot, its coordinates are expressed normally in 26.6 pixels, unless the flag <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> was used in <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>() or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>().</p> +<p>The outline's tables are always owned by the object and are destroyed with it.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Glyph">FT_Get_Glyph</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Glyph</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> slot, + <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *aglyph ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to extract a glyph image from a slot. Note that the created <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object must be released with <a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a>.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>slot</b></td><td> +<p>A handle to the source glyph slot.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aglyph</b></td><td> +<p>A handle to the glyph object.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Glyph_Copy">FT_Glyph_Copy</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Glyph_Copy</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> source, + <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *target ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to copy a glyph image. Note that the created <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object must be released with <a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a>.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>source</b></td><td> +<p>A handle to the source glyph object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>target</b></td><td> +<p>A handle to the target glyph object. 0 in case of error.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Glyph_Transform">FT_Glyph_Transform</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Glyph_Transform</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> glyph, + <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* delta ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Transform a glyph image if its format is scalable.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>glyph</b></td><td> +<p>A handle to the target glyph object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>matrix</b></td><td> +<p>A pointer to a 2x2 matrix to apply.</p> +</td></tr> +<tr valign=top><td><b>delta</b></td><td> +<p>A pointer to a 2d vector to apply. Coordinates are expressed in 1/64th of a pixel.</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 (if not 0, the glyph format is not scalable).</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>The 2x2 transformation matrix is also applied to the glyph's advance vector.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Glyph_BBox_Mode_ + { + <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a> = 0, + <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a> = 0, + <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a> = 1, + <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a> = 2, + <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a> = 3 + + } <b>FT_Glyph_BBox_Mode</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The mode how the values of <a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a> are returned.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_GLYPH_BBOX_UNSCALED</b></td><td> +<p>Return unscaled font units.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_GLYPH_BBOX_SUBPIXELS</b></td></tr> +<tr valign=top><td></td><td> +<p>Return unfitted 26.6 coordinates.</p> +</td></tr> +<tr valign=top><td><b>FT_GLYPH_BBOX_GRIDFIT</b></td><td> +<p>Return grid-fitted 26.6 coordinates.</p> +</td></tr> +<tr valign=top><td><b>FT_GLYPH_BBOX_TRUNCATE</b></td><td> +<p>Return coordinates in integer pixels.</p> +</td></tr> +<tr valign=top><td><b>FT_GLYPH_BBOX_PIXELS</b></td><td> +<p>Return grid-fitted pixel coordinates.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="ft_glyph_bbox_xxx">ft_glyph_bbox_xxx</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_unscaled</a> <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a> +#define <a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_subpixels</a> <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a> +#define <a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_gridfit</a> <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a> +#define <a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_truncate</a> <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a> +#define <a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_pixels</a> <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>These constants are deprecated. Use the corresponding <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a> values instead.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>ft_glyph_bbox_unscaled</b></td><td> +<p>See <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a>.</p> +</td></tr> +<tr valign=top><td colspan=0><b>ft_glyph_bbox_subpixels</b></td></tr> +<tr valign=top><td></td><td> +<p>See <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a>.</p> +</td></tr> +<tr valign=top><td><b>ft_glyph_bbox_gridfit</b></td><td> +<p>See <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a>.</p> +</td></tr> +<tr valign=top><td><b>ft_glyph_bbox_truncate</b></td><td> +<p>See <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a>.</p> +</td></tr> +<tr valign=top><td><b>ft_glyph_bbox_pixels</b></td><td> +<p>See <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a>.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Glyph_Get_CBox</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> glyph, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> bbox_mode, + <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> *acbox ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return a glyph's ‘control box’. 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 ‘ftbbox’ 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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>glyph</b></td><td> +<p>A handle to the source glyph object.</p> +</td></tr> +<tr valign=top><td><b>mode</b></td><td> +<p>The mode which indicates how to interpret the returned bounding box values.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>acbox</b></td><td> +<p>The glyph coordinate bounding box. Coordinates are expressed in 1/64th of pixels if it is grid-fitted.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Coordinates are relative to the glyph origin, using the y upwards convention.</p> +<p>If the glyph has been loaded with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>, ‘bbox_mode’ must be set to <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a> to get unscaled font units in 26.6 pixel format. The value <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a> is another name for this constant.</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 CBox is meaningless. To get reasonable values for the CBox 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 CBox which can be eventually converted back to font units.</p> +<p>Note that the maximum coordinates are exclusive, which means that one can compute the width and height of the glyph image (be it in integer or 26.6 pixels) as:</p> +<pre class="colored"> + width = bbox.xMax - bbox.xMin; + height = bbox.yMax - bbox.yMin; +</pre> +<p>Note also that for 26.6 coordinates, if ‘bbox_mode’ is set to <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a>, the coordinates will also be grid-fitted, which corresponds to:</p> +<pre class="colored"> + bbox.xMin = FLOOR(bbox.xMin); + bbox.yMin = FLOOR(bbox.yMin); + bbox.xMax = CEILING(bbox.xMax); + bbox.yMax = CEILING(bbox.yMax); +</pre> +<p>To get the bbox in pixel coordinates, set ‘bbox_mode’ to <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a>.</p> +<p>To get the bbox in grid-fitted pixel coordinates, set ‘bbox_mode’ to <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Glyph_To_Bitmap</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>* the_glyph, + <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> render_mode, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* origin, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> destroy ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Convert a given glyph object to a bitmap glyph object.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>the_glyph</b></td><td> +<p>A pointer to a handle to the target glyph.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>render_mode</b></td><td> +<p>An enumeration that describes how the data is rendered.</p> +</td></tr> +<tr valign=top><td><b>origin</b></td><td> +<p>A pointer to a vector used to translate the glyph image before rendering. Can be 0 (if no translation). The origin is expressed in 26.6 pixels.</p> +</td></tr> +<tr valign=top><td><b>destroy</b></td><td> +<p>A boolean that indicates that the original glyph image should be destroyed by this function. It is never destroyed in case of error.</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 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>This function does nothing if the glyph format isn't scalable.</p> +<p>The glyph image is translated with the ‘origin’ vector before rendering.</p> +<p>The first parameter is a pointer to an <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> handle, that will be <i>replaced</i> by this function (with newly allocated data). Typically, you would use (omitting error handling):</p> +<p></p> +<pre class="colored"> + FT_Glyph glyph; + FT_BitmapGlyph glyph_bitmap; + + + // load glyph + error = FT_Load_Char( face, glyph_index, FT_LOAD_DEFAUT ); + + // extract glyph image + error = FT_Get_Glyph( face->glyph, &glyph ); + + // convert to a bitmap (default render mode + destroying old) + if ( glyph->format != FT_GLYPH_FORMAT_BITMAP ) + { + error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_NORMAL, + 0, 1 ); + if ( error ) // `glyph' unchanged + ... + } + + // access bitmap content by typecasting + glyph_bitmap = (FT_BitmapGlyph)glyph; + + // do funny stuff with it, like blitting/drawing + ... + + // discard glyph image (bitmap or not) + FT_Done_Glyph( glyph ); +</pre> +<p></p> +<p>Here another example, again without error handling:</p> +<p></p> +<pre class="colored"> + FT_Glyph glyphs[MAX_GLYPHS] + + + ... + + for ( idx = 0; i < MAX_GLYPHS; i++ ) + error = FT_Load_Glyph( face, idx, FT_LOAD_DEFAULT ) || + FT_Get_Glyph ( face->glyph, &glyph[idx] ); + + ... + + for ( idx = 0; i < MAX_GLYPHS; i++ ) + { + FT_Glyph bitmap = glyphs[idx]; + + + ... + + // after this call, `bitmap' no longer points into + // the `glyphs' array (and the old value isn't destroyed) + FT_Glyph_To_Bitmap( &bitmap, FT_RENDER_MODE_MONO, 0, 0 ); + + ... + + FT_Done_Glyph( bitmap ); + } + + ... + + for ( idx = 0; i < MAX_GLYPHS; i++ ) + FT_Done_Glyph( glyphs[idx] ); +</pre> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Done_Glyph">FT_Done_Glyph</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GLYPH_H (freetype/ftglyph.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Done_Glyph</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> glyph ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Destroy a given glyph.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>glyph</b></td><td> +<p>A handle to the target glyph object.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-glyph_stroker.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-glyph_stroker.html new file mode 100644 index 00000000000..6bd69bec8ad --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-glyph_stroker.html @@ -0,0 +1,928 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Glyph Stroker +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Stroker">FT_Stroker</a></td><td></td><td><a href="#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td></tr> +<tr><td></td><td><a href="#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td></td><td><a href="#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td></tr> +<tr><td></td><td><a href="#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td></td><td><a href="#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td></tr> +<tr><td></td><td><a href="#FT_StrokerBorder">FT_StrokerBorder</a></td><td></td><td><a href="#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td></tr> +<tr><td></td><td><a href="#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td></td><td><a href="#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td></tr> +<tr><td></td><td><a href="#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td></td><td><a href="#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td></tr> +<tr><td></td><td><a href="#FT_Stroker_New">FT_Stroker_New</a></td><td></td><td><a href="#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td></tr> +<tr><td></td><td><a href="#FT_Stroker_Set">FT_Stroker_Set</a></td><td></td><td><a href="#FT_Stroker_Export">FT_Stroker_Export</a></td></tr> +<tr><td></td><td><a href="#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td><td></td><td><a href="#FT_Stroker_Done">FT_Stroker_Done</a></td></tr> +<tr><td></td><td><a href="#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td><td></td><td><a href="#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td></tr> +<tr><td></td><td><a href="#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td><td></td><td><a href="#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This component generates stroked outlines of a given vectorial glyph. It also allows you to retrieve the ‘outside’ and/or the ‘inside’ borders of the stroke.</p> +<p>This can be useful to generate ‘bordered’ glyph, i.e., glyphs displayed with a coloured (and anti-aliased) border around their shape.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker">FT_Stroker</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StrokerRec_* <b>FT_Stroker</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Opaque handler to a path stroker object.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Stroker_LineJoin_ + { + <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_ROUND</a> = 0, + <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_BEVEL</a>, + <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER</a> + + } <b>FT_Stroker_LineJoin</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>These values determine how two joining lines are rendered in a stroker.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td colspan=0><b>FT_STROKER_LINEJOIN_ROUND</b></td></tr> +<tr valign=top><td></td><td> +<p>Used to render rounded line joins. Circular arcs are used to join two lines smoothly.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_STROKER_LINEJOIN_BEVEL</b></td></tr> +<tr valign=top><td></td><td> +<p>Used to render beveled line joins; i.e., the two joining lines are extended until they intersect.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_STROKER_LINEJOIN_MITER</b></td></tr> +<tr valign=top><td></td><td> +<p>Same as beveled rendering, except that an additional line break is added if the angle between the two joining lines is too closed (this is useful to avoid unpleasant spikes in beveled rendering).</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_LineCap">FT_Stroker_LineCap</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Stroker_LineCap_ + { + <a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_BUTT</a> = 0, + <a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_ROUND</a>, + <a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_SQUARE</a> + + } <b>FT_Stroker_LineCap</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>These values determine how the end of opened sub-paths are rendered in a stroke.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td colspan=0><b>FT_STROKER_LINECAP_BUTT</b></td></tr> +<tr valign=top><td></td><td> +<p>The end of lines is rendered as a full stop on the last point itself.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_STROKER_LINECAP_ROUND</b></td></tr> +<tr valign=top><td></td><td> +<p>The end of lines is rendered as a half-circle around the last point.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_STROKER_LINECAP_SQUARE</b></td></tr> +<tr valign=top><td></td><td> +<p>The end of lines is rendered as a square around the last point.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_StrokerBorder">FT_StrokerBorder</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_StrokerBorder_ + { + <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a> = 0, + <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a> + + } <b>FT_StrokerBorder</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>These values are used to select a given stroke border in <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a>.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_STROKER_BORDER_LEFT</b></td><td> +<p>Select the left border, relative to the drawing direction.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_STROKER_BORDER_RIGHT</b></td></tr> +<tr valign=top><td></td><td> +<p>Select the right border, relative to the drawing direction.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Applications are generally interested in the ‘inside’ and ‘outside’ borders. However, there is no direct mapping between these and the ‘left’ and ‘right’ ones, since this really depends on the glyph's drawing orientation, which varies between font formats.</p> +<p>You can however use <a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a> and <a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a> to get these.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> ) + <b>FT_Outline_GetInsideBorder</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> value corresponding to the ‘inside’ borders of a given outline.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>outline</b></td><td> +<p>The source outline handle.</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>The border index. <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a> for empty or invalid outlines.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> ) + <b>FT_Outline_GetOutsideBorder</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> value corresponding to the ‘outside’ borders of a given outline.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>outline</b></td><td> +<p>The source outline handle.</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>The border index. <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a> for empty or invalid outlines.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_New">FT_Stroker_New</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_New</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> *astroker ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Create a new stroker object.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>FreeType library handle.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>astroker</b></td><td> +<p>A new stroker object handle. NULL in case of error.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_Set">FT_Stroker_Set</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Stroker_Set</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> radius, + <a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a> line_cap, + <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a> line_join, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> miter_limit ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Reset a stroker object's attributes.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>The target stroker handle.</p> +</td></tr> +<tr valign=top><td><b>radius</b></td><td> +<p>The border radius.</p> +</td></tr> +<tr valign=top><td><b>line_cap</b></td><td> +<p>The line cap style.</p> +</td></tr> +<tr valign=top><td><b>line_join</b></td><td> +<p>The line join style.</p> +</td></tr> +<tr valign=top><td><b>miter_limit</b></td><td> +<p>The miter limit for the FT_STROKER_LINEJOIN_MITER style, expressed as 16.16 fixed point value.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The radius is expressed in the same units as the outline coordinates.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_Rewind">FT_Stroker_Rewind</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Stroker_Rewind</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Reset a stroker object without changing its attributes. You should call this function before beginning a new series of calls to <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> or <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>The target stroker handle.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_ParseOutline</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> opened ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A convenience function used to parse a whole outline with the stroker. The resulting outline(s) can be retrieved later by functions like <a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a>.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>The target stroker handle.</p> +</td></tr> +<tr valign=top><td><b>outline</b></td><td> +<p>The source outline.</p> +</td></tr> +<tr valign=top><td><b>opened</b></td><td> +<p>A boolean. If 1, the outline is treated as an open path instead of a closed one.</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 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 ‘opened’ is 0 (the default), the outline is treated as a closed path, and the stroker generates two distinct ‘border’ outlines.</p> +<p>If ‘opened’ is 1, the outline is processed as an open path, and the stroker generates a single ‘stroke’ outline.</p> +<p>This function calls <a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a> automatically.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_BeginSubPath</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> open ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Start a new sub-path in the stroker.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>The target stroker handle.</p> +</td></tr> +<tr valign=top><td><b>to</b></td><td> +<p>A pointer to the start vector.</p> +</td></tr> +<tr valign=top><td><b>open</b></td><td> +<p>A boolean. If 1, the sub-path is treated as an open one.</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 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>This function is useful when you need to stroke a path that is not stored as an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> object.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_EndSubPath</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Close the current sub-path in the stroker.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>The target stroker handle.</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 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>You should call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a>. If the subpath was not ‘opened’, this function ‘draws’ a single line segment to the start position when needed.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_LineTo">FT_Stroker_LineTo</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_LineTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>‘Draw’ a single line segment in the stroker's current sub-path, from the last position.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>The target stroker handle.</p> +</td></tr> +<tr valign=top><td><b>to</b></td><td> +<p>A pointer to the destination point.</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 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>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_ConicTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>‘Draw’ a single quadratic Bézier in the stroker's current sub-path, from the last position.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>The target stroker handle.</p> +</td></tr> +<tr valign=top><td><b>control</b></td><td> +<p>A pointer to a Bézier control point.</p> +</td></tr> +<tr valign=top><td><b>to</b></td><td> +<p>A pointer to the destination point.</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 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>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_CubicTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control1, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control2, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>‘Draw’ a single cubic Bézier in the stroker's current sub-path, from the last position.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>The target stroker handle.</p> +</td></tr> +<tr valign=top><td><b>control1</b></td><td> +<p>A pointer to the first Bézier control point.</p> +</td></tr> +<tr valign=top><td><b>control2</b></td><td> +<p>A pointer to second Bézier control point.</p> +</td></tr> +<tr valign=top><td><b>to</b></td><td> +<p>A pointer to the destination point.</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 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>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_GetBorderCounts</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> border, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *anum_points, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *anum_contours ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export one of the ‘border’ or ‘stroke’ outlines generated by the stroker.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>The target stroker handle.</p> +</td></tr> +<tr valign=top><td><b>border</b></td><td> +<p>The border index.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>anum_points</b></td><td> +<p>The number of points.</p> +</td></tr> +<tr valign=top><td><b>anum_contours</b></td><td> +<p>The number of contours.</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 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>When an outline, or a sub-path, is ‘closed’, the stroker generates two independent ‘border’ outlines, named ‘left’ and ‘right’.</p> +<p>When the outline, or a sub-path, is ‘opened’, the stroker merges the ‘border’ outlines with caps. The ‘left’ border receives all points, while the ‘right’ border becomes empty.</p> +<p>Use the function <a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a> instead if you want to retrieve the counts associated to both borders.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Stroker_ExportBorder</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> border, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to export the corresponding border to your own <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> structure.</p> +<p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>The target stroker handle.</p> +</td></tr> +<tr valign=top><td><b>border</b></td><td> +<p>The border index.</p> +</td></tr> +<tr valign=top><td><b>outline</b></td><td> +<p>The target outline handle.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Always call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to get sure that there is enough room in your <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> object to receive all new data.</p> +<p>When an outline, or a sub-path, is ‘closed’, the stroker generates two independent ‘border’ outlines, named ‘left’ and ‘right’</p> +<p>When the outline, or a sub-path, is ‘opened’, the stroker merges the ‘border’ outlines with caps. The ‘left’ border receives all points, while the ‘right’ border becomes empty.</p> +<p>Use the function <a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a> instead if you want to retrieve all borders at once.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_GetCounts</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *anum_points, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *anum_contours ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export all points/borders from the stroked outline/path.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>The target stroker handle.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>anum_points</b></td><td> +<p>The number of points.</p> +</td></tr> +<tr valign=top><td><b>anum_contours</b></td><td> +<p>The number of contours.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_Export">FT_Stroker_Export</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Stroker_Export</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to export all borders to your own <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> structure.</p> +<p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>The target stroker handle.</p> +</td></tr> +<tr valign=top><td><b>outline</b></td><td> +<p>The target outline handle.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stroker_Done">FT_Stroker_Done</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Stroker_Done</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Destroy a stroker object.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>A stroker handle. Can be NULL.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Glyph_Stroke">FT_Glyph_Stroke</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Glyph_Stroke</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *pglyph, + <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> destroy ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Stroke a given outline glyph object with a given stroker.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>pglyph</b></td><td> +<p>Source glyph handle on input, new glyph handle on output.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>A stroker handle.</p> +</td></tr> +<tr valign=top><td><b>destroy</b></td><td> +<p>A Boolean. If 1, the source glyph object is destroyed on success.</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 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>The source glyph is untouched in case of error.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_STROKER_H (freetype/ftstroke.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Glyph_StrokeBorder</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *pglyph, + <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> inside, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> destroy ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Stroke a given outline glyph object with a given stroker, but only return either its inside or outside border.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>pglyph</b></td><td> +<p>Source glyph handle on input, new glyph handle on output.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stroker</b></td><td> +<p>A stroker handle.</p> +</td></tr> +<tr valign=top><td><b>inside</b></td><td> +<p>A Boolean. If 1, return the inside border, otherwise the outside border.</p> +</td></tr> +<tr valign=top><td><b>destroy</b></td><td> +<p>A Boolean. If 1, the source glyph object is destroyed on success.</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 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>The source glyph is untouched in case of error.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-glyph_variants.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-glyph_variants.html new file mode 100644 index 00000000000..68327756b76 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-glyph_variants.html @@ -0,0 +1,267 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Glyph Variants +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td></td><td><a href="#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td></tr> +<tr><td></td><td><a href="#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td></td><td><a href="#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td></tr> +<tr><td></td><td><a href="#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>Many CJK characters have variant forms. They are a sort of grey area somewhere between being totally irrelevant and semantically distinct; for this reason, the Unicode consortium decided to introduce Ideographic Variation Sequences (IVS), consisting of a Unicode base character and one of 240 variant selectors (U+E0100-U+E01EF), instead of further extending the already huge code range for CJK characters.</p> +<p>An IVS is registered and unique; for further details please refer to Unicode Technical Report #37, the Ideographic Variation Database. To date (October 2007), the character with the most variants is U+908A, having 8 such IVS.</p> +<p>Adobe and MS decided to support IVS with a new cmap subtable (format 14). It is an odd subtable because it is not a mapping of input code points to glyphs, but contains lists of all variants supported by the font.</p> +<p>A variant may be either ‘default’ or ‘non-default’. A default variant is the one you will get for that code point if you look it up in the standard Unicode cmap. A non-default variant is a different glyph.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) + <b>FT_Face_GetCharVariantIndex</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> charcode, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> variantSelector ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the glyph index of a given character code as modified by the variation selector.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</p> +</td></tr> +<tr valign=top><td><b>charcode</b></td><td> +<p>The character code point in Unicode.</p> +</td></tr> +<tr valign=top><td><b>variantSelector</b></td><td> +<p>The Unicode code point of the variation selector.</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>The glyph index. 0 means either ‘undefined character code’, or ‘undefined selector code’, or ‘no variation selector cmap subtable’, or ‘current CharMap is not Unicode’.</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 you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value 0 always corresponds to the ‘missing glyph’.</p> +<p>This function is only meaningful if a) the font has a variation selector cmap sub table, and b) the current charmap has a Unicode encoding.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.6</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> ) + <b>FT_Face_GetCharVariantIsDefault</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> charcode, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> variantSelector ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Check whether this variant of this Unicode character is the one to be found in the ‘cmap’.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</p> +</td></tr> +<tr valign=top><td><b>charcode</b></td><td> +<p>The character codepoint in Unicode.</p> +</td></tr> +<tr valign=top><td><b>variantSelector</b></td><td> +<p>The Unicode codepoint of the variation selector.</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>1 if found in the standard (Unicode) cmap, 0 if found in the variation selector cmap, or -1 if it is not a variant.</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>This function is only meaningful if the font has a variation selector cmap subtable.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.6</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>* ) + <b>FT_Face_GetVariantSelectors</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return a zero-terminated list of Unicode variant selectors found in the font.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</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>A pointer to an array of selector code points, or NULL if there is no valid variant selector cmap subtable.</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>The last item in the array is 0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.6</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>* ) + <b>FT_Face_GetVariantsOfChar</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> charcode ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return a zero-terminated list of Unicode variant selectors found for the specified character code.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</p> +</td></tr> +<tr valign=top><td><b>charcode</b></td><td> +<p>The character codepoint in Unicode.</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>A pointer to an array of variant selector code points which are active for the given character, or NULL if the corresponding list is empty.</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>The last item in the array is 0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.6</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>* ) + <b>FT_Face_GetCharsOfVariant</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> variantSelector ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return a zero-terminated list of Unicode character codes found for the specified variant selector.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face object.</p> +</td></tr> +<tr valign=top><td><b>variantSelector</b></td><td> +<p>The variant selector code point in Unicode.</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>A list of all the code points which are specified by this selector (both default and non-default codes are returned) or NULL if there is no valid cmap or the variant selector is invalid.</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>The last item in the array is 0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.6</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-gx_validation.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-gx_validation.html new file mode 100644 index 00000000000..dfd64eef257 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-gx_validation.html @@ -0,0 +1,356 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +TrueTypeGX/AAT Validation +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td><td></td><td><a href="#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></td><td></td><td><a href="#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td></tr> +<tr><td></td><td><a href="#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td><td></td><td><a href="#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td><td></td><td></td></tr> +<tr><td></td><td><a href="#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></td><td></td><td><a href="#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains the declaration of functions to validate some TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop, lcar).</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_VALIDATE_GX_LENGTH</b> (FT_VALIDATE_GX_LAST_INDEX + 1) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The number of tables checked in this module. Use it as a parameter for the ‘table-length’ argument of function <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a> FT_VALIDATE_GX_BITFIELD( feat ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a> FT_VALIDATE_GX_BITFIELD( mort ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a> FT_VALIDATE_GX_BITFIELD( morx ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a> FT_VALIDATE_GX_BITFIELD( bsln ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a> FT_VALIDATE_GX_BITFIELD( just ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a> FT_VALIDATE_GX_BITFIELD( kern ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a> FT_VALIDATE_GX_BITFIELD( opbd ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a> FT_VALIDATE_GX_BITFIELD( trak ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a> FT_VALIDATE_GX_BITFIELD( prop ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a> FT_VALIDATE_GX_BITFIELD( lcar ) + +#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GX</a> ( <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of bit-field constants used with <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a> to indicate which TrueTypeGX/AAT Type tables should be validated.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_VALIDATE_feat</b></td><td> +<p>Validate ‘feat’ table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_mort</b></td><td> +<p>Validate ‘mort’ table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_morx</b></td><td> +<p>Validate ‘morx’ table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_bsln</b></td><td> +<p>Validate ‘bsln’ table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_just</b></td><td> +<p>Validate ‘just’ table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_kern</b></td><td> +<p>Validate ‘kern’ table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_opbd</b></td><td> +<p>Validate ‘opbd’ table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_trak</b></td><td> +<p>Validate ‘trak’ table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_prop</b></td><td> +<p>Validate ‘prop’ table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_lcar</b></td><td> +<p>Validate ‘lcar’ table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_GX</b></td><td> +<p>Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop and lcar).</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_TrueTypeGX_Validate</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> validation_flags, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> tables[<a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a>], + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> table_length ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Validate various TrueTypeGX tables to assure that all offsets and indices are valid. The idea is that a higher-level library which actually does the text layout can access those tables without error checking (which can be quite time consuming).</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +<tr valign=top><td><b>validation_flags</b></td><td> +<p>A bit field which specifies the tables to be validated. See <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a> for possible values.</p> +</td></tr> +<tr valign=top><td><b>table_length</b></td><td> +<p>The size of the ‘tables’ array. Normally, <a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a> should be passed.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>tables</b></td><td> +<p>The array where all validated sfnt tables are stored. The array itself must be allocated by a client.</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 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>This function only works with TrueTypeGX fonts, returning an error otherwise.</p> +<p>After use, the application should deallocate the buffers pointed to by each ‘tables’ element, by calling <a href="ft2-gx_validation.html#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a>. A NULL value indicates that the table either doesn't exist in the font, the application hasn't asked for validation, or the validator doesn't have the ability to validate the sfnt table.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_TrueTypeGX_Free</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> table ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Free the buffer allocated by TrueTypeGX validator.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +<tr valign=top><td><b>table</b></td><td> +<p>The pointer to the buffer allocated by <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a>.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>This function must be used to free the buffer allocated by <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a> only.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a> ( FT_VALIDATE_GX_START << 0 ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a> ( FT_VALIDATE_GX_START << 1 ) + +#define <a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERN</a> ( <a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a> | <a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a> ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of bit-field constants used with <a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a> to indicate the classic kern dialect or dialects. If the selected type doesn't fit, <a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a> regards the table as invalid.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_VALIDATE_MS</b></td><td> +<p>Handle the ‘kern’ table as a classic Microsoft kern table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_APPLE</b></td><td> +<p>Handle the ‘kern’ table as a classic Apple kern table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_CKERN</b></td><td> +<p>Handle the ‘kern’ as either classic Apple or Microsoft kern table.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_ClassicKern_Validate</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> validation_flags, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *ckern_table ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Validate classic (16-bit format) kern table to assure that the offsets and indices are valid. The idea is that a higher-level library which actually does the text layout can access those tables without error checking (which can be quite time consuming).</p> +<p>The ‘kern’ table validator in <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a> deals with both the new 32-bit format and the classic 16-bit format, while FT_ClassicKern_Validate only supports the classic 16-bit format.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +<tr valign=top><td><b>validation_flags</b></td><td> +<p>A bit field which specifies the dialect to be validated. See <a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a> for possible values.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>ckern_table</b></td><td> +<p>A pointer to the kern table.</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 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>After use, the application should deallocate the buffers pointed to by ‘ckern_table’, by calling <a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a>. A NULL value indicates that the table doesn't exist in the font.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_ClassicKern_Free">FT_ClassicKern_Free</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_ClassicKern_Free</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> table ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Free the buffer allocated by classic Kern validator.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +<tr valign=top><td><b>table</b></td><td> +<p>The pointer to the buffer that is allocated by <a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a>.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>This function must be used to free the buffer allocated by <a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a> only.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-gzip.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-gzip.html new file mode 100644 index 00000000000..c2a38241e66 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-gzip.html @@ -0,0 +1,94 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +GZIP Streams +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td></td><td></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains the declaration of Gzip-specific functions.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_GZIP_H (freetype/ftgzip.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stream_OpenGzip</b>( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream, + <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> source ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Open a new stream to parse gzip-compressed font files. This is mainly used to support the compressed ‘*.pcf.gz’ fonts that come with XFree86.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stream</b></td><td> +<p>The target embedding stream.</p> +</td></tr> +<tr valign=top><td><b>source</b></td><td> +<p>The source stream.</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 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>The source stream must be opened <i>before</i> calling this function.</p> +<p>Calling the internal function ‘FT_Stream_Close’ on the new stream will <b>not</b> call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.</p> +<p>The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream.</p> +<p>In certain builds of the library, gzip compression recognition is automatically handled when calling <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a gzipped stream from it and re-open the face with it.</p> +<p>This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with zlib support.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-header_file_macros.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-header_file_macros.html new file mode 100644 index 00000000000..fc2599cf407 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-header_file_macros.html @@ -0,0 +1,853 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Header File Macros +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td></td><td><a href="#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr> +<tr><td></td><td><a href="#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td></td><td><a href="#FT_GLYPH_H">FT_GLYPH_H</a></td></tr> +<tr><td></td><td><a href="#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td></td><td><a href="#FT_BITMAP_H">FT_BITMAP_H</a></td></tr> +<tr><td></td><td><a href="#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td></td><td><a href="#FT_BBOX_H">FT_BBOX_H</a></td></tr> +<tr><td></td><td><a href="#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td></td><td><a href="#FT_CACHE_H">FT_CACHE_H</a></td></tr> +<tr><td></td><td><a href="#FT_ERRORS_H">FT_ERRORS_H</a></td><td></td><td><a href="#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td></tr> +<tr><td></td><td><a href="#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td></td><td><a href="#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td></tr> +<tr><td></td><td><a href="#FT_SYSTEM_H">FT_SYSTEM_H</a></td><td></td><td><a href="#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td></tr> +<tr><td></td><td><a href="#FT_IMAGE_H">FT_IMAGE_H</a></td><td></td><td><a href="#FT_MAC_H">FT_MAC_H</a></td></tr> +<tr><td></td><td><a href="#FT_TYPES_H">FT_TYPES_H</a></td><td></td><td><a href="#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td></tr> +<tr><td></td><td><a href="#FT_LIST_H">FT_LIST_H</a></td><td></td><td><a href="#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td></tr> +<tr><td></td><td><a href="#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td></td><td><a href="#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td></tr> +<tr><td></td><td><a href="#FT_SIZES_H">FT_SIZES_H</a></td><td></td><td><a href="#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td></tr> +<tr><td></td><td><a href="#FT_MODULE_H">FT_MODULE_H</a></td><td></td><td><a href="#FT_PFR_H">FT_PFR_H</a></td></tr> +<tr><td></td><td><a href="#FT_RENDER_H">FT_RENDER_H</a></td><td></td><td><a href="#FT_STROKER_H">FT_STROKER_H</a></td></tr> +<tr><td></td><td><a href="#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td><td></td><td><a href="#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr> +<tr><td></td><td><a href="#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td><td></td><td><a href="#FT_XFREE86_H">FT_XFREE86_H</a></td></tr> +<tr><td></td><td><a href="#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td><td></td><td><a href="#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr> +<tr><td></td><td><a href="#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td><td></td><td><a href="#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td></tr> +<tr><td></td><td><a href="#FT_BDF_H">FT_BDF_H</a></td><td></td><td><a href="#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr> +<tr><td></td><td><a href="#FT_CID_H">FT_CID_H</a></td><td></td><td><a href="#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td></tr> +<tr><td></td><td><a href="#FT_GZIP_H">FT_GZIP_H</a></td><td></td><td><a href="#FT_GASP_H">FT_GASP_H</a></td></tr> +<tr><td></td><td><a href="#FT_LZW_H">FT_LZW_H</a></td><td></td><td><a href="#FT_ADVANCES_H">FT_ADVANCES_H</a></td></tr> +<tr><td></td><td><a href="#FT_BZIP2_H">FT_BZIP2_H</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>The following macros are defined to the name of specific FreeType 2 header files. They can be used directly in #include statements as in:</p> +<pre class="colored"> + #include FT_FREETYPE_H + #include FT_MULTIPLE_MASTERS_H + #include FT_GLYPH_H +</pre> +<p>There are several reasons why we are now using macros to name public header files. The first one is that such macros are not limited to the infamous 8.3 naming rule required by DOS (and ‘FT_MULTIPLE_MASTERS_H’ is a lot more meaningful than ‘ftmm.h’).</p> +<p>The second reason is that it allows for more flexibility in the way FreeType 2 is installed on a given system.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#ifndef <b>FT_CONFIG_CONFIG_H</b> +#define <b>FT_CONFIG_CONFIG_H</b> <freetype/config/ftconfig.h> +#endif + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing FreeType 2 configuration data.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#ifndef <b>FT_CONFIG_STANDARD_LIBRARY_H</b> +#define <b>FT_CONFIG_STANDARD_LIBRARY_H</b> <freetype/config/ftstdlib.h> +#endif + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing FreeType 2 interface to the standard C library functions.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#ifndef <b>FT_CONFIG_OPTIONS_H</b> +#define <b>FT_CONFIG_OPTIONS_H</b> <freetype/config/ftoption.h> +#endif + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing FreeType 2 project-specific configuration options.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#ifndef <b>FT_CONFIG_MODULES_H</b> +#define <b>FT_CONFIG_MODULES_H</b> <freetype/config/ftmodule.h> +#endif + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the list of FreeType 2 modules that are statically linked to new library instances in <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_FREETYPE_H">FT_FREETYPE_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_FREETYPE_H</b> <freetype/freetype.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the base FreeType 2 API.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_ERRORS_H">FT_ERRORS_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_ERRORS_H</b> <freetype/fterrors.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the list of FreeType 2 error codes (and messages).</p> +<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_MODULE_ERRORS_H</b> <freetype/ftmoderr.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the list of FreeType 2 module error offsets (and messages).</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_SYSTEM_H">FT_SYSTEM_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_SYSTEM_H</b> <freetype/ftsystem.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the FreeType 2 interface to low-level operations (i.e., memory management and stream i/o).</p> +<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_IMAGE_H">FT_IMAGE_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_IMAGE_H</b> <freetype/ftimage.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing type definitions related to glyph images (i.e., bitmaps, outlines, scan-converter parameters).</p> +<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_TYPES_H">FT_TYPES_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_TYPES_H</b> <freetype/fttypes.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the basic data types defined by FreeType 2.</p> +<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_LIST_H">FT_LIST_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_LIST_H</b> <freetype/ftlist.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the list management API of FreeType 2.</p> +<p>(Most applications will never need to include this file.)</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_OUTLINE_H">FT_OUTLINE_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_OUTLINE_H</b> <freetype/ftoutln.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the scalable outline management API of FreeType 2.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_SIZES_H">FT_SIZES_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_SIZES_H</b> <freetype/ftsizes.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the API which manages multiple <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects per face.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_MODULE_H">FT_MODULE_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_MODULE_H</b> <freetype/ftmodapi.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the module management API of FreeType 2.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_RENDER_H">FT_RENDER_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_RENDER_H</b> <freetype/ftrender.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the renderer module management API of FreeType 2.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_TYPE1_TABLES_H</b> <freetype/t1tables.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the types and API specific to the Type 1 format.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_TRUETYPE_IDS_H</b> <freetype/ttnameid.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the enumeration values which identify name strings, languages, encodings, etc. This file really contains a <i>large</i> set of constant macro definitions, taken from the TrueType and OpenType specifications.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_TRUETYPE_TABLES_H</b> <freetype/tttables.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the types and API specific to the TrueType (as well as OpenType) format.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_TRUETYPE_TAGS_H</b> <freetype/tttags.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the definitions of TrueType four-byte ‘tags’ which identify blocks in SFNT-based font formats (i.e., TrueType and OpenType).</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_BDF_H">FT_BDF_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_BDF_H</b> <freetype/ftbdf.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the definitions of an API which accesses BDF-specific strings from a face.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_CID_H">FT_CID_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_CID_H</b> <freetype/ftcid.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the definitions of an API which access CID font information from a face.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_GZIP_H">FT_GZIP_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_GZIP_H</b> <freetype/ftgzip.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the definitions of an API which supports gzip-compressed files.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_LZW_H">FT_LZW_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_LZW_H</b> <freetype/ftlzw.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the definitions of an API which supports LZW-compressed files.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_BZIP2_H">FT_BZIP2_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_BZIP2_H</b> <freetype/ftbzip2.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the definitions of an API which supports bzip2-compressed files.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_WINFONTS_H">FT_WINFONTS_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_WINFONTS_H</b> <freetype/ftwinfnt.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the definitions of an API which supports Windows FNT files.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_GLYPH_H">FT_GLYPH_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_GLYPH_H</b> <freetype/ftglyph.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the API of the optional glyph management component.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_BITMAP_H">FT_BITMAP_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_BITMAP_H</b> <freetype/ftbitmap.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the API of the optional bitmap conversion component.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_BBOX_H">FT_BBOX_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_BBOX_H</b> <freetype/ftbbox.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the API of the optional exact bounding box computation routines.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_CACHE_H">FT_CACHE_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_CACHE_H</b> <freetype/ftcache.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the API of the optional FreeType 2 cache sub-system.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_CACHE_IMAGE_H</b> <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the ‘glyph image’ API of the FreeType 2 cache sub-system.</p> +<p>It is used to define a cache for <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> elements. You can also use the API defined in <a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a> if you only need to store small glyph bitmaps, as it will use less memory.</p> +<p>This macro is deprecated. Simply include <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> to have all glyph image-related cache declarations.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_CACHE_SMALL_BITMAPS_H</b> <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the ‘small bitmaps’ API of the FreeType 2 cache sub-system.</p> +<p>It is used to define a cache for small glyph bitmaps in a relatively memory-efficient way. You can also use the API defined in <a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a> if you want to cache arbitrary glyph images, including scalable outlines.</p> +<p>This macro is deprecated. Simply include <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> to have all small bitmaps-related cache declarations.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_CACHE_CHARMAP_H</b> <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the ‘charmap’ API of the FreeType 2 cache sub-system.</p> +<p>This macro is deprecated. Simply include <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> to have all charmap-based cache declarations.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_MAC_H">FT_MAC_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_MAC_H</b> <freetype/ftmac.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the Macintosh-specific FreeType 2 API. The latter is used to access fonts embedded in resource forks.</p> +<p>This header file must be explicitly included by client applications compiled on the Mac (note that the base API still works though).</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_MULTIPLE_MASTERS_H</b> <freetype/ftmm.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the optional multiple-masters management API of FreeType 2.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_SFNT_NAMES_H</b> <freetype/ftsnames.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the optional FreeType 2 API which accesses embedded ‘name’ strings in SFNT-based font formats (i.e., TrueType and OpenType).</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_OPENTYPE_VALIDATE_H</b> <freetype/ftotval.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the optional FreeType 2 API which validates OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_GX_VALIDATE_H</b> <freetype/ftgxval.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the optional FreeType 2 API which validates TrueTypeGX/AAT tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop).</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_PFR_H">FT_PFR_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_PFR_H</b> <freetype/ftpfr.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the FreeType 2 API which accesses PFR-specific data.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_STROKER_H">FT_STROKER_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_STROKER_H</b> <freetype/ftstroke.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the FreeType 2 API which provides functions to stroke outline paths.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_SYNTHESIS_H</b> <freetype/ftsynth.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs artificial obliquing and emboldening.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_XFREE86_H">FT_XFREE86_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_XFREE86_H</b> <freetype/ftxf86.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the FreeType 2 API which provides functions specific to the XFree86 and X.Org X11 servers.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_TRIGONOMETRY_H</b> <freetype/fttrigon.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs trigonometric computations (e.g., cosines and arc tangents).</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_LCD_FILTER_H</b> <freetype/ftlcdfil.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_UNPATENTED_HINTING_H</b> <freetype/ttunpat.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_INCREMENTAL_H</b> <freetype/ftincrem.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_GASP_H">FT_GASP_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_GASP_H</b> <freetype/ftgasp.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the FreeType 2 API which returns entries from the TrueType GASP table.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_ADVANCES_H">FT_ADVANCES_H</a></h4> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_ADVANCES_H</b> <freetype/ftadvanc.h> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A macro used in #include statements to name the file containing the FreeType 2 API which returns individual and ranged glyph advances.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-incremental.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-incremental.html new file mode 100644 index 00000000000..abb67d36c13 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-incremental.html @@ -0,0 +1,401 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Incremental Loading +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Incremental">FT_Incremental</a></td><td></td><td><a href="#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td></tr> +<tr><td></td><td><a href="#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td></td><td><a href="#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td></tr> +<tr><td></td><td><a href="#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td></td><td><a href="#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td></tr> +<tr><td></td><td><a href="#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></td><td></td><td><a href="#FT_Incremental_Interface">FT_Incremental_Interface</a></td></tr> +<tr><td></td><td><a href="#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></td><td></td><td><a href="#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains various functions used to perform so-called ‘incremental’ glyph loading. This is a mode where all glyphs loaded from a given <a href="ft2-base_interface.html#FT_Face">FT_Face</a> are provided by the client application,</p> +<p>Apart from that, all other tables are loaded normally from the font file. This mode is useful when FreeType is used within another engine, e.g., a PostScript Imaging Processor.</p> +<p>To enable this mode, you must use <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>, passing an <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> with the <a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a> tag and an <a href="ft2-incremental.html#FT_Incremental_Interface">FT_Incremental_Interface</a> value. See the comments for <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a> for an example.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Incremental">FT_Incremental</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_IncrementalRec_* <b>FT_Incremental</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An opaque type describing a user-provided object used to implement ‘incremental’ glyph loading within FreeType. This is used to support embedded fonts in certain environments (e.g., PostScript interpreters), where the glyph data isn't in the font file, or must be overridden by different values.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>It is up to client applications to create and implement <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> objects, as long as they provide implementations for the methods <a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a>, <a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a> and <a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a>.</p> +<p>See the description of <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a> to understand how to use incremental objects with FreeType.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_MetricsRec_ + { + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> bearing_x; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> bearing_y; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> advance; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> advance_v; /* since 2.3.12 */ + + } <b>FT_Incremental_MetricsRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A small structure used to contain the basic glyph metrics returned by the <a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a> method.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>bearing_x</b></td><td> +<p>Left bearing, in font units.</p> +</td></tr> +<tr valign=top><td><b>bearing_y</b></td><td> +<p>Top bearing, in font units.</p> +</td></tr> +<tr valign=top><td><b>advance</b></td><td> +<p>Horizontal component of glyph advance, in font units.</p> +</td></tr> +<tr valign=top><td><b>advance_v</b></td><td> +<p>Vertical component of glyph advance, in font units.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>These correspond to horizontal or vertical metrics depending on the value of the ‘vertical’ argument to the function <a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Incremental_Metrics">FT_Incremental_Metrics</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_MetricsRec_* <b>FT_Incremental_Metrics</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to an <a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a> structure.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a> + (*<b>FT_Incremental_GetGlyphDataFunc</b>)( <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> incremental, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index, + <a href="ft2-basic_types.html#FT_Data">FT_Data</a>* adata ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function called by FreeType to access a given glyph's data bytes during <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a> if incremental loading is enabled.</p> +<p>Note that the format of the glyph's data bytes depends on the font file format. For TrueType, it must correspond to the raw bytes within the ‘glyf’ table. For PostScript formats, it must correspond to the <b>unencrypted</b> charstring bytes, without any ‘lenIV’ header. It is undefined for any other format.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>incremental</b></td><td> +<p>Handle to an opaque <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> handle provided by the client application.</p> +</td></tr> +<tr valign=top><td><b>glyph_index</b></td><td> +<p>Index of relevant glyph.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>adata</b></td><td> +<p>A structure describing the returned glyph data bytes (which will be accessed as a read-only byte block).</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 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 this function returns successfully the method <a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a> will be called later to release the data bytes.</p> +<p>Nested calls to <a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a> can happen for compound glyphs.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_Incremental_FreeGlyphDataFunc</b>)( <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> incremental, + <a href="ft2-basic_types.html#FT_Data">FT_Data</a>* data ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to release the glyph data bytes returned by a successful call to <a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a>.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>incremental</b></td><td> +<p>A handle to an opaque <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> handle provided by the client application.</p> +</td></tr> +<tr valign=top><td><b>data</b></td><td> +<p>A structure describing the glyph data bytes (which will be accessed as a read-only byte block).</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a> + (*<b>FT_Incremental_GetGlyphMetricsFunc</b>) + ( <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> incremental, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> vertical, + <a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a> *ametrics ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to retrieve the basic metrics of a given glyph index before accessing its data. This is necessary because, in certain formats like TrueType, the metrics are stored in a different place from the glyph images proper.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>incremental</b></td><td> +<p>A handle to an opaque <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> handle provided by the client application.</p> +</td></tr> +<tr valign=top><td><b>glyph_index</b></td><td> +<p>Index of relevant glyph.</p> +</td></tr> +<tr valign=top><td><b>vertical</b></td><td> +<p>If true, return vertical metrics.</p> +</td></tr> +<tr valign=top><td><b>ametrics</b></td><td> +<p>This parameter is used for both input and output. The original glyph metrics, if any, in font units. If metrics are not available all the values must be set to zero.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>ametrics</b></td><td> +<p>The replacement glyph metrics in font units.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_FuncsRec_ + { + <a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a> get_glyph_data; + <a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a> free_glyph_data; + <a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a> get_glyph_metrics; + + } <b>FT_Incremental_FuncsRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A table of functions for accessing fonts that load data incrementally. Used in <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a>.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>get_glyph_data</b></td><td> +<p>The function to get glyph data. Must not be null.</p> +</td></tr> +<tr valign=top><td><b>free_glyph_data</b></td><td> +<p>The function to release glyph data. Must not be null.</p> +</td></tr> +<tr valign=top><td><b>get_glyph_metrics</b></td><td> +<p>The function to get glyph metrics. May be null if the font does not provide overriding glyph metrics.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_InterfaceRec_ + { + <span class="keyword">const</span> <a href="ft2-incremental.html#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a>* funcs; + <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> object; + + } <b>FT_Incremental_InterfaceRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure to be used with <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> to indicate that the user wants to support incremental glyph loading. You should use it with <a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a> as in the following example:</p> +<pre class="colored"> + FT_Incremental_InterfaceRec inc_int; + FT_Parameter parameter; + FT_Open_Args open_args; + + + // set up incremental descriptor + inc_int.funcs = my_funcs; + inc_int.object = my_object; + + // set up optional parameter + parameter.tag = FT_PARAM_TAG_INCREMENTAL; + parameter.data = &inc_int; + + // set up FT_Open_Args structure + open_args.flags = FT_OPEN_PATHNAME | FT_OPEN_PARAMS; + open_args.pathname = my_font_pathname; + open_args.num_params = 1; + open_args.params = &parameter; // we use one optional argument + + // open the font + error = FT_Open_Face( library, &open_args, index, &face ); + ... +</pre> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Incremental_Interface">FT_Incremental_Interface</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a>* <b>FT_Incremental_Interface</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A pointer to an <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a> structure.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_INCREMENTAL_H (freetype/ftincrem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_PARAM_TAG_INCREMENTAL</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'i', 'n', 'c', 'r' ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A constant used as the tag of <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structures to indicate an incremental loading object to be used by FreeType.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-index.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-index.html new file mode 100644 index 00000000000..e58b69d509a --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-index.html @@ -0,0 +1,292 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<table align=center><tr><td width="100%"></td> +<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> +<center><h1>FreeType-2.4.5 API Reference</h1></center> + +<table align=center border=0 cellpadding=0 cellspacing=0> +<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_ATOM</a></td><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_New">FT_Stroker_New</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a></td><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LcdFilter</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_INTEGER</a></td><td><a href="ft2-header_file_macros.html#FT_LIST_H">FT_LIST_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_NONE</a></td><td><a href="ft2-base_interface.html#FT_Library">FT_Library</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Set">FT_Stroker_Set</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#BDF_Property">BDF_Property</a></td><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a></td><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_2X2</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#CID_FaceDict">CID_FaceDict</a></td><td><a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a></td><td><a href="ft2-list_processing.html#FT_List">FT_List</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#CID_FaceInfo">CID_FaceInfo</a></td><td><a href="ft2-list_processing.html#FT_List_Add">FT_List_Add</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a></td><td><a href="ft2-list_processing.html#FT_List_Destructor">FT_List_Destructor</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_SCALE</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#CID_Info">CID_Info</a></td><td><a href="ft2-list_processing.html#FT_List_Finalize">FT_List_Finalize</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_USE_MY_METRICS</a></td></tr> +<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a></td><td><a href="ft2-list_processing.html#FT_List_Find">FT_List_Find</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td></tr> +<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a></td><td><a href="ft2-list_processing.html#FT_List_Insert">FT_List_Insert</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XY_SCALE</a></td></tr> +<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a></td><td><a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a></td><td><a href="ft2-base_interface.html#FT_SubGlyph">FT_SubGlyph</a></td></tr> +<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_XXX</a></td><td><a href="ft2-list_processing.html#FT_List_Iterator">FT_List_Iterator</a></td><td><a href="ft2-header_file_macros.html#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr> +<tr><td><a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a></td><td><a href="ft2-list_processing.html#FT_List_Remove">FT_List_Remove</a></td><td><a href="ft2-header_file_macros.html#FT_SYSTEM_H">FT_SYSTEM_H</a></td></tr> +<tr><td><a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td><td><a href="ft2-list_processing.html#FT_List_Up">FT_List_Up</a></td><td><a href="ft2-basic_types.html#FT_Tag">FT_Tag</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_ADVANCES_H">FT_ADVANCES_H</a></td><td><a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a></td><td><a href="ft2-computations.html#FT_Tan">FT_Tan</a></td></tr> +<tr><td><a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td><td><a href="ft2-list_processing.html#FT_ListNodeRec">FT_ListNodeRec</a></td><td><a href="ft2-header_file_macros.html#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr> +<tr><td><a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a></td><td><a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_NONE</a></td></tr> +<tr><td><a href="ft2-system_interface.html#FT_Alloc_Func">FT_Alloc_Func</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_CROP_BITMAP</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_PATENTED</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_ANGLE_2PI">FT_ANGLE_2PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_ANGLE_PI2">FT_ANGLE_PI2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_ANGLE_PI4">FT_ANGLE_PI4</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_Angle">FT_Angle</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_Angle_Diff">FT_Angle_Diff</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_Atan2">FT_Atan2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a></td><td><a href="ft2-header_file_macros.html#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a></td><td><a href="ft2-header_file_macros.html#FT_TYPES_H">FT_TYPES_H</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_BBOX_H">FT_BBOX_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a></td><td><a href="ft2-basic_types.html#FT_UFWord">FT_UFWord</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_BBox">FT_BBox</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a></td><td><a href="ft2-basic_types.html#FT_UInt">FT_UInt</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_BDF_H">FT_BDF_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_PEDANTIC</a></td><td><a href="ft2-basic_types.html#FT_UInt16">FT_UInt16</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_BITMAP_H">FT_BITMAP_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a></td><td><a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a></td><td><a href="ft2-basic_types.html#FT_ULong">FT_ULong</a></td></tr> +<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a></td><td><a href="ft2-header_file_macros.html#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr> +<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a></td><td><a href="ft2-basic_types.html#FT_UnitVector">FT_UnitVector</a></td></tr> +<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td><td><a href="ft2-basic_types.html#FT_UShort">FT_UShort</a></td></tr> +<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a></td></tr> +<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_New">FT_Bitmap_New</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERN</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Bool">FT_Bool</a></td><td><a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Byte">FT_Byte</a></td><td><a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a></td><td><a href="ft2-truetype_tables.html#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_BZIP2_H">FT_BZIP2_H</a></td><td><a href="ft2-basic_types.html#FT_Long">FT_Long</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td><td><a href="ft2-header_file_macros.html#FT_LZW_H">FT_LZW_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GX</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a></td><td><a href="ft2-header_file_macros.html#FT_MAC_H">FT_MAC_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td><td><a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td><td><a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_CeilFix">FT_CeilFix</a></td><td><a href="ft2-computations.html#FT_Matrix_Invert">FT_Matrix_Invert</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Char">FT_Char</a></td><td><a href="ft2-computations.html#FT_Matrix_Multiply">FT_Matrix_Multiply</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a></td><td><a href="ft2-system_interface.html#FT_Memory">FT_Memory</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a></td><td><a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CID_H">FT_CID_H</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Axis">FT_MM_Axis</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a></td></tr> +<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Var">FT_MM_Var</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a></td></tr> +<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OT</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="ft2-base_interface.html#FT_Module">FT_Module</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="ft2-module_management.html#FT_Module_Constructor">FT_Module_Constructor</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_Cos">FT_Cos</a></td><td><a href="ft2-module_management.html#FT_Module_Destructor">FT_Module_Destructor</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Data">FT_Data</a></td><td><a href="ft2-module_management.html#FT_Module_Requester">FT_Module_Requester</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Axis">FT_Var_Axis</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_DivFix">FT_DivFix</a></td><td><a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Named_Style">FT_Var_Named_Style</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a></td><td><a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a></td><td><a href="ft2-basic_types.html#FT_Vector">FT_Vector</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="ft2-computations.html#FT_MulFix">FT_MulFix</a></td><td><a href="ft2-computations.html#FT_Vector_From_Polar">FT_Vector_From_Polar</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a></td><td><a href="ft2-multiple_masters.html#FT_Multi_Master">FT_Multi_Master</a></td><td><a href="ft2-computations.html#FT_Vector_Length">FT_Vector_Length</a></td></tr> +<tr><td><a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a></td><td><a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a></td><td><a href="ft2-computations.html#FT_Vector_Polarize">FT_Vector_Polarize</a></td></tr> +<tr><td><a href="ft2-sizes_management.html#FT_Done_Size">FT_Done_Size</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td><a href="ft2-computations.html#FT_Vector_Rotate">FT_Vector_Rotate</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Driver">FT_Driver</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td><td><a href="ft2-computations.html#FT_Vector_Transform">FT_Vector_Transform</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td><td><a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a></td><td><a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a></td><td><a href="ft2-header_file_macros.html#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a></td><td><a href="ft2-base_interface.html#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_Header">FT_WinFNT_Header</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a></td><td><a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a></td><td><a href="ft2-basic_types.html#FT_Offset">FT_Offset</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1250</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1252</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1253</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1254</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_BIG5</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1255</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_GB2312</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1256</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_JOHAB</a></td><td><a href="ft2-header_file_macros.html#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1257</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SJIS</a></td><td><a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1258</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a></td><td><a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1361</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_WANSUNG</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Free">FT_OpenType_Free</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP874</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP932</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_LEFT</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP936</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_RIGHT</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP949</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_NONE</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP950</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_DEFAULT</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_MAC</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_OEM</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Error">FT_Error</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_EVEN_ODD_FILL</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_SYMBOL</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_FLAGS</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a></td><td><a href="ft2-header_file_macros.html#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="ft2-header_file_macros.html#FT_XFREE86_H">FT_XFREE86_H</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_HIGH_PRECISION</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FAST_GLYPHS</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_INCLUDE_STUBS</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_New">FTC_CMapCache_New</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_OWNER</a></td><td><a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SINGLE_PASS</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SMART_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a></td><td><a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_New">FTC_ImageCache_New</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Check">FT_Outline_Check</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageTypeRec">FTC_ImageTypeRec</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Copy">FT_Outline_Copy</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a></td><td><a href="ft2-outline_processing.html#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Done">FTC_Manager_Done</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Decompose">FT_Outline_Decompose</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Done">FT_Outline_Done</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Face">FT_Face</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Embolden">FT_Outline_Embolden</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a></td></tr> +<tr><td><a href="ft2-version.html#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Funcs">FT_Outline_Funcs</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></td></tr> +<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Reset">FTC_Manager_Reset</a></td></tr> +<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a></td></tr> +<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a></td></tr> +<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a></td></tr> +<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></td></tr> +<tr><td><a href="ft2-version.html#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td><td><a href="ft2-outline_processing.html#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a></td><td><a href="ft2-outline_processing.html#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_New">FTC_SBitCache_New</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a></td><td><a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_FloorFix">FT_FloorFix</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a></td><td><a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Reverse">FT_Outline_Reverse</a></td><td><a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a></td></tr> +<tr><td><a href="ft2-system_interface.html#FT_Free_Func">FT_Free_Func</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Transform">FT_Outline_Transform</a></td><td><a href="ft2-base_interface.html#ft_encoding_xxx">ft_encoding_xxx</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Translate">FT_Outline_Translate</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_gridfit</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_EDITABLE_EMBEDDING</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_pixels</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_INSTALLABLE_EMBEDDING</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_subpixels</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_NO_SUBSETTING</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_truncate</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_unscaled</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a></td><td><a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_xxx</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td><td><a href="ft2-truetype_tables.html#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_bitmap</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_FWord">FT_FWord</a></td><td><a href="ft2-basic_types.html#FT_Palette_Mode">FT_Palette_Mode</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_composite</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRAY</a></td><td><a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_none</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRIDFIT</a></td><td><a href="ft2-header_file_macros.html#FT_PFR_H">FT_PFR_H</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_outline</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_GASP_H">FT_GASP_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_plotter</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_xxx</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_GRIDFIT</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a></td><td><a href="ft2-base_interface.html#ft_kerning_default">ft_kerning_default</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_SMOOTHING</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a></td><td><a href="ft2-base_interface.html#ft_kerning_unfitted">ft_kerning_unfitted</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_XXX</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a></td><td><a href="ft2-base_interface.html#ft_kerning_unscaled">ft_kerning_unscaled</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Generic">FT_Generic</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_driver</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_memory</a></td></tr> +<tr><td><a href="ft2-quick_advance.html#FT_Get_Advance">FT_Get_Advance</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_params</a></td></tr> +<tr><td><a href="ft2-quick_advance.html#FT_Get_Advances">FT_Get_Advances</a></td><td><a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_pathname</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td><a href="ft2-basic_types.html#FT_Pos">FT_Pos</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_stream</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td><td><a href="ft2-bdf_fonts.html#FT_PropertyType">FT_PropertyType</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_even_odd_fill</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="ft2-basic_types.html#FT_PtrDist">FT_PtrDist</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_flags</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_high_precision</a></td></tr> +<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_ignore_dropouts</a></td></tr> +<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_none</a></td></tr> +<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_owner</a></td></tr> +<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_reverse_fill</a></td></tr> +<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td><td><a href="ft2-raster.html#FT_Raster">FT_Raster</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_single_pass</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a></td><td><a href="ft2-raster.html#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></td><td><a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgb</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td><td><a href="ft2-raster.html#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td><td><a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgba</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a></td><td><a href="ft2-raster.html#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_grays</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Get_Glyph">FT_Get_Glyph</a></td><td><a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_mono</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td><td><a href="ft2-raster.html#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_none</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a></td><td><a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal2</a></td></tr> +<tr><td><a href="ft2-multiple_masters.html#FT_Get_MM_Var">FT_Get_MM_Var</a></td><td><a href="ft2-raster.html#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal4</a></td></tr> +<tr><td><a href="ft2-module_management.html#FT_Get_Module">FT_Get_Module</a></td><td><a href="ft2-raster.html#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_xxx</a></td></tr> +<tr><td><a href="ft2-multiple_masters.html#FT_Get_Multi_Master">FT_Get_Multi_Master</a></td><td><a href="ft2-raster.html#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></td><td><a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_mono</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="ft2-header_file_macros.html#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_normal</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a></td><td><a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_xxx</a></td></tr> +<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a></td></tr> +<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a></td><td><a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a></td></tr> +<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#PS_Private">PS_Private</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a></td><td><a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td><td><a href="ft2-system_interface.html#FT_Realloc_Func">FT_Realloc_Func</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_Blend_Flags</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td><td><a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a></td><td><a href="ft2-type1_tables.html#T1_FontInfo">T1_FontInfo</a></td></tr> +<tr><td><a href="ft2-module_management.html#FT_Get_Renderer">FT_Get_Renderer</a></td><td><a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a></td><td><a href="ft2-type1_tables.html#T1_Private">T1_Private</a></td></tr> +<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td><td><a href="ft2-module_management.html#FT_Remove_Module">FT_Remove_Module</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a></td></tr> +<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td><td><a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a></td></tr> +<tr><td><a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td><td><a href="ft2-base_interface.html#FT_Renderer">FT_Renderer</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td><td><a href="ft2-module_management.html#FT_Renderer_Class">FT_Renderer_Class</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td></tr> +<tr><td><a href="ft2-truetype_engine.html#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td><td><a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a></td></tr> +<tr><td><a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td><a href="ft2-computations.html#FT_RoundFix">FT_RoundFix</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a></td></tr> +<tr><td><a href="ft2-font_formats.html#FT_Get_X11_Font_Format">FT_Get_X11_Font_Format</a></td><td><a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a></td></tr> +<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td><a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a></td></tr> +<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td><a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a></td></tr> +<tr><td><a href="ft2-mac_specific.html#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td><td><a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a></td><td><a href="ft2-module_management.html#FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_Header">TT_Header</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a></td><td><a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a></td><td><a href="ft2-module_management.html#FT_Set_Renderer">FT_Set_Renderer</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a></td><td><a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a></td><td><a href="ft2-header_file_macros.html#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_GLYPH_H">FT_GLYPH_H</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a></td><td><a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></td><td><a href="ft2-basic_types.html#FT_Short">FT_Short</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_BBOX</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_CELL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_NOMINAL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a></td></tr> +<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_SCALES</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a></td></tr> +<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td><td><a href="ft2-header_file_macros.html#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td><td><a href="ft2-computations.html#FT_Sin">FT_Sin</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Transform">FT_Glyph_Transform</a></td><td><a href="ft2-base_interface.html#FT_Size">FT_Size</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a></td><td><a href="ft2-base_interface.html#FT_Size_Internal">FT_Size_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a></td><td><a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a></td></tr> +<tr><td><a href="ft2-bitmap_handling.html#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td><td><a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td><td><a href="ft2-base_interface.html#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td><a href="ft2-base_interface.html#FT_Slot_Internal">FT_Slot_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="ft2-raster.html#FT_Span">FT_Span</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="ft2-header_file_macros.html#FT_STROKER_H">FT_STROKER_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_BUTT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_SQUARE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_BEVEL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_BOLD</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_ITALIC</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td><td><a href="ft2-system_interface.html#FT_Stream">FT_Stream</a></td><td><a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_Interface">FT_Incremental_Interface</a></td><td><a href="ft2-system_interface.html#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td><td><a href="ft2-system_interface.html#FT_Stream_IoFunc">FT_Stream_IoFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td><a href="ft2-bzip2.html#FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td><a href="ft2-gzip.html#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="ft2-lzw.html#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Int">FT_Int</a></td><td><a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Int16">FT_Int16</a></td><td><a href="ft2-system_interface.html#FT_StreamRec">FT_StreamRec</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Int32">FT_Int32</a></td><td><a href="ft2-basic_types.html#FT_String">FT_String</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td><td><a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Done">FT_Stroker_Done</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_Kerning_Mode</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a></td></tr> +<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td><a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a></td></tr> +<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td><a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a></td></tr> +<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LIGHT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td><td></td></tr> +</table> +<hr> +<table><tr><td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<center><font size=-2>generated on Fri Jun 24 13:44:37 2011</font></center></body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-lcd_filtering.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-lcd_filtering.html new file mode 100644 index 00000000000..88f6ae910f8 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-lcd_filtering.html @@ -0,0 +1,192 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +LCD Filtering +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_LcdFilter">FT_LcdFilter</a></td><td></td><td><a href="#FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</a></td></tr> +<tr><td></td><td><a href="#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>The <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a> API can be used to specify a low-pass filter which is then applied to LCD-optimized bitmaps generated through <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a>. This is useful to reduce color fringes which would occur with unfiltered rendering.</p> +<p>Note that no filter is active by default, and that this function is <b>not</b> implemented in default builds of the library. You need to #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING in your ‘ftoption.h’ file in order to activate it.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_LcdFilter">FT_LcdFilter</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_LcdFilter_ + { + <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a> = 0, + <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a> = 1, + <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LIGHT</a> = 2, + <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY</a> = 16, + + FT_LCD_FILTER_MAX /* do not remove */ + + } <b>FT_LcdFilter</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of values to identify various types of LCD filters.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_LCD_FILTER_NONE</b></td><td> +<p>Do not perform filtering. When used with subpixel rendering, this results in sometimes severe color fringes.</p> +</td></tr> +<tr valign=top><td><b>FT_LCD_FILTER_DEFAULT</b></td><td> +<p>The default filter reduces color fringes considerably, at the cost of a slight blurriness in the output.</p> +</td></tr> +<tr valign=top><td><b>FT_LCD_FILTER_LIGHT</b></td><td> +<p>The light filter is a variant that produces less blurriness at the cost of slightly more color fringes than the default one. It might be better, depending on taste, your monitor, or your personal vision.</p> +</td></tr> +<tr valign=top><td><b>FT_LCD_FILTER_LEGACY</b></td><td> +<p>This filter corresponds to the original libXft color filter. It provides high contrast output but can exhibit really bad color fringes if glyphs are not extremely well hinted to the pixel grid. In other words, it only works well if the TrueType bytecode interpreter is enabled <b>and</b> high-quality hinted fonts are used.</p> +<p>This filter is only provided for comparison purposes, and might be disabled or stay unsupported in the future.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.0</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Library_SetLcdFilter</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LcdFilter</a> filter ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This function is used to apply color filtering to LCD decimated bitmaps, like the ones used when calling <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a> with <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a> or <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a>.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the target library instance.</p> +</td></tr> +<tr valign=top><td><b>filter</b></td><td> +<p>The filter type.</p> +<p>You can use <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a> here to disable this feature, or <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a> to use a default filter that should work well on most LCD screens.</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 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>This feature is always disabled by default. Clients must make an explicit call to this function with a ‘filter’ value other than <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a> in order to enable it.</p> +<p>Due to <b>PATENTS</b> covering subpixel rendering, this function doesn't do anything except returning ‘FT_Err_Unimplemented_Feature’ if the configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not defined in your build of the library, which should correspond to all default builds of FreeType.</p> +<p>The filter affects glyph bitmaps rendered through <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a>, <a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a>, <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>, and <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>.</p> +<p>It does <i>not</i> affect the output of <a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a> and <a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a>.</p> +<p>If this feature is activated, the dimensions of LCD glyph bitmaps are either larger or taller than the dimensions of the corresponding outline with regards to the pixel grid. For example, for <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a>, the filter adds up to 3 pixels to the left, and up to 3 pixels to the right.</p> +<p>The bitmap offset values are adjusted correctly, so clients shouldn't need to modify their layout and glyph positioning code when enabling the filter.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.0</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Library_SetLcdFilterWeights</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">unsigned</span> <span class="keyword">char</span> *weights ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Use this function to override the filter weights selected by <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a>. By default, FreeType uses the quintuple (0x00, 0x55, 0x56, 0x55, 0x00) for FT_LCD_FILTER_LIGHT, and (0x10, 0x40, 0x70, 0x40, 0x10) for FT_LCD_FILTER_DEFAULT and FT_LCD_FILTER_LEGACY.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the target library instance.</p> +</td></tr> +<tr valign=top><td><b>weights</b></td><td> +<p>A pointer to an array; the function copies the first five bytes and uses them to specify the filter weights.</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 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>Due to <b>PATENTS</b> covering subpixel rendering, this function doesn't do anything except returning ‘FT_Err_Unimplemented_Feature’ if the configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not defined in your build of the library, which should correspond to all default builds of FreeType.</p> +<p>This function must be called after <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a> to have any effect.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.4.0</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-list_processing.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-list_processing.html new file mode 100644 index 00000000000..f214816bb50 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-list_processing.html @@ -0,0 +1,486 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +List Processing +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_List">FT_List</a></td><td></td><td><a href="#FT_List_Add">FT_List_Add</a></td><td></td><td><a href="#FT_List_Iterate">FT_List_Iterate</a></td></tr> +<tr><td></td><td><a href="#FT_ListNode">FT_ListNode</a></td><td></td><td><a href="#FT_List_Insert">FT_List_Insert</a></td><td></td><td><a href="#FT_List_Destructor">FT_List_Destructor</a></td></tr> +<tr><td></td><td><a href="#FT_ListRec">FT_ListRec</a></td><td></td><td><a href="#FT_List_Remove">FT_List_Remove</a></td><td></td><td><a href="#FT_List_Finalize">FT_List_Finalize</a></td></tr> +<tr><td></td><td><a href="#FT_ListNodeRec">FT_ListNodeRec</a></td><td></td><td><a href="#FT_List_Up">FT_List_Up</a></td><td></td><td></td></tr> +<tr><td></td><td><a href="#FT_List_Find">FT_List_Find</a></td><td></td><td><a href="#FT_List_Iterator">FT_List_Iterator</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains various definitions related to list processing using doubly-linked nodes.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_List">FT_List</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListRec_* <b>FT_List</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a list record (see <a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a>).</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_ListNode">FT_ListNode</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListNodeRec_* <b>FT_ListNode</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Many elements and objects in FreeType are listed through an <a href="ft2-list_processing.html#FT_List">FT_List</a> record (see <a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a>). As its name suggests, an FT_ListNode is a handle to a single list element.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_ListRec">FT_ListRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListRec_ + { + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> head; + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> tail; + + } <b>FT_ListRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to hold a simple doubly-linked list. These are used in many parts of FreeType.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>head</b></td><td> +<p>The head (first element) of doubly-linked list.</p> +</td></tr> +<tr valign=top><td><b>tail</b></td><td> +<p>The tail (last element) of doubly-linked list.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_ListNodeRec">FT_ListNodeRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPES_H (freetype/fttypes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListNodeRec_ + { + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> prev; + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> next; + <span class="keyword">void</span>* data; + + } <b>FT_ListNodeRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to hold a single list element.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>prev</b></td><td> +<p>The previous element in the list. NULL if first.</p> +</td></tr> +<tr valign=top><td><b>next</b></td><td> +<p>The next element in the list. NULL if last.</p> +</td></tr> +<tr valign=top><td><b>data</b></td><td> +<p>A typeless pointer to the listed object.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_List_Find">FT_List_Find</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_LIST_H (freetype/ftlist.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> ) + <b>FT_List_Find</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <span class="keyword">void</span>* data ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Find the list node for a given listed object.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>list</b></td><td> +<p>A pointer to the parent list.</p> +</td></tr> +<tr valign=top><td><b>data</b></td><td> +<p>The address of the listed object.</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>List node. NULL if it wasn't found.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_List_Add">FT_List_Add</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_LIST_H (freetype/ftlist.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_List_Add</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Append an element to the end of a list.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>list</b></td><td> +<p>A pointer to the parent list.</p> +</td></tr> +<tr valign=top><td><b>node</b></td><td> +<p>The node to append.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_List_Insert">FT_List_Insert</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_LIST_H (freetype/ftlist.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_List_Insert</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Insert an element at the head of a list.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>list</b></td><td> +<p>A pointer to parent list.</p> +</td></tr> +<tr valign=top><td><b>node</b></td><td> +<p>The node to insert.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_List_Remove">FT_List_Remove</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_LIST_H (freetype/ftlist.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_List_Remove</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Remove a node from a list. This function doesn't check whether the node is in the list!</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>node</b></td><td> +<p>The node to remove.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>list</b></td><td> +<p>A pointer to the parent list.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_List_Up">FT_List_Up</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_LIST_H (freetype/ftlist.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_List_Up</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Move a node to the head/top of a list. Used to maintain LRU lists.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>list</b></td><td> +<p>A pointer to the parent list.</p> +</td></tr> +<tr valign=top><td><b>node</b></td><td> +<p>The node to move.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_List_Iterator">FT_List_Iterator</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_LIST_H (freetype/ftlist.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a> + (*<b>FT_List_Iterator</b>)( <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node, + <span class="keyword">void</span>* user ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An FT_List iterator function which is called during a list parse by <a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a>.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>node</b></td><td> +<p>The current iteration list node.</p> +</td></tr> +<tr valign=top><td><b>user</b></td><td> +<p>A typeless pointer passed to <a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a>. Can be used to point to the iteration's state.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_List_Iterate">FT_List_Iterate</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_LIST_H (freetype/ftlist.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_List_Iterate</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <a href="ft2-list_processing.html#FT_List_Iterator">FT_List_Iterator</a> iterator, + <span class="keyword">void</span>* user ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Parse a list and calls a given iterator function on each element. Note that parsing is stopped as soon as one of the iterator calls returns a non-zero value.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>list</b></td><td> +<p>A handle to the list.</p> +</td></tr> +<tr valign=top><td><b>iterator</b></td><td> +<p>An iterator function, called on each node of the list.</p> +</td></tr> +<tr valign=top><td><b>user</b></td><td> +<p>A user-supplied field which is passed as the second argument to the iterator.</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>The result (a FreeType error code) of the last iterator call.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_List_Destructor">FT_List_Destructor</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_LIST_H (freetype/ftlist.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_List_Destructor</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <span class="keyword">void</span>* data, + <span class="keyword">void</span>* user ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An <a href="ft2-list_processing.html#FT_List">FT_List</a> iterator function which is called during a list finalization by <a href="ft2-list_processing.html#FT_List_Finalize">FT_List_Finalize</a> to destroy all elements in a given list.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>system</b></td><td> +<p>The current system object.</p> +</td></tr> +<tr valign=top><td><b>data</b></td><td> +<p>The current object to destroy.</p> +</td></tr> +<tr valign=top><td><b>user</b></td><td> +<p>A typeless pointer passed to <a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a>. It can be used to point to the iteration's state.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_List_Finalize">FT_List_Finalize</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_LIST_H (freetype/ftlist.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_List_Finalize</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <a href="ft2-list_processing.html#FT_List_Destructor">FT_List_Destructor</a> destroy, + <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <span class="keyword">void</span>* user ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Destroy all elements in the list as well as the list itself.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>list</b></td><td> +<p>A handle to the list.</p> +</td></tr> +<tr valign=top><td><b>destroy</b></td><td> +<p>A list destructor that will be applied to each element of the list.</p> +</td></tr> +<tr valign=top><td><b>memory</b></td><td> +<p>The current memory object which handles deallocation.</p> +</td></tr> +<tr valign=top><td><b>user</b></td><td> +<p>A user-supplied field which is passed as the last argument to the destructor.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>This function expects that all nodes added by <a href="ft2-list_processing.html#FT_List_Add">FT_List_Add</a> or <a href="ft2-list_processing.html#FT_List_Insert">FT_List_Insert</a> have been dynamically allocated.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-lzw.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-lzw.html new file mode 100644 index 00000000000..8072662f580 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-lzw.html @@ -0,0 +1,94 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +LZW Streams +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td></td><td></td><td></td><td></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains the declaration of LZW-specific functions.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_LZW_H (freetype/ftlzw.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stream_OpenLZW</b>( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream, + <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> source ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Open a new stream to parse LZW-compressed font files. This is mainly used to support the compressed ‘*.pcf.Z’ fonts that come with XFree86.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stream</b></td><td> +<p>The target embedding stream.</p> +</td></tr> +<tr valign=top><td><b>source</b></td><td> +<p>The source stream.</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 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>The source stream must be opened <i>before</i> calling this function.</p> +<p>Calling the internal function ‘FT_Stream_Close’ on the new stream will <b>not</b> call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.</p> +<p>The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream</p> +<p>In certain builds of the library, LZW compression recognition is automatically handled when calling <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a LZW stream from it and re-open the face with it.</p> +<p>This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with LZW support.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-mac_specific.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-mac_specific.html new file mode 100644 index 00000000000..7a45f567a2b --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-mac_specific.html @@ -0,0 +1,368 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Mac Specific Interface +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td></td><td><a href="#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td></tr> +<tr><td></td><td><a href="#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td></td><td><a href="#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td></tr> +<tr><td></td><td><a href="#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td></td><td><a href="#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>The following definitions are only available if FreeType is compiled on a Macintosh.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MAC_H (freetype/ftmac.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Face_From_FOND</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + Handle fond, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ) + FT_DEPRECATED_ATTRIBUTE; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Create a new face object from a FOND resource.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the library resource.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>fond</b></td><td> +<p>A FOND resource.</p> +</td></tr> +<tr valign=top><td><b>face_index</b></td><td> +<p>Only supported for the -1 ‘sanity check’ special case.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aface</b></td><td> +<p>A handle to a new face object.</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 means success.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>notes</b></em></td></tr><tr><td> +<p>This function can be used to create <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects from fonts that are installed in the system as follows.</p> +<pre class="colored"> + fond = GetResource( 'FOND', fontName ); + error = FT_New_Face_From_FOND( library, fond, 0, &face ); +</pre> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MAC_H (freetype/ftmac.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_GetFile_From_Mac_Name</b>( <span class="keyword">const</span> <span class="keyword">char</span>* fontName, + FSSpec* pathSpec, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a>* face_index ) + FT_DEPRECATED_ATTRIBUTE; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return an FSSpec for the disk file containing the named font.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>fontName</b></td><td> +<p>Mac OS name of the font (e.g., Times New Roman Bold).</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>pathSpec</b></td><td> +<p>FSSpec to the file. For passing to <a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a>.</p> +</td></tr> +<tr valign=top><td><b>face_index</b></td><td> +<p>Index of the face. For passing to <a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a>.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MAC_H (freetype/ftmac.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_GetFile_From_Mac_ATS_Name</b>( <span class="keyword">const</span> <span class="keyword">char</span>* fontName, + FSSpec* pathSpec, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a>* face_index ) + FT_DEPRECATED_ATTRIBUTE; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return an FSSpec for the disk file containing the named font.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>fontName</b></td><td> +<p>Mac OS name of the font in ATS framework.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>pathSpec</b></td><td> +<p>FSSpec to the file. For passing to <a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a>.</p> +</td></tr> +<tr valign=top><td><b>face_index</b></td><td> +<p>Index of the face. For passing to <a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a>.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MAC_H (freetype/ftmac.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_GetFilePath_From_Mac_ATS_Name</b>( <span class="keyword">const</span> <span class="keyword">char</span>* fontName, + UInt8* path, + UInt32 maxPathSize, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a>* face_index ) + FT_DEPRECATED_ATTRIBUTE; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return a pathname of the disk file and face index for given font name which is handled by ATS framework.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>fontName</b></td><td> +<p>Mac OS name of the font in ATS framework.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>path</b></td><td> +<p>Buffer to store pathname of the file. For passing to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a>. The client must allocate this buffer before calling this function.</p> +</td></tr> +<tr valign=top><td><b>maxPathSize</b></td><td> +<p>Lengths of the buffer ‘path’ that client allocated.</p> +</td></tr> +<tr valign=top><td><b>face_index</b></td><td> +<p>Index of the face. For passing to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a>.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MAC_H (freetype/ftmac.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Face_From_FSSpec</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> FSSpec *spec, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ) + FT_DEPRECATED_ATTRIBUTE; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Create a new face object from a given resource and typeface index using an FSSpec to the font file.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the library resource.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>spec</b></td><td> +<p>FSSpec to the font file.</p> +</td></tr> +<tr valign=top><td><b>face_index</b></td><td> +<p>The index of the face within the resource. The first face has index 0.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aface</b></td><td> +<p>A handle to a new face object.</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 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 href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a> is identical to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> except it accepts an FSSpec instead of a path.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MAC_H (freetype/ftmac.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Face_From_FSRef</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> FSRef *ref, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ) + FT_DEPRECATED_ATTRIBUTE; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Create a new face object from a given resource and typeface index using an FSRef to the font file.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the library resource.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>spec</b></td><td> +<p>FSRef to the font file.</p> +</td></tr> +<tr valign=top><td><b>face_index</b></td><td> +<p>The index of the face within the resource. The first face has index 0.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aface</b></td><td> +<p>A handle to a new face object.</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 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 href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a> is identical to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> except it accepts an FSRef instead of a path.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-module_management.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-module_management.html new file mode 100644 index 00000000000..115850d2506 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-module_management.html @@ -0,0 +1,667 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Module Management +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Module_Constructor">FT_Module_Constructor</a></td><td></td><td><a href="#FT_Get_Module">FT_Get_Module</a></td><td></td><td><a href="#FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></td></tr> +<tr><td></td><td><a href="#FT_Module_Destructor">FT_Module_Destructor</a></td><td></td><td><a href="#FT_Remove_Module">FT_Remove_Module</a></td><td></td><td><a href="#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td></tr> +<tr><td></td><td><a href="#FT_Module_Requester">FT_Module_Requester</a></td><td></td><td><a href="#FT_Reference_Library">FT_Reference_Library</a></td><td></td><td><a href="#FT_Renderer_Class">FT_Renderer_Class</a></td></tr> +<tr><td></td><td><a href="#FT_Module_Class">FT_Module_Class</a></td><td></td><td><a href="#FT_New_Library">FT_New_Library</a></td><td></td><td><a href="#FT_Get_Renderer">FT_Get_Renderer</a></td></tr> +<tr><td></td><td><a href="#FT_Add_Module">FT_Add_Module</a></td><td></td><td><a href="#FT_Done_Library">FT_Done_Library</a></td><td></td><td><a href="#FT_Set_Renderer">FT_Set_Renderer</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>The definitions below are used to manage modules within FreeType. Modules can be added, upgraded, and removed at runtime.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Module_Constructor">FT_Module_Constructor</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a> + (*<b>FT_Module_Constructor</b>)( <a href="ft2-base_interface.html#FT_Module">FT_Module</a> module ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to initialize (not create) a new module object.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>module</b></td><td> +<p>The module to initialize.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Module_Destructor">FT_Module_Destructor</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_Module_Destructor</b>)( <a href="ft2-base_interface.html#FT_Module">FT_Module</a> module ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to finalize (not destroy) a given module object.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>module</b></td><td> +<p>The module to finalize.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Module_Requester">FT_Module_Requester</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> FT_Module_Interface + (*<b>FT_Module_Requester</b>)( <a href="ft2-base_interface.html#FT_Module">FT_Module</a> module, + <span class="keyword">const</span> <span class="keyword">char</span>* name ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to query a given module for a specific interface.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>module</b></td><td> +<p>The module to finalize.</p> +</td></tr> +<tr valign=top><td><b>name</b></td><td> +<p>The name of the interface in the module.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Module_Class">FT_Module_Class</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Module_Class_ + { + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> module_flags; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> module_size; + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_String">FT_String</a>* module_name; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> module_version; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> module_requires; + + <span class="keyword">const</span> <span class="keyword">void</span>* module_interface; + + <a href="ft2-module_management.html#FT_Module_Constructor">FT_Module_Constructor</a> module_init; + <a href="ft2-module_management.html#FT_Module_Destructor">FT_Module_Destructor</a> module_done; + <a href="ft2-module_management.html#FT_Module_Requester">FT_Module_Requester</a> get_interface; + + } <b>FT_Module_Class</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The module class descriptor.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>module_flags</b></td><td> +<p>Bit flags describing the module.</p> +</td></tr> +<tr valign=top><td><b>module_size</b></td><td> +<p>The size of one module object/instance in bytes.</p> +</td></tr> +<tr valign=top><td><b>module_name</b></td><td> +<p>The name of the module.</p> +</td></tr> +<tr valign=top><td><b>module_version</b></td><td> +<p>The version, as a 16.16 fixed number (major.minor).</p> +</td></tr> +<tr valign=top><td><b>module_requires</b></td><td> +<p>The version of FreeType this module requires, as a 16.16 fixed number (major.minor). Starts at version 2.0, i.e., 0x20000.</p> +</td></tr> +<tr valign=top><td><b>module_init</b></td><td> +<p>The initializing function.</p> +</td></tr> +<tr valign=top><td><b>module_done</b></td><td> +<p>The finalizing function.</p> +</td></tr> +<tr valign=top><td><b>get_interface</b></td><td> +<p>The interface requesting function.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Add_Module">FT_Add_Module</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Add_Module</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a>* clazz ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Add a new module to a given library instance.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the library object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>clazz</b></td><td> +<p>A pointer to class descriptor for the module.</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 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>An error will be returned if a module already exists by that name, or if the module requires a version of FreeType that is too great.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Module">FT_Get_Module</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-base_interface.html#FT_Module">FT_Module</a> ) + <b>FT_Get_Module</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <span class="keyword">char</span>* module_name ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Find a module by its name.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the library object.</p> +</td></tr> +<tr valign=top><td><b>module_name</b></td><td> +<p>The module's name (as an ASCII string).</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>A module handle. 0 if none was found.</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>FreeType's internal modules aren't documented very well, and you should look up the source code for details.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Remove_Module">FT_Remove_Module</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Remove_Module</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-base_interface.html#FT_Module">FT_Module</a> module ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Remove a given module from a library instance.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to a library object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>module</b></td><td> +<p>A handle to a module object.</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 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>The module object is destroyed by the function in case of success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Reference_Library">FT_Reference_Library</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Reference_Library</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A counter gets initialized to 1 at the time an <a href="ft2-base_interface.html#FT_Library">FT_Library</a> structure is created. This function increments the counter. <a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a> then only destroys a library if the counter is 1, otherwise it simply decrements the counter.</p> +<p>This function helps in managing life-cycles of structures which reference <a href="ft2-base_interface.html#FT_Library">FT_Library</a> objects.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to a target library object.</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 means success.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.4.2</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_New_Library">FT_New_Library</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Library</b>( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <a href="ft2-base_interface.html#FT_Library">FT_Library</a> *alibrary ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This function is used to create a new FreeType library instance from a given memory object. It is thus possible to use libraries with distinct memory allocators within the same program.</p> +<p>Normally, you would call this function (followed by a call to <a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a> or a series of calls to <a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a>) instead of <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a> to initialize the FreeType library.</p> +<p>Don't use <a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a> but <a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a> to destroy a library instance.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>memory</b></td><td> +<p>A handle to the original memory object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>alibrary</b></td><td> +<p>A pointer to handle of a new library object.</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 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>See the discussion of reference counters in the description of <a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Done_Library">FT_Done_Library</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Done_Library</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Discard a given library object. This closes all drivers and discards all resource objects.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the target library.</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 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>See the discussion of reference counters in the description of <a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Set_Debug_Hook</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> hook_index, + FT_DebugHook_Func debug_hook ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Set a debug hook function for debugging the interpreter of a font format.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the library object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>hook_index</b></td><td> +<p>The index of the debug hook. You should use the values defined in ‘ftobjs.h’, e.g., ‘FT_DEBUG_HOOK_TRUETYPE’.</p> +</td></tr> +<tr valign=top><td><b>debug_hook</b></td><td> +<p>The function used to debug the interpreter.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Currently, four debug hook slots are available, but only two (for the TrueType and the Type 1 interpreter) are defined.</p> +<p>Since the internal headers of FreeType are no longer installed, the symbol ‘FT_DEBUG_HOOK_TRUETYPE’ isn't available publicly. This is a bug and will be fixed in a forthcoming release.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Add_Default_Modules">FT_Add_Default_Modules</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Add_Default_Modules</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Add the set of default drivers to a given library object. This is only useful when you create a library object with <a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a> (usually to plug a custom memory manager).</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to a new library object.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Renderer_Class">FT_Renderer_Class</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_RENDER_H (freetype/ftrender.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Renderer_Class_ + { + <a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a> root; + + <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> glyph_format; + + FT_Renderer_RenderFunc render_glyph; + FT_Renderer_TransformFunc transform_glyph; + FT_Renderer_GetCBoxFunc get_glyph_cbox; + FT_Renderer_SetModeFunc set_mode; + + <a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a>* raster_class; + + } <b>FT_Renderer_Class</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The renderer module class descriptor.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>root</b></td><td> +<p>The root <a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a> fields.</p> +</td></tr> +<tr valign=top><td><b>glyph_format</b></td><td> +<p>The glyph image format this renderer handles.</p> +</td></tr> +<tr valign=top><td><b>render_glyph</b></td><td> +<p>A method used to render the image that is in a given glyph slot into a bitmap.</p> +</td></tr> +<tr valign=top><td><b>transform_glyph</b></td><td> +<p>A method used to transform the image that is in a given glyph slot.</p> +</td></tr> +<tr valign=top><td><b>get_glyph_cbox</b></td><td> +<p>A method used to access the glyph's cbox.</p> +</td></tr> +<tr valign=top><td><b>set_mode</b></td><td> +<p>A method used to pass additional parameters.</p> +</td></tr> +<tr valign=top><td><b>raster_class</b></td><td> +<p>For <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a> renderers only. This is a pointer to its raster's class.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Renderer">FT_Get_Renderer</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_RENDER_H (freetype/ftrender.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-base_interface.html#FT_Renderer">FT_Renderer</a> ) + <b>FT_Get_Renderer</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> format ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the current renderer for a given glyph format.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the library object.</p> +</td></tr> +<tr valign=top><td><b>format</b></td><td> +<p>The glyph format.</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>A renderer handle. 0 if none found.</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>An error will be returned if a module already exists by that name, or if the module requires a version of FreeType that is too great.</p> +<p>To add a new renderer, simply use <a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a>. To retrieve a renderer by its name, use <a href="ft2-module_management.html#FT_Get_Module">FT_Get_Module</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Set_Renderer">FT_Set_Renderer</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_RENDER_H (freetype/ftrender.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_Renderer</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-base_interface.html#FT_Renderer">FT_Renderer</a> renderer, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_params, + <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a>* parameters ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Set the current renderer to use, and set additional mode.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the library object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>renderer</b></td><td> +<p>A handle to the renderer object.</p> +</td></tr> +<tr valign=top><td><b>num_params</b></td><td> +<p>The number of additional parameters.</p> +</td></tr> +<tr valign=top><td><b>parameters</b></td><td> +<p>Additional parameters.</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 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>In case of success, the renderer will be used to convert glyph images in the renderer's known format into bitmaps.</p> +<p>This doesn't change the current renderer for other formats.</p> +<p>Currently, only the B/W renderer, if compiled with FT_RASTER_OPTION_ANTI_ALIASING (providing a 5-levels anti-aliasing mode; this option must be set directly in ‘ftraster.c’ and is undefined by default) accepts a single tag ‘pal5’ to set its gray palette as a character string with 5 elements. Consequently, the third and fourth argument are zero normally.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-multiple_masters.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-multiple_masters.html new file mode 100644 index 00000000000..7672c8dbf36 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-multiple_masters.html @@ -0,0 +1,511 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Multiple Masters +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_MM_Axis">FT_MM_Axis</a></td><td></td><td><a href="#FT_Get_MM_Var">FT_Get_MM_Var</a></td></tr> +<tr><td></td><td><a href="#FT_Multi_Master">FT_Multi_Master</a></td><td></td><td><a href="#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td></tr> +<tr><td></td><td><a href="#FT_Var_Axis">FT_Var_Axis</a></td><td></td><td><a href="#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td></tr> +<tr><td></td><td><a href="#FT_Var_Named_Style">FT_Var_Named_Style</a></td><td></td><td><a href="#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></td></tr> +<tr><td></td><td><a href="#FT_MM_Var">FT_MM_Var</a></td><td></td><td><a href="#FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></td></tr> +<tr><td></td><td><a href="#FT_Get_Multi_Master">FT_Get_Multi_Master</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>The following types and functions are used to manage Multiple Master fonts, i.e., the selection of specific design instances by setting design axis coordinates.</p> +<p>George Williams has extended this interface to make it work with both Type 1 Multiple Masters fonts and GX distortable (var) fonts. Some of these routines only work with MM fonts, others will work with both types. They are similar enough that a consistent interface makes sense.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_MM_Axis">FT_MM_Axis</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_MM_Axis_ + { + <a href="ft2-basic_types.html#FT_String">FT_String</a>* name; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> minimum; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> maximum; + + } <b>FT_MM_Axis</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A simple structure used to model a given axis in design space for Multiple Masters fonts.</p> +<p>This structure can't be used for GX var fonts.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>name</b></td><td> +<p>The axis's name.</p> +</td></tr> +<tr valign=top><td><b>minimum</b></td><td> +<p>The axis's minimum design coordinate.</p> +</td></tr> +<tr valign=top><td><b>maximum</b></td><td> +<p>The axis's maximum design coordinate.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Multi_Master">FT_Multi_Master</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Multi_Master_ + { + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_axis; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_designs; + <a href="ft2-multiple_masters.html#FT_MM_Axis">FT_MM_Axis</a> axis[T1_MAX_MM_AXIS]; + + } <b>FT_Multi_Master</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model the axes and space of a Multiple Masters font.</p> +<p>This structure can't be used for GX var fonts.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>num_axis</b></td><td> +<p>Number of axes. Cannot exceed 4.</p> +</td></tr> +<tr valign=top><td><b>num_designs</b></td><td> +<p>Number of designs; should be normally 2^num_axis even though the Type 1 specification strangely allows for intermediate designs to be present. This number cannot exceed 16.</p> +</td></tr> +<tr valign=top><td><b>axis</b></td><td> +<p>A table of axis descriptors.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Var_Axis">FT_Var_Axis</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Var_Axis_ + { + <a href="ft2-basic_types.html#FT_String">FT_String</a>* name; + + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> minimum; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> def; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> maximum; + + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> tag; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> strid; + + } <b>FT_Var_Axis</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A simple structure used to model a given axis in design space for Multiple Masters and GX var fonts.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>name</b></td><td> +<p>The axis's name. Not always meaningful for GX.</p> +</td></tr> +<tr valign=top><td><b>minimum</b></td><td> +<p>The axis's minimum design coordinate.</p> +</td></tr> +<tr valign=top><td><b>def</b></td><td> +<p>The axis's default design coordinate. FreeType computes meaningful default values for MM; it is then an integer value, not in 16.16 format.</p> +</td></tr> +<tr valign=top><td><b>maximum</b></td><td> +<p>The axis's maximum design coordinate.</p> +</td></tr> +<tr valign=top><td><b>tag</b></td><td> +<p>The axis's tag (the GX equivalent to ‘name’). FreeType provides default values for MM if possible.</p> +</td></tr> +<tr valign=top><td><b>strid</b></td><td> +<p>The entry in ‘name’ table (another GX version of ‘name’). Not meaningful for MM.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Var_Named_Style">FT_Var_Named_Style</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Var_Named_Style_ + { + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* coords; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> strid; + + } <b>FT_Var_Named_Style</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A simple structure used to model a named style in a GX var font.</p> +<p>This structure can't be used for MM fonts.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>coords</b></td><td> +<p>The design coordinates for this style. This is an array with one entry for each axis.</p> +</td></tr> +<tr valign=top><td><b>strid</b></td><td> +<p>The entry in ‘name’ table identifying this style.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_MM_Var">FT_MM_Var</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_MM_Var_ + { + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_axis; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_designs; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_namedstyles; + <a href="ft2-multiple_masters.html#FT_Var_Axis">FT_Var_Axis</a>* axis; + <a href="ft2-multiple_masters.html#FT_Var_Named_Style">FT_Var_Named_Style</a>* namedstyle; + + } <b>FT_MM_Var</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model the axes and space of a Multiple Masters or GX var distortable font.</p> +<p>Some fields are specific to one format and not to the other.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>num_axis</b></td><td> +<p>The number of axes. The maximum value is 4 for MM; no limit in GX.</p> +</td></tr> +<tr valign=top><td><b>num_designs</b></td><td> +<p>The number of designs; should be normally 2^num_axis for MM fonts. Not meaningful for GX (where every glyph could have a different number of designs).</p> +</td></tr> +<tr valign=top><td><b>num_namedstyles</b></td><td> +<p>The number of named styles; only meaningful for GX which allows certain design coordinates to have a string ID (in the ‘name’ table) associated with them. The font can tell the user that, for example, Weight=1.5 is ‘Bold’.</p> +</td></tr> +<tr valign=top><td><b>axis</b></td><td> +<p>A table of axis descriptors. GX fonts contain slightly more data than MM.</p> +</td></tr> +<tr valign=top><td><b>namedstyles</b></td><td> +<p>A table of named styles. Only meaningful with GX.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Multi_Master">FT_Get_Multi_Master</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Multi_Master</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-multiple_masters.html#FT_Multi_Master">FT_Multi_Master</a> *amaster ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the Multiple Master descriptor of a given font.</p> +<p>This function can't be used with GX fonts.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>amaster</b></td><td> +<p>The Multiple Masters descriptor.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_MM_Var">FT_Get_MM_Var</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_MM_Var</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-multiple_masters.html#FT_MM_Var">FT_MM_Var</a>* *amaster ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the Multiple Master/GX var descriptor of a given font.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>amaster</b></td><td> +<p>The Multiple Masters/GX var descriptor. Allocates a data structure, which the user must free (a single call to FT_FREE will do it).</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_MM_Design_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_coords, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a>* coords ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>For Multiple Masters fonts, choose an interpolated font design through design coordinates.</p> +<p>This function can't be used with GX fonts.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>num_coords</b></td><td> +<p>The number of design coordinates (must be equal to the number of axes in the font).</p> +</td></tr> +<tr valign=top><td><b>coords</b></td><td> +<p>An array of design coordinates.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_Var_Design_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_coords, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* coords ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>For Multiple Master or GX Var fonts, choose an interpolated font design through design coordinates.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>num_coords</b></td><td> +<p>The number of design coordinates (must be equal to the number of axes in the font).</p> +</td></tr> +<tr valign=top><td><b>coords</b></td><td> +<p>An array of design coordinates.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_MM_Blend_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_coords, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* coords ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>For Multiple Masters and GX var fonts, choose an interpolated font design through normalized blend coordinates.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>num_coords</b></td><td> +<p>The number of design coordinates (must be equal to the number of axes in the font).</p> +</td></tr> +<tr valign=top><td><b>coords</b></td><td> +<p>The design coordinates array (each element must be between 0 and 1.0).</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_Var_Blend_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_coords, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* coords ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This is another name of <a href="ft2-multiple_masters.html#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-ot_validation.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-ot_validation.html new file mode 100644 index 00000000000..70009df90e3 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-ot_validation.html @@ -0,0 +1,208 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +OpenType Validation +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td><td></td><td><a href="#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td></td><td><a href="#FT_OpenType_Free">FT_OpenType_Free</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains the declaration of functions to validate some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a> 0x0100 +#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a> 0x0200 +#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a> 0x0400 +#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a> 0x0800 +#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a> 0x1000 +#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a> 0x2000 + +#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OT</a> <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a> | \ + <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a> | \ + <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a> | \ + <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a> | \ + <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a> | \ + <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of bit-field constants used with <a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a> to indicate which OpenType tables should be validated.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_VALIDATE_BASE</b></td><td> +<p>Validate BASE table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_GDEF</b></td><td> +<p>Validate GDEF table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_GPOS</b></td><td> +<p>Validate GPOS table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_GSUB</b></td><td> +<p>Validate GSUB table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_JSTF</b></td><td> +<p>Validate JSTF table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_MATH</b></td><td> +<p>Validate MATH table.</p> +</td></tr> +<tr valign=top><td><b>FT_VALIDATE_OT</b></td><td> +<p>Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_OpenType_Validate">FT_OpenType_Validate</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_OpenType_Validate</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> validation_flags, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *BASE_table, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *GDEF_table, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *GPOS_table, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *GSUB_table, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *JSTF_table ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Validate various OpenType tables to assure that all offsets and indices are valid. The idea is that a higher-level library which actually does the text layout can access those tables without error checking (which can be quite time consuming).</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +<tr valign=top><td><b>validation_flags</b></td><td> +<p>A bit field which specifies the tables to be validated. See <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a> for possible values.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>BASE_table</b></td><td> +<p>A pointer to the BASE table.</p> +</td></tr> +<tr valign=top><td><b>GDEF_table</b></td><td> +<p>A pointer to the GDEF table.</p> +</td></tr> +<tr valign=top><td><b>GPOS_table</b></td><td> +<p>A pointer to the GPOS table.</p> +</td></tr> +<tr valign=top><td><b>GSUB_table</b></td><td> +<p>A pointer to the GSUB table.</p> +</td></tr> +<tr valign=top><td><b>JSTF_table</b></td><td> +<p>A pointer to the JSTF table.</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 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>This function only works with OpenType fonts, returning an error otherwise.</p> +<p>After use, the application should deallocate the five tables with <a href="ft2-ot_validation.html#FT_OpenType_Free">FT_OpenType_Free</a>. A NULL value indicates that the table either doesn't exist in the font, or the application hasn't asked for validation.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_OpenType_Free">FT_OpenType_Free</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_OpenType_Free</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> table ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Free the buffer allocated by OpenType validator.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +<tr valign=top><td><b>table</b></td><td> +<p>The pointer to the buffer that is allocated by <a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a>.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>This function must be used to free the buffer allocated by <a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a> only.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-outline_processing.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-outline_processing.html new file mode 100644 index 00000000000..87c4fc9db19 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-outline_processing.html @@ -0,0 +1,1125 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Outline Processing +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Outline">FT_Outline</a></td><td></td><td><a href="#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></td></tr> +<tr><td></td><td><a href="#FT_OUTLINE_FLAGS">FT_OUTLINE_FLAGS</a></td><td></td><td><a href="#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></td></tr> +<tr><td></td><td><a href="#FT_Outline_New">FT_Outline_New</a></td><td></td><td><a href="#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></td></tr> +<tr><td></td><td><a href="#FT_Outline_Done">FT_Outline_Done</a></td><td></td><td><a href="#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></td></tr> +<tr><td></td><td><a href="#FT_Outline_Copy">FT_Outline_Copy</a></td><td></td><td><a href="#FT_Outline_Funcs">FT_Outline_Funcs</a></td></tr> +<tr><td></td><td><a href="#FT_Outline_Translate">FT_Outline_Translate</a></td><td></td><td><a href="#FT_Outline_Decompose">FT_Outline_Decompose</a></td></tr> +<tr><td></td><td><a href="#FT_Outline_Transform">FT_Outline_Transform</a></td><td></td><td><a href="#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></td></tr> +<tr><td></td><td><a href="#FT_Outline_Embolden">FT_Outline_Embolden</a></td><td></td><td><a href="#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td></tr> +<tr><td></td><td><a href="#FT_Outline_Reverse">FT_Outline_Reverse</a></td><td></td><td><a href="#FT_Outline_Render">FT_Outline_Render</a></td></tr> +<tr><td></td><td><a href="#FT_Outline_Check">FT_Outline_Check</a></td><td></td><td><a href="#FT_Orientation">FT_Orientation</a></td></tr> +<tr><td></td><td><a href="#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></td><td></td><td><a href="#FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></td></tr> +<tr><td></td><td><a href="#ft_outline_flags">ft_outline_flags</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains routines used to create and destroy scalable glyph images known as ‘outlines’. These can also be measured, transformed, and converted into bitmaps and pixmaps.</p> +</td></tr></table><br> +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Outline_ + { + <span class="keyword">short</span> n_contours; /* number of contours in glyph */ + <span class="keyword">short</span> n_points; /* number of points in the glyph */ + + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* points; /* the outline's points */ + <span class="keyword">char</span>* tags; /* the points flags */ + <span class="keyword">short</span>* contours; /* the contour end points */ + + <span class="keyword">int</span> flags; /* outline masks */ + + } <b>FT_Outline</b>; + + /* Following limits must be consistent with */ + /* <b>FT_Outline</b>.{n_contours,n_points} */ +#define FT_OUTLINE_CONTOURS_MAX SHRT_MAX +#define FT_OUTLINE_POINTS_MAX SHRT_MAX + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This structure is used to describe an outline to the scan-line converter.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>n_contours</b></td><td> +<p>The number of contours in the outline.</p> +</td></tr> +<tr valign=top><td><b>n_points</b></td><td> +<p>The number of points in the outline.</p> +</td></tr> +<tr valign=top><td><b>points</b></td><td> +<p>A pointer to an array of ‘n_points’ <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> elements, giving the outline's point coordinates.</p> +</td></tr> +<tr valign=top><td><b>tags</b></td><td> +<p>A pointer to an array of ‘n_points’ chars, giving each outline point's type.</p> +<p>If bit 0 is unset, the point is ‘off’ the curve, i.e., a Bézier control point, while it is ‘on’ if set.</p> +<p>Bit 1 is meaningful for ‘off’ points only. If set, it indicates a third-order Bézier arc control point; and a second-order control point if unset.</p> +<p>If bit 2 is set, bits 5-7 contain the drop-out mode (as defined in the OpenType specification; the value is the same as the argument to the SCANMODE instruction).</p> +<p>Bits 3 and 4 are reserved for internal purposes.</p> +</td></tr> +<tr valign=top><td><b>contours</b></td><td> +<p>An array of ‘n_contours’ shorts, giving the end point of each contour within the outline. For example, the first contour is defined by the points ‘0’ to ‘contours[0]’, the second one is defined by the points ‘contours[0]+1’ to ‘contours[1]’, etc.</p> +</td></tr> +<tr valign=top><td><b>flags</b></td><td> +<p>A set of bit flags used to characterize the outline and give hints to the scan-converter and hinter on how to convert/grid-fit it. See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_FLAGS</a>.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The B/W rasterizer only checks bit 2 in the ‘tags’ array for the first point of each contour. The drop-out mode as given with <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a>, <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SMART_DROPOUTS</a>, and <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_INCLUDE_STUBS</a> in ‘flags’ is then overridden.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_NONE</a> 0x0 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_OWNER</a> 0x1 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_EVEN_ODD_FILL</a> 0x2 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a> 0x4 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a> 0x8 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SMART_DROPOUTS</a> 0x10 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_INCLUDE_STUBS</a> 0x20 + +#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_HIGH_PRECISION</a> 0x100 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SINGLE_PASS</a> 0x200 + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of bit-field constants use for the flags in an outline's ‘flags’ field.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_OUTLINE_NONE</b></td><td> +<p>Value 0 is reserved.</p> +</td></tr> +<tr valign=top><td><b>FT_OUTLINE_OWNER</b></td><td> +<p>If set, this flag indicates that the outline's field arrays (i.e., ‘points’, ‘flags’, and ‘contours’) are ‘owned’ by the outline object, and should thus be freed when it is destroyed.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_OUTLINE_EVEN_ODD_FILL</b></td></tr> +<tr valign=top><td></td><td> +<p>By default, outlines are filled using the non-zero winding rule. If set to 1, the outline will be filled using the even-odd fill rule (only works with the smooth rasterizer).</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_OUTLINE_REVERSE_FILL</b></td></tr> +<tr valign=top><td></td><td> +<p>By default, outside contours of an outline are oriented in clock-wise direction, as defined in the TrueType specification. This flag is set if the outline uses the opposite direction (typically for Type 1 fonts). This flag is ignored by the scan converter.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_OUTLINE_IGNORE_DROPOUTS</b></td></tr> +<tr valign=top><td></td><td> +<p>By default, the scan converter will try to detect drop-outs in an outline and correct the glyph bitmap to ensure consistent shape continuity. If set, this flag hints the scan-line converter to ignore such cases. See below for more information.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_OUTLINE_SMART_DROPOUTS</b></td></tr> +<tr valign=top><td></td><td> +<p>Select smart dropout control. If unset, use simple dropout control. Ignored if <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a> is set. See below for more information.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_OUTLINE_INCLUDE_STUBS</b></td></tr> +<tr valign=top><td></td><td> +<p>If set, turn pixels on for ‘stubs’, otherwise exclude them. Ignored if <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a> is set. See below for more information.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_OUTLINE_HIGH_PRECISION</b></td></tr> +<tr valign=top><td></td><td> +<p>This flag indicates that the scan-line converter should try to convert this outline to bitmaps with the highest possible quality. It is typically set for small character sizes. Note that this is only a hint that might be completely ignored by a given scan-converter.</p> +</td></tr> +<tr valign=top><td><b>FT_OUTLINE_SINGLE_PASS</b></td><td> +<p>This flag is set to force a given scan-converter to only use a single pass over the outline to render a bitmap glyph image. Normally, it is set for very large character sizes. It is only a hint that might be completely ignored by a given scan-converter.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The flags <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a>, <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SMART_DROPOUTS</a>, and <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_INCLUDE_STUBS</a> are ignored by the smooth rasterizer.</p> +<p>There exists a second mechanism to pass the drop-out mode to the B/W rasterizer; see the ‘tags’ field in <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>.</p> +<p>Please refer to the description of the ‘SCANTYPE’ instruction in the OpenType specification (in file ‘ttinst1.doc’) how simple drop-outs, smart drop-outs, and stubs are defined.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_New</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> numPoints, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> numContours, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> *anoutline ); + + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + FT_Outline_New_Internal( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> numPoints, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> numContours, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> *anoutline ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Create a new outline of a given size.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to the library object from where the outline is allocated. Note however that the new outline will <b>not</b> necessarily be <b>freed</b>, when destroying the library, by <a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a>.</p> +</td></tr> +<tr valign=top><td><b>numPoints</b></td><td> +<p>The maximal number of points within the outline.</p> +</td></tr> +<tr valign=top><td><b>numContours</b></td><td> +<p>The maximal number of contours within the outline.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>anoutline</b></td><td> +<p>A handle to the new outline.</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 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>The reason why this function takes a ‘library’ parameter is simply to use the library's memory allocator.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Done</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); + + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + FT_Outline_Done_Internal( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Destroy an outline created with <a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a>.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle of the library object used to allocate the outline.</p> +</td></tr> +<tr valign=top><td><b>outline</b></td><td> +<p>A pointer to the outline object to be discarded.</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 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 outline's ‘owner’ field is not set, only the outline descriptor will be released.</p> +<p>The reason why this function takes an ‘library’ parameter is simply to use ft_mem_free().</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Copy</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* source, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> *target ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Copy an outline into another one. Both objects must have the same sizes (number of points & number of contours) when this function is called.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>source</b></td><td> +<p>A handle to the source outline.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>target</b></td><td> +<p>A handle to the target outline.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Outline_Translate</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xOffset, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> yOffset ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Apply a simple translation to the points of an outline.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>outline</b></td><td> +<p>A pointer to the target outline descriptor.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>xOffset</b></td><td> +<p>The horizontal offset.</p> +</td></tr> +<tr valign=top><td><b>yOffset</b></td><td> +<p>The vertical offset.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Outline_Transform</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Apply a simple 2x2 matrix to all of an outline's points. Useful for applying rotations, slanting, flipping, etc.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>outline</b></td><td> +<p>A pointer to the target outline descriptor.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>matrix</b></td><td> +<p>A pointer to the transformation matrix.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>You can use <a href="ft2-outline_processing.html#FT_Outline_Translate">FT_Outline_Translate</a> if you need to translate the outline's points.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Embolden</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> strength ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Embolden an outline. The new outline will be at most 4 times ‘strength’ pixels wider and higher. You may think of the left and bottom borders as unchanged.</p> +<p>Negative ‘strength’ values to reduce the outline thickness are possible also.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>outline</b></td><td> +<p>A handle to the target outline.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>strength</b></td><td> +<p>How strong the glyph is emboldened. Expressed in 26.6 pixel format.</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 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>The used algorithm to increase or decrease the thickness of the glyph doesn't change the number of points; this means that certain situations like acute angles or intersections are sometimes handled incorrectly.</p> +<p>If you need ‘better’ metrics values you should call <a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a> or <a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a>.</p> +<p>Example call:</p> +<pre class="colored"> + FT_Load_Glyph( face, index, FT_LOAD_DEFAULT ); + if ( face->slot->format == FT_GLYPH_FORMAT_OUTLINE ) + FT_Outline_Embolden( &face->slot->outline, strength ); +</pre> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Outline_Reverse</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Reverse the drawing direction of an outline. This is used to ensure consistent fill conventions for mirrored glyphs.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>outline</b></td><td> +<p>A pointer to the target outline descriptor.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>This function toggles the bit flag <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a> in the outline's ‘flags’ field.</p> +<p>It shouldn't be used by a normal client application, unless it knows what it is doing.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Check</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Check the contents of an outline descriptor.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>outline</b></td><td> +<p>A handle to a source outline.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Get_BBox</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> *abbox ); + +</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> +</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>outline</b></td><td> +<p>A pointer to the source outline.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>abbox</b></td><td> +<p>The outline's exact bounding box.</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 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> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_none</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_NONE</a> +#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_owner</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_OWNER</a> +#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_even_odd_fill</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_EVEN_ODD_FILL</a> +#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_reverse_fill</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a> +#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_ignore_dropouts</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a> +#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_high_precision</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_HIGH_PRECISION</a> +#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_single_pass</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SINGLE_PASS</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>These constants are deprecated. Please use the corresponding <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_FLAGS</a> values.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>ft_outline_none</b></td><td> +<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_NONE</a>.</p> +</td></tr> +<tr valign=top><td><b>ft_outline_owner</b></td><td> +<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_OWNER</a>.</p> +</td></tr> +<tr valign=top><td colspan=0><b>ft_outline_even_odd_fill</b></td></tr> +<tr valign=top><td></td><td> +<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_EVEN_ODD_FILL</a>.</p> +</td></tr> +<tr valign=top><td colspan=0><b>ft_outline_reverse_fill</b></td></tr> +<tr valign=top><td></td><td> +<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a>.</p> +</td></tr> +<tr valign=top><td colspan=0><b>ft_outline_ignore_dropouts</b></td></tr> +<tr valign=top><td></td><td> +<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a>.</p> +</td></tr> +<tr valign=top><td colspan=0><b>ft_outline_high_precision</b></td></tr> +<tr valign=top><td></td><td> +<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_HIGH_PRECISION</a>.</p> +</td></tr> +<tr valign=top><td><b>ft_outline_single_pass</b></td><td> +<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SINGLE_PASS</a>.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Outline_MoveToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, + <span class="keyword">void</span>* user ); + +#define FT_Outline_MoveTo_Func <b>FT_Outline_MoveToFunc</b> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function pointer type used to describe the signature of a ‘move to’ function during outline walking/decomposition.</p> +<p>A ‘move to’ is emitted to start a new contour in an outline.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>to</b></td><td> +<p>A pointer to the target point of the ‘move to’.</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> +</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>Error code. 0 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Outline_LineToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, + <span class="keyword">void</span>* user ); + +#define FT_Outline_LineTo_Func <b>FT_Outline_LineToFunc</b> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function pointer type used to describe the signature of a ‘line to’ function during outline walking/decomposition.</p> +<p>A ‘line to’ is emitted to indicate a segment in the outline.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>to</b></td><td> +<p>A pointer to the target point of the ‘line to’.</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> +</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>Error code. 0 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Outline_ConicToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, + <span class="keyword">void</span>* user ); + +#define FT_Outline_ConicTo_Func <b>FT_Outline_ConicToFunc</b> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function pointer type used to describe the signature of a ‘conic to’ function during outline walking or decomposition.</p> +<p>A ‘conic to’ is emitted to indicate a second-order Bézier arc in the outline.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>control</b></td><td> +<p>An intermediate control point between the last position and the new target in ‘to’.</p> +</td></tr> +<tr valign=top><td><b>to</b></td><td> +<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> +</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>Error code. 0 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Outline_CubicToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control1, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control2, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, + <span class="keyword">void</span>* user ); + +#define FT_Outline_CubicTo_Func <b>FT_Outline_CubicToFunc</b> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function pointer type used to describe the signature of a ‘cubic to’ function during outline walking or decomposition.</p> +<p>A ‘cubic to’ is emitted to indicate a third-order Bézier arc.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>control1</b></td><td> +<p>A pointer to the first Bézier control point.</p> +</td></tr> +<tr valign=top><td><b>control2</b></td><td> +<p>A pointer to the second Bézier control point.</p> +</td></tr> +<tr valign=top><td><b>to</b></td><td> +<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> +</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>Error code. 0 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Outline_Funcs_ + { + <a href="ft2-outline_processing.html#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a> move_to; + <a href="ft2-outline_processing.html#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a> line_to; + <a href="ft2-outline_processing.html#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a> conic_to; + <a href="ft2-outline_processing.html#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a> cubic_to; + + <span class="keyword">int</span> shift; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> delta; + + } <b>FT_Outline_Funcs</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure to hold various function pointers used during outline decomposition in order to emit segments, conic, and cubic Béziers.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>move_to</b></td><td> +<p>The ‘move to’ emitter.</p> +</td></tr> +<tr valign=top><td><b>line_to</b></td><td> +<p>The segment emitter.</p> +</td></tr> +<tr valign=top><td><b>conic_to</b></td><td> +<p>The second-order Bézier arc emitter.</p> +</td></tr> +<tr valign=top><td><b>cubic_to</b></td><td> +<p>The third-order Bézier arc emitter.</p> +</td></tr> +<tr valign=top><td><b>shift</b></td><td> +<p>The shift that is applied to coordinates before they are sent to the emitter.</p> +</td></tr> +<tr valign=top><td><b>delta</b></td><td> +<p>The delta that is applied to coordinates before they are sent to the emitter, but after the shift.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The point coordinates sent to the emitters are the transformed version of the original coordinates (this is important for high accuracy during scan-conversion). The transformation is simple:</p> +<pre class="colored"> + x' = (x << shift) - delta + y' = (x << shift) - delta +</pre> +<p>Set the values of ‘shift’ and ‘delta’ to 0 to get the original point coordinates.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Decompose</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline_Funcs">FT_Outline_Funcs</a>* func_interface, + <span class="keyword">void</span>* user ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Walk over an outline's structure to decompose it into individual segments and Bézier arcs. This function also emits ‘move to’ operations to indicate the start of new contours in the outline.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>outline</b></td><td> +<p>A pointer to the source target.</p> +</td></tr> +<tr valign=top><td><b>func_interface</b></td><td> +<p>A table of ‘emitters’, i.e., function pointers called during decomposition to indicate path operations.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<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> +</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Outline_Get_CBox</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> *acbox ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return an outline's ‘control box’. 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 ‘ftbbox’ 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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>outline</b></td><td> +<p>A pointer to the source outline descriptor.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>acbox</b></td><td> +<p>The outline's control box.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>See <a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a> for a discussion of tricky fonts.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Get_Bitmap</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *abitmap ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Render an outline within a bitmap. The outline's image is simply OR-ed to the target bitmap.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to a FreeType library object.</p> +</td></tr> +<tr valign=top><td><b>outline</b></td><td> +<p>A pointer to the source outline descriptor.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>abitmap</b></td><td> +<p>A pointer to the target bitmap descriptor.</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 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>This function does NOT CREATE the bitmap, it only renders an outline image within the one you pass to it! Consequently, the various fields in ‘abitmap’ should be set accordingly.</p> +<p>It will use the raster corresponding to the default glyph format.</p> +<p>The value of the ‘num_grays’ field in ‘abitmap’ is ignored. If you select the gray-level rasterizer, and you want less than 256 gray levels, you have to use <a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a> directly.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Render</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a>* params ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Render an outline within a bitmap using the current scan-convert. This function uses an <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure as an argument, allowing advanced features like direct composition, translucency, etc.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A handle to a FreeType library object.</p> +</td></tr> +<tr valign=top><td><b>outline</b></td><td> +<p>A pointer to the source outline descriptor.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>params</b></td><td> +<p>A pointer to an <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure used to describe the rendering operation.</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 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>You should know what you are doing and how <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> works to use this function.</p> +<p>The field ‘params.source’ will be set to ‘outline’ before the scan converter is called, which means that the value you give to it is actually ignored.</p> +<p>The gray-level rasterizer always uses 256 gray levels. If you want less gray levels, you have to provide your own span callback. See the <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a> value of the ‘flags’ field in the <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure for more details.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Orientation_ + { + <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a> = 0, + <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a> = 1, + <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_RIGHT</a> = <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a>, + <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_LEFT</a> = <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a>, + <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_NONE</a> + + } <b>FT_Orientation</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of values used to describe an outline's contour orientation.</p> +<p>The TrueType and PostScript specifications use different conventions to determine whether outline contours should be filled or unfilled.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td colspan=0><b>FT_ORIENTATION_TRUETYPE</b></td></tr> +<tr valign=top><td></td><td> +<p>According to the TrueType specification, clockwise contours must be filled, and counter-clockwise ones must be unfilled.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_ORIENTATION_POSTSCRIPT</b></td></tr> +<tr valign=top><td></td><td> +<p>According to the PostScript specification, counter-clockwise contours must be filled, and clockwise ones must be unfilled.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_ORIENTATION_FILL_RIGHT</b></td></tr> +<tr valign=top><td></td><td> +<p>This is identical to <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a>, but is used to remember that in TrueType, everything that is to the right of the drawing direction of a contour must be filled.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_ORIENTATION_FILL_LEFT</b></td></tr> +<tr valign=top><td></td><td> +<p>This is identical to <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a>, but is used to remember that in PostScript, everything that is to the left of the drawing direction of a contour must be filled.</p> +</td></tr> +<tr valign=top><td><b>FT_ORIENTATION_NONE</b></td><td> +<p>The orientation cannot be determined. That is, different parts of the glyph have different orientation.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<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). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a> ) + <b>FT_Outline_Get_Orientation</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); + +</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>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> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>outline</b></td><td> +<p>A handle to the source outline.</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>The orientation.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-pfr_fonts.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-pfr_fonts.html new file mode 100644 index 00000000000..28da0c3a773 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-pfr_fonts.html @@ -0,0 +1,206 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +PFR Fonts +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td></td><td><a href="#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td></td><td><a href="#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains the declaration of PFR-specific functions.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_PFR_H (freetype/ftpfr.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_PFR_Metrics</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *aoutline_resolution, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *ametrics_resolution, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *ametrics_x_scale, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *ametrics_y_scale ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the outline and metrics resolutions of a given PFR face.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>Handle to the input face. It can be a non-PFR face.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aoutline_resolution</b></td><td> +<p>Outline resolution. This is equivalent to ‘face->units_per_EM’ for non-PFR fonts. Optional (parameter can be NULL).</p> +</td></tr> +<tr valign=top><td><b>ametrics_resolution</b></td><td> +<p>Metrics resolution. This is equivalent to ‘outline_resolution’ for non-PFR fonts. Optional (parameter can be NULL).</p> +</td></tr> +<tr valign=top><td><b>ametrics_x_scale</b></td><td> +<p>A 16.16 fixed-point number used to scale distance expressed in metrics units to device sub-pixels. This is equivalent to ‘face->size->x_scale’, but for metrics only. Optional (parameter can be NULL).</p> +</td></tr> +<tr valign=top><td><b>ametrics_y_scale</b></td><td> +<p>Same as ‘ametrics_x_scale’ but for the vertical direction. optional (parameter can be NULL).</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 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 input face is not a PFR, this function will return an error. However, in all cases, it will return valid values.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_PFR_H (freetype/ftpfr.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_PFR_Kerning</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> left, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> right, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> *avector ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the kerning pair corresponding to two glyphs in a PFR face. The distance is expressed in metrics units, unlike the result of <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a>.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +<tr valign=top><td><b>left</b></td><td> +<p>Index of the left glyph.</p> +</td></tr> +<tr valign=top><td><b>right</b></td><td> +<p>Index of the right glyph.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>avector</b></td><td> +<p>A kerning vector.</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 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>This function always return distances in original PFR metrics units. This is unlike <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a> with the <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a> mode, which always returns distances converted to outline units.</p> +<p>You can use the value of the ‘x_scale’ and ‘y_scale’ parameters returned by <a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a> to scale these to device sub-pixels.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_PFR_H (freetype/ftpfr.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_PFR_Advance</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> *aadvance ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return a given glyph advance, expressed in original metrics units, from a PFR font.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +<tr valign=top><td><b>gindex</b></td><td> +<p>The glyph index.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aadvance</b></td><td> +<p>The glyph advance in metrics units.</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 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>You can use the ‘x_scale’ or ‘y_scale’ results of <a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a> to convert the advance to device sub-pixels (i.e., 1/64th of pixels).</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-quick_advance.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-quick_advance.html new file mode 100644 index 00000000000..bccd156bf7e --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-quick_advance.html @@ -0,0 +1,185 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Quick retrieval of advance values +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td><td></td><td><a href="#FT_Get_Advances">FT_Get_Advances</a></td></tr> +<tr><td></td><td><a href="#FT_Get_Advance">FT_Get_Advance</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains functions to quickly extract advance values without handling glyph outlines, if possible.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_ADVANCES_H (freetype/ftadvanc.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_ADVANCE_FLAG_FAST_ONLY</b> 0x20000000UL + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A bit-flag to be OR-ed with the ‘flags’ parameter of the <a href="ft2-quick_advance.html#FT_Get_Advance">FT_Get_Advance</a> and <a href="ft2-quick_advance.html#FT_Get_Advances">FT_Get_Advances</a> functions.</p> +<p>If set, it indicates that you want these functions to fail if the corresponding hinting mode or font driver doesn't allow for very quick advance computation.</p> +<p>Typically, glyphs which are either unscaled, unhinted, bitmapped, or light-hinted can have their advance width computed very quickly.</p> +<p>Normal and bytecode hinted modes, which require loading, scaling, and hinting of the glyph outline, are extremely slow by comparison.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Advance">FT_Get_Advance</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_ADVANCES_H (freetype/ftadvanc.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Advance</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, + <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *padvance ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the advance value of a given glyph outline in an <a href="ft2-base_interface.html#FT_Face">FT_Face</a>. By default, the unhinted advance is returned in font units.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>The source <a href="ft2-base_interface.html#FT_Face">FT_Face</a> handle.</p> +</td></tr> +<tr valign=top><td><b>gindex</b></td><td> +<p>The glyph index.</p> +</td></tr> +<tr valign=top><td><b>load_flags</b></td><td> +<p>A set of bit flags similar to those used when calling <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>, used to determine what kind of advances you need.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>padvance</b></td><td> +<p>The advance value, in either font units or 16.16 format.</p> +<p>If <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a> is set, this is the vertical advance corresponding to a vertical layout. Otherwise, it is the horizontal advance in a horizontal layout.</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 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>This function may fail if you use <a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a> and if the corresponding font backend doesn't have a quick way to retrieve the advances.</p> +<p>A scaled advance is returned in 16.16 format but isn't transformed by the affine transformation specified by <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Advances">FT_Get_Advances</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_ADVANCES_H (freetype/ftadvanc.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Advances</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> start, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> count, + <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *padvances ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the advance values of several glyph outlines in an <a href="ft2-base_interface.html#FT_Face">FT_Face</a>. By default, the unhinted advances are returned in font units.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>The source <a href="ft2-base_interface.html#FT_Face">FT_Face</a> handle.</p> +</td></tr> +<tr valign=top><td><b>start</b></td><td> +<p>The first glyph index.</p> +</td></tr> +<tr valign=top><td><b>count</b></td><td> +<p>The number of advance values you want to retrieve.</p> +</td></tr> +<tr valign=top><td><b>load_flags</b></td><td> +<p>A set of bit flags similar to those used when calling <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>padvance</b></td><td> +<p>The advances, in either font units or 16.16 format. This array must contain at least ‘count’ elements.</p> +<p>If <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a> is set, these are the vertical advances corresponding to a vertical layout. Otherwise, they are the horizontal advances in a horizontal layout.</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 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>This function may fail if you use <a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a> and if the corresponding font backend doesn't have a quick way to retrieve the advances.</p> +<p>Scaled advances are returned in 16.16 format but aren't transformed by the affine transformation specified by <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-raster.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-raster.html new file mode 100644 index 00000000000..65099ed7035 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-raster.html @@ -0,0 +1,606 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Scanline Converter +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Raster">FT_Raster</a></td><td></td><td><a href="#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></td><td></td><td><a href="#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></td></tr> +<tr><td></td><td><a href="#FT_Span">FT_Span</a></td><td></td><td><a href="#FT_Raster_Params">FT_Raster_Params</a></td><td></td><td><a href="#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></td></tr> +<tr><td></td><td><a href="#FT_SpanFunc">FT_SpanFunc</a></td><td></td><td><a href="#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td></td><td><a href="#FT_Raster_Funcs">FT_Raster_Funcs</a></td></tr> +<tr><td></td><td><a href="#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td><td></td><td><a href="#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td></td><td></td></tr> +<tr><td></td><td><a href="#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></td><td></td><td><a href="#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains technical definitions.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Raster">FT_Raster</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_RasterRec_* <b>FT_Raster</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle (pointer) to a raster object. Each object can be used independently to convert an outline into a bitmap or pixmap.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Span">FT_Span</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Span_ + { + <span class="keyword">short</span> x; + <span class="keyword">unsigned</span> <span class="keyword">short</span> len; + <span class="keyword">unsigned</span> <span class="keyword">char</span> coverage; + + } <b>FT_Span</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model a single span of gray (or black) pixels when rendering a monochrome or anti-aliased bitmap.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>x</b></td><td> +<p>The span's horizontal start position.</p> +</td></tr> +<tr valign=top><td><b>len</b></td><td> +<p>The span's length in pixels.</p> +</td></tr> +<tr valign=top><td><b>coverage</b></td><td> +<p>The span color/coverage, ranging from 0 (background) to 255 (foreground). Only used for anti-aliased rendering.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>This structure is used by the span drawing callback type named <a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a> which takes the y coordinate of the span as a a parameter.</p> +<p>The coverage value is always between 0 and 255. If you want less gray values, the callback function has to reduce them.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_SpanFunc">FT_SpanFunc</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_SpanFunc</b>)( <span class="keyword">int</span> y, + <span class="keyword">int</span> count, + <span class="keyword">const</span> <a href="ft2-raster.html#FT_Span">FT_Span</a>* spans, + <span class="keyword">void</span>* user ); + +#define FT_Raster_Span_Func <b>FT_SpanFunc</b> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used as a call-back by the anti-aliased renderer in order to let client applications draw themselves the gray pixel spans on each scan line.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>y</b></td><td> +<p>The scanline's y coordinate.</p> +</td></tr> +<tr valign=top><td><b>count</b></td><td> +<p>The number of spans to draw on this scanline.</p> +</td></tr> +<tr valign=top><td><b>spans</b></td><td> +<p>A table of ‘count’ spans to draw on the scanline.</p> +</td></tr> +<tr valign=top><td><b>user</b></td><td> +<p>User-supplied data that is passed to the callback.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>This callback allows client applications to directly render the gray spans of the anti-aliased bitmap to any kind of surfaces.</p> +<p>This can be used to write anti-aliased outlines directly to a given background bitmap, and even perform translucency.</p> +<p>Note that the ‘count’ field cannot be greater than a fixed value defined by the ‘FT_MAX_GRAY_SPANS’ configuration macro in ‘ftoption.h’. By default, this value is set to 32, which means that if there are more than 32 spans on a given scanline, the callback is called several times with the same ‘y’ parameter in order to draw all callbacks.</p> +<p>Otherwise, the callback is only called once per scan-line, and only for those scanlines that do have ‘gray’ pixels on them.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Raster_BitTest_Func</b>)( <span class="keyword">int</span> y, + <span class="keyword">int</span> x, + <span class="keyword">void</span>* user ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>THIS TYPE IS DEPRECATED. DO NOT USE IT.</p> +<p>A function used as a call-back by the monochrome scan-converter to test whether a given target pixel is already set to the drawing ‘color’. These tests are crucial to implement drop-out control per-se the TrueType spec.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>y</b></td><td> +<p>The pixel's y coordinate.</p> +</td></tr> +<tr valign=top><td><b>x</b></td><td> +<p>The pixel's x coordinate.</p> +</td></tr> +<tr valign=top><td><b>user</b></td><td> +<p>User-supplied data that is passed to the callback.</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>1 if the pixel is ‘set’, 0 otherwise.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_Raster_BitSet_Func</b>)( <span class="keyword">int</span> y, + <span class="keyword">int</span> x, + <span class="keyword">void</span>* user ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>THIS TYPE IS DEPRECATED. DO NOT USE IT.</p> +<p>A function used as a call-back by the monochrome scan-converter to set an individual target pixel. This is crucial to implement drop-out control according to the TrueType specification.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>y</b></td><td> +<p>The pixel's y coordinate.</p> +</td></tr> +<tr valign=top><td><b>x</b></td><td> +<p>The pixel's x coordinate.</p> +</td></tr> +<tr valign=top><td><b>user</b></td><td> +<p>User-supplied data that is passed to the callback.</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>1 if the pixel is ‘set’, 0 otherwise.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a> 0x0 +#define <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a> 0x1 +#define <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a> 0x2 +#define <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a> 0x4 + + /* deprecated */ +#define ft_raster_flag_default <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a> +#define ft_raster_flag_aa <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a> +#define ft_raster_flag_direct <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a> +#define ft_raster_flag_clip <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of bit flag constants as used in the ‘flags’ field of a <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_RASTER_FLAG_DEFAULT</b></td><td> +<p>This value is 0.</p> +</td></tr> +<tr valign=top><td><b>FT_RASTER_FLAG_AA</b></td><td> +<p>This flag is set to indicate that an anti-aliased glyph image should be generated. Otherwise, it will be monochrome (1-bit).</p> +</td></tr> +<tr valign=top><td><b>FT_RASTER_FLAG_DIRECT</b></td><td> +<p>This flag is set to indicate direct rendering. In this mode, client applications must provide their own span callback. This lets them directly draw or compose over an existing bitmap. If this bit is not set, the target pixmap's buffer <i>must</i> be zeroed before rendering.</p> +<p>Note that for now, direct rendering is only possible with anti-aliased glyphs.</p> +</td></tr> +<tr valign=top><td><b>FT_RASTER_FLAG_CLIP</b></td><td> +<p>This flag is only used in direct rendering mode. If set, the output will be clipped to a box specified in the ‘clip_box’ field of the <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure.</p> +<p>Note that by default, the glyph bitmap is clipped to the target pixmap, except in direct rendering mode where all spans are generated if no clipping box is set.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Raster_Params">FT_Raster_Params</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Raster_Params_ + { + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a>* target; + <span class="keyword">const</span> <span class="keyword">void</span>* source; + <span class="keyword">int</span> flags; + <a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a> gray_spans; + <a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a> black_spans; /* doesn't work! */ + <a href="ft2-raster.html#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a> bit_test; /* doesn't work! */ + <a href="ft2-raster.html#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a> bit_set; /* doesn't work! */ + <span class="keyword">void</span>* user; + <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> clip_box; + + } <b>FT_Raster_Params</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure to hold the arguments used by a raster's render function.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>target</b></td><td> +<p>The target bitmap.</p> +</td></tr> +<tr valign=top><td><b>source</b></td><td> +<p>A pointer to the source glyph image (e.g., an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>).</p> +</td></tr> +<tr valign=top><td><b>flags</b></td><td> +<p>The rendering flags.</p> +</td></tr> +<tr valign=top><td><b>gray_spans</b></td><td> +<p>The gray span drawing callback.</p> +</td></tr> +<tr valign=top><td><b>black_spans</b></td><td> +<p>The black span drawing callback. UNIMPLEMENTED!</p> +</td></tr> +<tr valign=top><td><b>bit_test</b></td><td> +<p>The bit test callback. UNIMPLEMENTED!</p> +</td></tr> +<tr valign=top><td><b>bit_set</b></td><td> +<p>The bit set callback. UNIMPLEMENTED!</p> +</td></tr> +<tr valign=top><td><b>user</b></td><td> +<p>User-supplied data that is passed to each drawing callback.</p> +</td></tr> +<tr valign=top><td><b>clip_box</b></td><td> +<p>An optional clipping box. It is only used in direct rendering mode. Note that coordinates here should be expressed in <i>integer</i> pixels (and not in 26.6 fixed-point units).</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>An anti-aliased glyph bitmap is drawn if the <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a> bit flag is set in the ‘flags’ field, otherwise a monochrome bitmap is generated.</p> +<p>If the <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a> bit flag is set in ‘flags’, the raster will call the ‘gray_spans’ callback to draw gray pixel spans, in the case of an aa glyph bitmap, it will call ‘black_spans’, and ‘bit_test’ and ‘bit_set’ in the case of a monochrome bitmap. This allows direct composition over a pre-existing bitmap through user-provided callbacks to perform the span drawing/composition.</p> +<p>Note that the ‘bit_test’ and ‘bit_set’ callbacks are required when rendering a monochrome bitmap, as they are crucial to implement correct drop-out control as defined in the TrueType specification.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Raster_NewFunc">FT_Raster_NewFunc</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Raster_NewFunc</b>)( <span class="keyword">void</span>* memory, + <a href="ft2-raster.html#FT_Raster">FT_Raster</a>* raster ); + +#define FT_Raster_New_Func <b>FT_Raster_NewFunc</b> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to create a new raster object.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>memory</b></td><td> +<p>A handle to the memory allocator.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>raster</b></td><td> +<p>A handle to the new raster object.</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>Error code. 0 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>The ‘memory’ parameter is a typeless pointer in order to avoid un-wanted dependencies on the rest of the FreeType code. In practice, it is an <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> object, i.e., a handle to the standard FreeType memory allocator. However, this field can be completely ignored by a given raster implementation.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_Raster_DoneFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster ); + +#define FT_Raster_Done_Func <b>FT_Raster_DoneFunc</b> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to destroy a given raster object.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>raster</b></td><td> +<p>A handle to the raster object.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_Raster_ResetFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster, + <span class="keyword">unsigned</span> <span class="keyword">char</span>* pool_base, + <span class="keyword">unsigned</span> <span class="keyword">long</span> pool_size ); + +#define FT_Raster_Reset_Func <b>FT_Raster_ResetFunc</b> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>FreeType provides an area of memory called the ‘render pool’, available to all registered rasters. This pool can be freely used during a given scan-conversion but is shared by all rasters. Its content is thus transient.</p> +<p>This function is called each time the render pool changes, or just after a new raster object is created.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>raster</b></td><td> +<p>A handle to the new raster object.</p> +</td></tr> +<tr valign=top><td><b>pool_base</b></td><td> +<p>The address in memory of the render pool.</p> +</td></tr> +<tr valign=top><td><b>pool_size</b></td><td> +<p>The size in bytes of the render pool.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Rasters can ignore the render pool and rely on dynamic memory allocation if they want to (a handle to the memory allocator is passed to the raster constructor). However, this is not recommended for efficiency purposes.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Raster_SetModeFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster, + <span class="keyword">unsigned</span> <span class="keyword">long</span> mode, + <span class="keyword">void</span>* args ); + +#define FT_Raster_Set_Mode_Func <b>FT_Raster_SetModeFunc</b> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This function is a generic facility to change modes or attributes in a given raster. This can be used for debugging purposes, or simply to allow implementation-specific ‘features’ in a given raster module.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>raster</b></td><td> +<p>A handle to the new raster object.</p> +</td></tr> +<tr valign=top><td><b>mode</b></td><td> +<p>A 4-byte tag used to name the mode or property.</p> +</td></tr> +<tr valign=top><td><b>args</b></td><td> +<p>A pointer to the new mode/property to use.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Raster_RenderFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster, + <span class="keyword">const</span> <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a>* params ); + +#define FT_Raster_Render_Func <b>FT_Raster_RenderFunc</b> + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Invoke a given raster to scan-convert a given glyph image into a target bitmap.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>raster</b></td><td> +<p>A handle to the raster object.</p> +</td></tr> +<tr valign=top><td><b>params</b></td><td> +<p>A pointer to an <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure used to store the rendering parameters.</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>Error code. 0 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>The exact format of the source image depends on the raster's glyph format defined in its <a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a> structure. It can be an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> or anything else in order to support a large array of glyph formats.</p> +<p>Note also that the render function can fail and return a ‘FT_Err_Unimplemented_Feature’ error code if the raster used does not support direct composition.</p> +<p>XXX: For now, the standard raster doesn't support direct composition but this should change for the final release (see the files ‘demos/src/ftgrays.c’ and ‘demos/src/ftgrays2.c’ for examples of distinct implementations which support direct composition).</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Raster_Funcs">FT_Raster_Funcs</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_IMAGE_H (freetype/ftimage.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Raster_Funcs_ + { + <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> glyph_format; + <a href="ft2-raster.html#FT_Raster_NewFunc">FT_Raster_NewFunc</a> raster_new; + <a href="ft2-raster.html#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a> raster_reset; + <a href="ft2-raster.html#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a> raster_set_mode; + <a href="ft2-raster.html#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a> raster_render; + <a href="ft2-raster.html#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a> raster_done; + + } <b>FT_Raster_Funcs</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to describe a given raster class to the library.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>glyph_format</b></td><td> +<p>The supported glyph format for this raster.</p> +</td></tr> +<tr valign=top><td><b>raster_new</b></td><td> +<p>The raster constructor.</p> +</td></tr> +<tr valign=top><td><b>raster_reset</b></td><td> +<p>Used to reset the render pool within the raster.</p> +</td></tr> +<tr valign=top><td><b>raster_render</b></td><td> +<p>A function to render a glyph into a given bitmap.</p> +</td></tr> +<tr valign=top><td><b>raster_done</b></td><td> +<p>The raster destructor.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-sfnt_names.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-sfnt_names.html new file mode 100644 index 00000000000..672971cc319 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-sfnt_names.html @@ -0,0 +1,232 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +SFNT Names +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_SfntName">FT_SfntName</a></td></tr> +<tr><td></td><td><a href="#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td></tr> +<tr><td></td><td><a href="#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td></tr> +<tr><td></td><td><a href="#FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</a></td></tr> +<tr><td></td><td><a href="#FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>The TrueType and OpenType specifications allow the inclusion of a special ‘names table’ in font files. This table contains textual (and internationalized) information regarding the font, like family name, copyright, version, etc.</p> +<p>The definitions below are used to access them if available.</p> +<p>Note that this has nothing to do with glyph names!</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_SfntName">FT_SfntName</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SfntName_ + { + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> platform_id; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> encoding_id; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> language_id; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> name_id; + + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* string; /* this string is *not* null-terminated! */ + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> string_len; /* in bytes */ + + } <b>FT_SfntName</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model an SFNT ‘name’ table entry.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>platform_id</b></td><td> +<p>The platform ID for ‘string’.</p> +</td></tr> +<tr valign=top><td><b>encoding_id</b></td><td> +<p>The encoding ID for ‘string’.</p> +</td></tr> +<tr valign=top><td><b>language_id</b></td><td> +<p>The language ID for ‘string’.</p> +</td></tr> +<tr valign=top><td><b>name_id</b></td><td> +<p>An identifier for ‘string’.</p> +</td></tr> +<tr valign=top><td><b>string</b></td><td> +<p>The ‘name’ string. Note that its format differs depending on the (platform,encoding) pair. It can be a Pascal String, a UTF-16 one, etc.</p> +<p>Generally speaking, the string is not zero-terminated. Please refer to the TrueType specification for details.</p> +</td></tr> +<tr valign=top><td><b>string_len</b></td><td> +<p>The length of ‘string’ in bytes.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>Possible values for ‘platform_id’, ‘encoding_id’, ‘language_id’, and ‘name_id’ are given in the file ‘ttnameid.h’. For details please refer to the TrueType or OpenType specification.</p> +<p>See also <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a>, <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a>, <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a>, <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a>, and <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a>.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) + <b>FT_Get_Sfnt_Name_Count</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the number of name strings in the SFNT ‘name’ table.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face.</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>The number of strings in the ‘name’ table.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Sfnt_Name</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> idx, + <a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a> *aname ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve a string of the SFNT ‘name’ table for a given index.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face.</p> +</td></tr> +<tr valign=top><td><b>idx</b></td><td> +<p>The index of the ‘name’ string.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aname</b></td><td> +<p>The indexed <a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a> structure.</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 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>The ‘string’ array returned in the ‘aname’ structure is not null-terminated. The application should deallocate it if it is no longer in use.</p> +<p>Use <a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a> to get the total number of available ‘name’ table entries, then do a loop until you get the right platform, encoding, and name ID.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'i', 'g', 'p', 'f' ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A constant used as the tag of <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structures to make FT_Open_Face() ignore preferred family subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility with legacy systems which has 4-face-per-family restriction.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'i', 'g', 'p', 's' ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A constant used as the tag of <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structures to make FT_Open_Face() ignore preferred subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility with legacy systems which has 4-face-per-family restriction.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-sizes_management.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-sizes_management.html new file mode 100644 index 00000000000..b10774e2f1d --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-sizes_management.html @@ -0,0 +1,164 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Size Management +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_New_Size">FT_New_Size</a></td><td></td><td><a href="#FT_Done_Size">FT_Done_Size</a></td><td></td><td><a href="#FT_Activate_Size">FT_Activate_Size</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>When creating a new face object (e.g., with <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a>), an <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object is automatically created and used to store all pixel-size dependent information, available in the ‘face->size’ field.</p> +<p>It is however possible to create more sizes for a given face, mostly in order to manage several character pixel sizes of the same font family and style. See <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a> and <a href="ft2-sizes_management.html#FT_Done_Size">FT_Done_Size</a>.</p> +<p>Note that <a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a> and <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> only modify the contents of the current ‘active’ size; you thus need to use <a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a> to change it.</p> +<p>99% of applications won't need the functions provided here, especially if they use the caching sub-system, so be cautious when using these.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_New_Size">FT_New_Size</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SIZES_H (freetype/ftsizes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-base_interface.html#FT_Size">FT_Size</a>* size ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Create a new size object from a given face object.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to a parent face object.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>asize</b></td><td> +<p>A handle to a new size object.</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 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>You need to call <a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a> in order to select the new size for upcoming calls to <a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a>, <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a>, <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>, <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>, etc.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Done_Size">FT_Done_Size</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SIZES_H (freetype/ftsizes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Done_Size</b>( <a href="ft2-base_interface.html#FT_Size">FT_Size</a> size ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Discard a given size object. Note that <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> automatically discards all size objects allocated with <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a>.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>size</b></td><td> +<p>A handle to a target size object.</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 means success.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Activate_Size">FT_Activate_Size</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SIZES_H (freetype/ftsizes.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Activate_Size</b>( <a href="ft2-base_interface.html#FT_Size">FT_Size</a> size ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Even though it is possible to create several size objects for a given face (see <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a> for details), functions like <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a> only use the one which has been activated last to determine the ‘current character pixel size’.</p> +<p>This function can be used to ‘activate’ a previously created size object.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>size</b></td><td> +<p>A handle to a target size object.</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 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 ‘face’ is the size's parent face object, this function changes the value of ‘face->size’ to the input size handle.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-system_interface.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-system_interface.html new file mode 100644 index 00000000000..8848f7bc7a1 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-system_interface.html @@ -0,0 +1,415 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +System Interface +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_Memory">FT_Memory</a></td><td></td><td><a href="#FT_MemoryRec">FT_MemoryRec</a></td><td></td><td><a href="#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td></tr> +<tr><td></td><td><a href="#FT_Alloc_Func">FT_Alloc_Func</a></td><td></td><td><a href="#FT_Stream">FT_Stream</a></td><td></td><td><a href="#FT_StreamRec">FT_StreamRec</a></td></tr> +<tr><td></td><td><a href="#FT_Free_Func">FT_Free_Func</a></td><td></td><td><a href="#FT_StreamDesc">FT_StreamDesc</a></td><td></td><td></td></tr> +<tr><td></td><td><a href="#FT_Realloc_Func">FT_Realloc_Func</a></td><td></td><td><a href="#FT_Stream_IoFunc">FT_Stream_IoFunc</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains various definitions related to memory management and i/o access. You need to understand this information if you want to use a custom memory manager or you own i/o streams.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_Memory">FT_Memory</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SYSTEM_H (freetype/ftsystem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_MemoryRec_* <b>FT_Memory</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a given memory manager object, defined with an <a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a> structure.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Alloc_Func">FT_Alloc_Func</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SYSTEM_H (freetype/ftsystem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">void</span>* + (*<b>FT_Alloc_Func</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <span class="keyword">long</span> size ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to allocate ‘size’ bytes from ‘memory’.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>memory</b></td><td> +<p>A handle to the source memory manager.</p> +</td></tr> +<tr valign=top><td><b>size</b></td><td> +<p>The size in bytes to allocate.</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>Address of new memory block. 0 in case of failure.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Free_Func">FT_Free_Func</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SYSTEM_H (freetype/ftsystem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_Free_Func</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <span class="keyword">void</span>* block ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to release a given block of memory.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>memory</b></td><td> +<p>A handle to the source memory manager.</p> +</td></tr> +<tr valign=top><td><b>block</b></td><td> +<p>The address of the target memory block.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Realloc_Func">FT_Realloc_Func</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SYSTEM_H (freetype/ftsystem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">void</span>* + (*<b>FT_Realloc_Func</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <span class="keyword">long</span> cur_size, + <span class="keyword">long</span> new_size, + <span class="keyword">void</span>* block ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to re-allocate a given block of memory.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>memory</b></td><td> +<p>A handle to the source memory manager.</p> +</td></tr> +<tr valign=top><td><b>cur_size</b></td><td> +<p>The block's current size in bytes.</p> +</td></tr> +<tr valign=top><td><b>new_size</b></td><td> +<p>The block's requested new size.</p> +</td></tr> +<tr valign=top><td><b>block</b></td><td> +<p>The block's current address.</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>New block address. 0 in case of memory shortage.</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>In case of error, the old block must still be available.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_MemoryRec">FT_MemoryRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SYSTEM_H (freetype/ftsystem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">struct</span> FT_MemoryRec_ + { + <span class="keyword">void</span>* user; + <a href="ft2-system_interface.html#FT_Alloc_Func">FT_Alloc_Func</a> alloc; + <a href="ft2-system_interface.html#FT_Free_Func">FT_Free_Func</a> free; + <a href="ft2-system_interface.html#FT_Realloc_Func">FT_Realloc_Func</a> realloc; + }; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to describe a given memory manager to FreeType 2.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>user</b></td><td> +<p>A generic typeless pointer for user data.</p> +</td></tr> +<tr valign=top><td><b>alloc</b></td><td> +<p>A pointer type to an allocation function.</p> +</td></tr> +<tr valign=top><td><b>free</b></td><td> +<p>A pointer type to an memory freeing function.</p> +</td></tr> +<tr valign=top><td><b>realloc</b></td><td> +<p>A pointer type to a reallocation function.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stream">FT_Stream</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SYSTEM_H (freetype/ftsystem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StreamRec_* <b>FT_Stream</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to an input stream.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_StreamDesc">FT_StreamDesc</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SYSTEM_H (freetype/ftsystem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">union</span> FT_StreamDesc_ + { + <span class="keyword">long</span> value; + <span class="keyword">void</span>* pointer; + + } <b>FT_StreamDesc</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A union type used to store either a long or a pointer. This is used to store a file descriptor or a ‘FILE*’ in an input stream.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stream_IoFunc">FT_Stream_IoFunc</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SYSTEM_H (freetype/ftsystem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> + (*<b>FT_Stream_IoFunc</b>)( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream, + <span class="keyword">unsigned</span> <span class="keyword">long</span> offset, + <span class="keyword">unsigned</span> <span class="keyword">char</span>* buffer, + <span class="keyword">unsigned</span> <span class="keyword">long</span> count ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to seek and read data from a given input stream.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stream</b></td><td> +<p>A handle to the source stream.</p> +</td></tr> +<tr valign=top><td><b>offset</b></td><td> +<p>The offset of read in stream (always from start).</p> +</td></tr> +<tr valign=top><td><b>buffer</b></td><td> +<p>The address of the read buffer.</p> +</td></tr> +<tr valign=top><td><b>count</b></td><td> +<p>The number of bytes to read from the stream.</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>The number of bytes effectively read by the stream.</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>This function might be called to perform a seek or skip operation with a ‘count’ of 0. A non-zero return value then indicates an error.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SYSTEM_H (freetype/ftsystem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_Stream_CloseFunc</b>)( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A function used to close a given input stream.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>stream</b></td><td> +<p>A handle to the target stream.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_StreamRec">FT_StreamRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_SYSTEM_H (freetype/ftsystem.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StreamRec_ + { + <span class="keyword">unsigned</span> <span class="keyword">char</span>* base; + <span class="keyword">unsigned</span> <span class="keyword">long</span> size; + <span class="keyword">unsigned</span> <span class="keyword">long</span> pos; + + <a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a> descriptor; + <a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a> pathname; + <a href="ft2-system_interface.html#FT_Stream_IoFunc">FT_Stream_IoFunc</a> read; + <a href="ft2-system_interface.html#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a> close; + + <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory; + <span class="keyword">unsigned</span> <span class="keyword">char</span>* cursor; + <span class="keyword">unsigned</span> <span class="keyword">char</span>* limit; + + } <b>FT_StreamRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to describe an input stream.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>base</b></td><td> +<p>For memory-based streams, this is the address of the first stream byte in memory. This field should always be set to NULL for disk-based streams.</p> +</td></tr> +<tr valign=top><td><b>size</b></td><td> +<p>The stream size in bytes.</p> +</td></tr> +<tr valign=top><td><b>pos</b></td><td> +<p>The current position within the stream.</p> +</td></tr> +<tr valign=top><td><b>descriptor</b></td><td> +<p>This field is a union that can hold an integer or a pointer. It is used by stream implementations to store file descriptors or ‘FILE*’ pointers.</p> +</td></tr> +<tr valign=top><td><b>pathname</b></td><td> +<p>This field is completely ignored by FreeType. However, it is often useful during debugging to use it to store the stream's filename (where available).</p> +</td></tr> +<tr valign=top><td><b>read</b></td><td> +<p>The stream's input function.</p> +</td></tr> +<tr valign=top><td><b>close</b></td><td> +<p>The stream's close function.</p> +</td></tr> +<tr valign=top><td><b>memory</b></td><td> +<p>The memory manager to use to preload frames. This is set internally by FreeType and shouldn't be touched by stream implementations.</p> +</td></tr> +<tr valign=top><td><b>cursor</b></td><td> +<p>This field is set and used internally by FreeType when parsing frames.</p> +</td></tr> +<tr valign=top><td><b>limit</b></td><td> +<p>This field is set and used internally by FreeType when parsing frames.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-toc.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-toc.html new file mode 100644 index 00000000000..98533c69ae0 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-toc.html @@ -0,0 +1,219 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> +<td width="100%"></td></tr></table> +<center><h1>FreeType-2.4.5 API Reference</h1></center> + +<center><h1>Table of Contents</h1></center> +<br><table align=center width="75%"><tr><td><h2>General Remarks</h2><ul class="empty"><li> +<table cellpadding=5> +<tr valign=top><td class="left"> +<a href="ft2-user_allocation.html">User allocation</a></td><td> +<p>How client applications should allocate FreeType data structures.</p> +</td></tr> +</table> +</li></ul></td></tr></table> +<br><table align=center width="75%"><tr><td><h2>Core API</h2><ul class="empty"><li> +<table cellpadding=5> +<tr valign=top><td class="left"> +<a href="ft2-version.html">FreeType Version</a></td><td> +<p>Functions and macros related to FreeType versions.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-basic_types.html">Basic Data Types</a></td><td> +<p>The basic data types defined by the library.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-base_interface.html">Base Interface</a></td><td> +<p>The FreeType 2 base font interface.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-glyph_variants.html">Glyph Variants</a></td><td> +<p>The FreeType 2 interface to Unicode Ideographic Variation Sequences (IVS), using the SFNT cmap format 14.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-glyph_management.html">Glyph Management</a></td><td> +<p>Generic interface to manage individual glyph data.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-mac_specific.html">Mac Specific Interface</a></td><td> +<p>Only available on the Macintosh.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-sizes_management.html">Size Management</a></td><td> +<p>Managing multiple sizes per face.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-header_file_macros.html">Header File Macros</a></td><td> +<p>Macro definitions used to #include specific header files.</p> +</td></tr> +</table> +</li></ul></td></tr></table> +<br><table align=center width="75%"><tr><td><h2>Format-Specific API</h2><ul class="empty"><li> +<table cellpadding=5> +<tr valign=top><td class="left"> +<a href="ft2-multiple_masters.html">Multiple Masters</a></td><td> +<p>How to manage Multiple Masters fonts.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-truetype_tables.html">TrueType Tables</a></td><td> +<p>TrueType specific table types and functions.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-type1_tables.html">Type 1 Tables</a></td><td> +<p>Type 1 (PostScript) specific font tables.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-sfnt_names.html">SFNT Names</a></td><td> +<p>Access the names embedded in TrueType and OpenType files.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-bdf_fonts.html">BDF and PCF Files</a></td><td> +<p>BDF and PCF specific API.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-cid_fonts.html">CID Fonts</a></td><td> +<p>CID-keyed font specific API.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-pfr_fonts.html">PFR Fonts</a></td><td> +<p>PFR/TrueDoc specific API.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-winfnt_fonts.html">Window FNT Files</a></td><td> +<p>Windows FNT specific API.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-font_formats.html">Font Formats</a></td><td> +<p>Getting the font format.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-gasp_table.html">Gasp Table</a></td><td> +<p>Retrieving TrueType ‘gasp’ table entries.</p> +</td></tr> +</table> +</li></ul></td></tr></table> +<br><table align=center width="75%"><tr><td><h2>Cache Sub-System</h2><ul class="empty"><li> +<table cellpadding=5> +<tr valign=top><td class="left"> +<a href="ft2-cache_subsystem.html">Cache Sub-System</a></td><td> +<p>How to cache face, size, and glyph data with FreeType 2.</p> +</td></tr> +</table> +</li></ul></td></tr></table> +<br><table align=center width="75%"><tr><td><h2>Support API</h2><ul class="empty"><li> +<table cellpadding=5> +<tr valign=top><td class="left"> +<a href="ft2-computations.html">Computations</a></td><td> +<p>Crunching fixed numbers and vectors.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-list_processing.html">List Processing</a></td><td> +<p>Simple management of lists.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-outline_processing.html">Outline Processing</a></td><td> +<p>Functions to create, transform, and render vectorial glyph images.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-quick_advance.html">Quick retrieval of advance values</a></td><td> +<p>Retrieve horizontal and vertical advance values without processing glyph outlines, if possible.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-bitmap_handling.html">Bitmap Handling</a></td><td> +<p>Handling FT_Bitmap objects.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-raster.html">Scanline Converter</a></td><td> +<p>How vectorial outlines are converted into bitmaps and pixmaps.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-glyph_stroker.html">Glyph Stroker</a></td><td> +<p>Generating bordered and stroked glyphs.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-system_interface.html">System Interface</a></td><td> +<p>How FreeType manages memory and i/o.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-module_management.html">Module Management</a></td><td> +<p>How to add, upgrade, and remove modules from FreeType.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-gzip.html">GZIP Streams</a></td><td> +<p>Using gzip-compressed font files.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-lzw.html">LZW Streams</a></td><td> +<p>Using LZW-compressed font files.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-bzip2.html">BZIP2 Streams</a></td><td> +<p>Using bzip2-compressed font files.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-lcd_filtering.html">LCD Filtering</a></td><td> +<p>Reduce color fringes of LCD-optimized bitmaps.</p> +</td></tr> +</table> +</li></ul></td></tr></table> +<br><table align=center width="75%"><tr><td><h2>Miscellaneous</h2><ul class="empty"><li> +<table cellpadding=5> +<tr valign=top><td class="left"> +<a href="ft2-ot_validation.html">OpenType Validation</a></td><td> +<p>An API to validate OpenType tables.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-incremental.html">Incremental Loading</a></td><td> +<p>Custom Glyph Loading.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-truetype_engine.html">The TrueType Engine</a></td><td> +<p>TrueType bytecode support.</p> +</td></tr> +<tr valign=top><td class="left"> +<a href="ft2-gx_validation.html">TrueTypeGX/AAT Validation</a></td><td> +<p>An API to validate TrueTypeGX/AAT tables.</p> +</td></tr> +</table> +</li></ul></td></tr></table> +<br><table align=center width="75%"><tr><td><h2><a href="ft2-index.html">Global Index</a></h2><ul class="empty"><li></li></ul></td></tr></table> +<hr> +<table><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> +<td width="100%"></td> +</tr></table> + +<center><font size=-2>generated on Fri Jun 24 13:44:37 2011</font></center></body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-truetype_engine.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-truetype_engine.html new file mode 100644 index 00000000000..a28173c1deb --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-truetype_engine.html @@ -0,0 +1,132 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +The TrueType Engine +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></td><td></td><td><a href="#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains a function used to query the level of TrueType bytecode support compiled in this version of the library.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_TrueTypeEngineType_ + { + <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_NONE</a> = 0, + <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</a>, + <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_PATENTED</a> + + } <b>FT_TrueTypeEngineType</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of values describing which kind of TrueType bytecode engine is implemented in a given FT_Library instance. It is used by the <a href="ft2-truetype_engine.html#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a> function.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td colspan=0><b>FT_TRUETYPE_ENGINE_TYPE_NONE</b></td></tr> +<tr valign=top><td></td><td> +<p>The library doesn't implement any kind of bytecode interpreter.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</b></td></tr> +<tr valign=top><td></td><td> +<p>The library implements a bytecode interpreter that doesn't support the patented operations of the TrueType virtual machine.</p> +<p>Its main use is to load certain Asian fonts which position and scale glyph components with bytecode instructions. It produces bad output for most other fonts.</p> +</td></tr> +<tr valign=top><td colspan=0><b>FT_TRUETYPE_ENGINE_TYPE_PATENTED</b></td></tr> +<tr valign=top><td></td><td> +<p>The library implements a bytecode interpreter that covers the full instruction set of the TrueType virtual machine (this was governed by patents until May 2010, hence the name).</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.2</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_MODULE_H (freetype/ftmodapi.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a> ) + <b>FT_Get_TrueType_Engine_Type</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return an <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a> value to indicate which level of the TrueType virtual machine a given library instance supports.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A library instance.</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>A value indicating which level is supported.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.2</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-truetype_tables.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-truetype_tables.html new file mode 100644 index 00000000000..bd289aa060b --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-truetype_tables.html @@ -0,0 +1,1223 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +TrueType Tables +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td><td></td><td><a href="#TT_Postscript">TT_Postscript</a></td></tr> +<tr><td></td><td><a href="#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td><td></td><td><a href="#TT_PCLT">TT_PCLT</a></td></tr> +<tr><td></td><td><a href="#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td><td></td><td><a href="#TT_MaxProfile">TT_MaxProfile</a></td></tr> +<tr><td></td><td><a href="#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td><td></td><td><a href="#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td></tr> +<tr><td></td><td><a href="#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td><td></td><td><a href="#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td></tr> +<tr><td></td><td><a href="#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td><td></td><td><a href="#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td></tr> +<tr><td></td><td><a href="#TT_Header">TT_Header</a></td><td></td><td><a href="#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td></tr> +<tr><td></td><td><a href="#TT_HoriHeader">TT_HoriHeader</a></td><td></td><td><a href="#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td></tr> +<tr><td></td><td><a href="#TT_VertHeader">TT_VertHeader</a></td><td></td><td><a href="#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td></tr> +<tr><td></td><td><a href="#TT_OS2">TT_OS2</a></td><td></td><td><a href="#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains the definition of TrueType-specific tables as well as some routines used to access and process them.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a> 0 +#define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> 1 +#define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a> 2 /* deprecated */ +#define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a> 3 +#define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a> 4 +#define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a> 7 /* artificial */ + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of valid values for the ‘platform_id’ identifier code in <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> and <a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a> structures.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td colspan=0><b>TT_PLATFORM_APPLE_UNICODE</b></td></tr> +<tr valign=top><td></td><td> +<p>Used by Apple to indicate a Unicode character map and/or name entry. See <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a> for corresponding ‘encoding_id’ values. Note that name entries in this format are coded as big-endian UCS-2 character codes <i>only</i>.</p> +</td></tr> +<tr valign=top><td><b>TT_PLATFORM_MACINTOSH</b></td><td> +<p>Used by Apple to indicate a MacOS-specific charmap and/or name entry. See <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a> for corresponding ‘encoding_id’ values. Note that most TrueType fonts contain an Apple roman charmap to be usable on MacOS systems (even if they contain a Microsoft charmap as well).</p> +</td></tr> +<tr valign=top><td><b>TT_PLATFORM_ISO</b></td><td> +<p>This value was used to specify ISO/IEC 10646 charmaps. It is however now deprecated. See <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a> for a list of corresponding ‘encoding_id’ values.</p> +</td></tr> +<tr valign=top><td><b>TT_PLATFORM_MICROSOFT</b></td><td> +<p>Used by Microsoft to indicate Windows-specific charmaps. See <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a> for a list of corresponding ‘encoding_id’ values. Note that most fonts contain a Unicode charmap using (TT_PLATFORM_MICROSOFT, <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a>).</p> +</td></tr> +<tr valign=top><td><b>TT_PLATFORM_CUSTOM</b></td><td> +<p>Used to indicate application-specific charmaps.</p> +</td></tr> +<tr valign=top><td><b>TT_PLATFORM_ADOBE</b></td><td> +<p>This value isn't part of any font format specification, but is used by FreeType to report Adobe-specific charmaps in an <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> structure. See <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a>.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a> 0 /* Unicode 1.0 */ +#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a> 1 /* specify Hangul at U+34xx */ +#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a> 2 /* deprecated */ +#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a> 3 /* or later */ +#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a> 4 /* 2.0 or later, full repertoire */ +#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a> 5 /* variation selector data */ + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a> charmaps and name entries.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>TT_APPLE_ID_DEFAULT</b></td><td> +<p>Unicode version 1.0.</p> +</td></tr> +<tr valign=top><td colspan=0><b>TT_APPLE_ID_UNICODE_1_1</b></td></tr> +<tr valign=top><td></td><td> +<p>Unicode 1.1; specifies Hangul characters starting at U+34xx.</p> +</td></tr> +<tr valign=top><td><b>TT_APPLE_ID_ISO_10646</b></td><td> +<p>Deprecated (identical to preceding).</p> +</td></tr> +<tr valign=top><td colspan=0><b>TT_APPLE_ID_UNICODE_2_0</b></td></tr> +<tr valign=top><td></td><td> +<p>Unicode 2.0 and beyond (UTF-16 BMP only).</p> +</td></tr> +<tr valign=top><td><b>TT_APPLE_ID_UNICODE_32</b></td><td> +<p>Unicode 3.1 and beyond, using UTF-32.</p> +</td></tr> +<tr valign=top><td colspan=0><b>TT_APPLE_ID_VARIANT_SELECTOR</b></td></tr> +<tr valign=top><td></td><td> +<p>From Adobe, not Apple. Not a normal cmap. Specifies variations on a real cmap.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a> 0 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a> 1 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a> 2 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a> 3 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a> 4 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a> 5 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a> 6 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a> 7 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a> 8 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a> 9 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a> 10 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a> 11 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a> 12 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a> 13 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a> 14 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a> 15 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a> 16 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a> 17 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a> 18 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a> 19 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a> 20 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a> 21 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a> 22 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a> 23 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a> 24 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a> 25 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a> 25 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a> 26 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a> 27 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a> 28 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a> 29 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a> 30 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a> 31 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a> 32 + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> charmaps and name entries.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>TT_MAC_ID_ROMAN</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_JAPANESE</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td colspan=0><b>TT_MAC_ID_TRADITIONAL_CHINESE</b></td></tr> +<tr valign=top><td></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_KOREAN</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_ARABIC</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_HEBREW</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_GREEK</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_RUSSIAN</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_RSYMBOL</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_DEVANAGARI</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_GURMUKHI</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_GUJARATI</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_ORIYA</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_BENGALI</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_TAMIL</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_TELUGU</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_KANNADA</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_MALAYALAM</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_SINHALESE</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_BURMESE</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_KHMER</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_THAI</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_LAOTIAN</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_GEORGIAN</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_ARMENIAN</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_MALDIVIAN</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td colspan=0><b>TT_MAC_ID_SIMPLIFIED_CHINESE</b></td></tr> +<tr valign=top><td></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_TIBETAN</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_MONGOLIAN</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_GEEZ</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_SLAVIC</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_VIETNAMESE</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_SINDHI</b></td><td> +<p></p> +</td></tr> +<tr valign=top><td><b>TT_MAC_ID_UNINTERP</b></td><td> +<p></p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a> 0 +#define <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a> 1 +#define <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a> 2 + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a> charmaps and name entries.</p> +<p>Their use is now deprecated.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>TT_ISO_ID_7BIT_ASCII</b></td><td> +<p>ASCII.</p> +</td></tr> +<tr valign=top><td><b>TT_ISO_ID_10646</b></td><td> +<p>ISO/10646.</p> +</td></tr> +<tr valign=top><td><b>TT_ISO_ID_8859_1</b></td><td> +<p>Also known as Latin-1.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="TT_MS_ID_XXX">TT_MS_ID_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a> 0 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a> 1 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a> 2 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a> 3 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a> 4 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a> 5 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a> 6 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a> 10 + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a> charmaps and name entries.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>TT_MS_ID_SYMBOL_CS</b></td><td> +<p>Corresponds to Microsoft symbol encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a>.</p> +</td></tr> +<tr valign=top><td><b>TT_MS_ID_UNICODE_CS</b></td><td> +<p>Corresponds to a Microsoft WGL4 charmap, matching Unicode. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a>.</p> +</td></tr> +<tr valign=top><td><b>TT_MS_ID_SJIS</b></td><td> +<p>Corresponds to SJIS Japanese encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a>.</p> +</td></tr> +<tr valign=top><td><b>TT_MS_ID_GB2312</b></td><td> +<p>Corresponds to Simplified Chinese as used in Mainland China. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a>.</p> +</td></tr> +<tr valign=top><td><b>TT_MS_ID_BIG_5</b></td><td> +<p>Corresponds to Traditional Chinese as used in Taiwan and Hong Kong. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a>.</p> +</td></tr> +<tr valign=top><td><b>TT_MS_ID_WANSUNG</b></td><td> +<p>Corresponds to Korean Wansung encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a>.</p> +</td></tr> +<tr valign=top><td><b>TT_MS_ID_JOHAB</b></td><td> +<p>Corresponds to Johab encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a>.</p> +</td></tr> +<tr valign=top><td><b>TT_MS_ID_UCS_4</b></td><td> +<p>Corresponds to UCS-4 or UTF-32 charmaps. This has been added to the OpenType specification version 1.4 (mid-2001.)</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a> 0 +#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a> 1 +#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a> 2 +#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a> 3 + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a> charmaps. This is a FreeType-specific extension!</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>TT_ADOBE_ID_STANDARD</b></td><td> +<p>Adobe standard encoding.</p> +</td></tr> +<tr valign=top><td><b>TT_ADOBE_ID_EXPERT</b></td><td> +<p>Adobe expert encoding.</p> +</td></tr> +<tr valign=top><td><b>TT_ADOBE_ID_CUSTOM</b></td><td> +<p>Adobe custom encoding.</p> +</td></tr> +<tr valign=top><td><b>TT_ADOBE_ID_LATIN_1</b></td><td> +<p>Adobe Latin 1 encoding.</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="TT_Header">TT_Header</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_Header_ + { + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Table_Version; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Font_Revision; + + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> CheckSum_Adjust; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> Magic_Number; + + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> Flags; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> Units_Per_EM; + + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> Created [2]; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> Modified[2]; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> xMin; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> yMin; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> xMax; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> yMax; + + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> Mac_Style; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> Lowest_Rec_PPEM; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Font_Direction; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Index_To_Loc_Format; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Glyph_Data_Format; + + } <b>TT_Header</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model a TrueType font header table. All fields follow the TrueType specification.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="TT_HoriHeader">TT_HoriHeader</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_HoriHeader_ + { + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Version; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Ascender; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Descender; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Line_Gap; + + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> advance_Width_Max; /* advance width maximum */ + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> min_Left_Side_Bearing; /* minimum left-sb */ + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> min_Right_Side_Bearing; /* minimum right-sb */ + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> xMax_Extent; /* xmax extents */ + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> caret_Slope_Rise; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> caret_Slope_Run; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> caret_Offset; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Reserved[4]; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> metric_Data_Format; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> number_Of_HMetrics; + + /* The following fields are not defined by the TrueType specification */ + /* but they are used to connect the metrics header to the relevant */ + /* `HMTX' table. */ + + <span class="keyword">void</span>* long_metrics; + <span class="keyword">void</span>* short_metrics; + + } <b>TT_HoriHeader</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model a TrueType horizontal header, the ‘hhea’ table, as well as the corresponding horizontal metrics table, i.e., the ‘hmtx’ table.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>Version</b></td><td> +<p>The table version.</p> +</td></tr> +<tr valign=top><td><b>Ascender</b></td><td> +<p>The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.</p> +<p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p> +<p>You should use the ‘sTypoAscender’ field of the OS/2 table instead if you want the correct one.</p> +</td></tr> +<tr valign=top><td><b>Descender</b></td><td> +<p>The font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points found in the font. It is negative.</p> +<p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p> +<p>You should use the ‘sTypoDescender’ field of the OS/2 table instead if you want the correct one.</p> +</td></tr> +<tr valign=top><td><b>Line_Gap</b></td><td> +<p>The font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the baseline-to-baseline distance for the font.</p> +</td></tr> +<tr valign=top><td><b>advance_Width_Max</b></td><td> +<p>This field is the maximum of all advance widths found in the font. It can be used to compute the maximum width of an arbitrary string of text.</p> +</td></tr> +<tr valign=top><td><b>min_Left_Side_Bearing</b></td><td> +<p>The minimum left side bearing of all glyphs within the font.</p> +</td></tr> +<tr valign=top><td><b>min_Right_Side_Bearing</b></td><td> +<p>The minimum right side bearing of all glyphs within the font.</p> +</td></tr> +<tr valign=top><td><b>xMax_Extent</b></td><td> +<p>The maximum horizontal extent (i.e., the ‘width’ of a glyph's bounding box) for all glyphs in the font.</p> +</td></tr> +<tr valign=top><td><b>caret_Slope_Rise</b></td><td> +<p>The rise coefficient of the cursor's slope of the cursor (slope=rise/run).</p> +</td></tr> +<tr valign=top><td><b>caret_Slope_Run</b></td><td> +<p>The run coefficient of the cursor's slope.</p> +</td></tr> +<tr valign=top><td><b>Reserved</b></td><td> +<p>8 reserved bytes.</p> +</td></tr> +<tr valign=top><td><b>metric_Data_Format</b></td><td> +<p>Always 0.</p> +</td></tr> +<tr valign=top><td><b>number_Of_HMetrics</b></td><td> +<p>Number of HMetrics entries in the ‘hmtx’ table -- this value can be smaller than the total number of glyphs in the font.</p> +</td></tr> +<tr valign=top><td><b>long_metrics</b></td><td> +<p>A pointer into the ‘hmtx’ table.</p> +</td></tr> +<tr valign=top><td><b>short_metrics</b></td><td> +<p>A pointer into the ‘hmtx’ table.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields which are different.</p> +<p>This ensures that a single function in the ‘ttload’ module is able to read both the horizontal and vertical headers.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="TT_VertHeader">TT_VertHeader</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_VertHeader_ + { + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Version; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Ascender; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Descender; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Line_Gap; + + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> advance_Height_Max; /* advance height maximum */ + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> min_Top_Side_Bearing; /* minimum left-sb or top-sb */ + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> min_Bottom_Side_Bearing; /* minimum right-sb or bottom-sb */ + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> yMax_Extent; /* xmax or ymax extents */ + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> caret_Slope_Rise; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> caret_Slope_Run; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> caret_Offset; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Reserved[4]; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> metric_Data_Format; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> number_Of_VMetrics; + + /* The following fields are not defined by the TrueType specification */ + /* but they're used to connect the metrics header to the relevant */ + /* `HMTX' or `VMTX' table. */ + + <span class="keyword">void</span>* long_metrics; + <span class="keyword">void</span>* short_metrics; + + } <b>TT_VertHeader</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model a TrueType vertical header, the ‘vhea’ table, as well as the corresponding vertical metrics table, i.e., the ‘vmtx’ table.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>Version</b></td><td> +<p>The table version.</p> +</td></tr> +<tr valign=top><td><b>Ascender</b></td><td> +<p>The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.</p> +<p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p> +<p>You should use the ‘sTypoAscender’ field of the OS/2 table instead if you want the correct one.</p> +</td></tr> +<tr valign=top><td><b>Descender</b></td><td> +<p>The font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points found in the font. It is negative.</p> +<p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p> +<p>You should use the ‘sTypoDescender’ field of the OS/2 table instead if you want the correct one.</p> +</td></tr> +<tr valign=top><td><b>Line_Gap</b></td><td> +<p>The font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the baseline-to-baseline distance for the font.</p> +</td></tr> +<tr valign=top><td><b>advance_Height_Max</b></td><td> +<p>This field is the maximum of all advance heights found in the font. It can be used to compute the maximum height of an arbitrary string of text.</p> +</td></tr> +<tr valign=top><td><b>min_Top_Side_Bearing</b></td><td> +<p>The minimum top side bearing of all glyphs within the font.</p> +</td></tr> +<tr valign=top><td colspan=0><b>min_Bottom_Side_Bearing</b></td></tr> +<tr valign=top><td></td><td> +<p>The minimum bottom side bearing of all glyphs within the font.</p> +</td></tr> +<tr valign=top><td><b>yMax_Extent</b></td><td> +<p>The maximum vertical extent (i.e., the ‘height’ of a glyph's bounding box) for all glyphs in the font.</p> +</td></tr> +<tr valign=top><td><b>caret_Slope_Rise</b></td><td> +<p>The rise coefficient of the cursor's slope of the cursor (slope=rise/run).</p> +</td></tr> +<tr valign=top><td><b>caret_Slope_Run</b></td><td> +<p>The run coefficient of the cursor's slope.</p> +</td></tr> +<tr valign=top><td><b>caret_Offset</b></td><td> +<p>The cursor's offset for slanted fonts. This value is ‘reserved’ in vmtx version 1.0.</p> +</td></tr> +<tr valign=top><td><b>Reserved</b></td><td> +<p>8 reserved bytes.</p> +</td></tr> +<tr valign=top><td><b>metric_Data_Format</b></td><td> +<p>Always 0.</p> +</td></tr> +<tr valign=top><td><b>number_Of_HMetrics</b></td><td> +<p>Number of VMetrics entries in the ‘vmtx’ table -- this value can be smaller than the total number of glyphs in the font.</p> +</td></tr> +<tr valign=top><td><b>long_metrics</b></td><td> +<p>A pointer into the ‘vmtx’ table.</p> +</td></tr> +<tr valign=top><td><b>short_metrics</b></td><td> +<p>A pointer into the ‘vmtx’ table.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields which are different.</p> +<p>This ensures that a single function in the ‘ttload’ module is able to read both the horizontal and vertical headers.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="TT_OS2">TT_OS2</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_OS2_ + { + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> version; /* 0x0001 - more or 0xFFFF */ + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> xAvgCharWidth; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usWeightClass; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usWidthClass; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> fsType; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySubscriptXSize; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySubscriptYSize; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySubscriptXOffset; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySubscriptYOffset; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySuperscriptXSize; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySuperscriptYSize; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySuperscriptXOffset; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ySuperscriptYOffset; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> yStrikeoutSize; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> yStrikeoutPosition; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> sFamilyClass; + + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> panose[10]; + + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ulUnicodeRange1; /* Bits 0-31 */ + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ulUnicodeRange2; /* Bits 32-63 */ + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ulUnicodeRange3; /* Bits 64-95 */ + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ulUnicodeRange4; /* Bits 96-127 */ + + <a href="ft2-basic_types.html#FT_Char">FT_Char</a> achVendID[4]; + + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> fsSelection; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usFirstCharIndex; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usLastCharIndex; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> sTypoAscender; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> sTypoDescender; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> sTypoLineGap; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usWinAscent; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usWinDescent; + + /* only version 1 tables: */ + + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ulCodePageRange1; /* Bits 0-31 */ + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ulCodePageRange2; /* Bits 32-63 */ + + /* only version 2 tables: */ + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> sxHeight; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> sCapHeight; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usDefaultChar; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usBreakChar; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usMaxContext; + + } <b>TT_OS2</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model a TrueType OS/2 table. This is the long table version. All fields comply to the TrueType specification.</p> +<p>Note that we now support old Mac fonts which do not include an OS/2 table. In this case, the ‘version’ field is always set to 0xFFFF.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="TT_Postscript">TT_Postscript</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_Postscript_ + { + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> FormatType; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> italicAngle; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> underlinePosition; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> underlineThickness; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> isFixedPitch; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> minMemType42; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> maxMemType42; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> minMemType1; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> maxMemType1; + + /* Glyph names follow in the file, but we don't */ + /* load them by default. See the ttpost.c file. */ + + } <b>TT_Postscript</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model a TrueType PostScript table. All fields comply to the TrueType specification. This structure does not reference the PostScript glyph names, which can be nevertheless accessed with the ‘ttpost’ module.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="TT_PCLT">TT_PCLT</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_PCLT_ + { + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Version; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> FontNumber; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> Pitch; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> xHeight; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> Style; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> TypeFamily; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> CapHeight; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> SymbolSet; + <a href="ft2-basic_types.html#FT_Char">FT_Char</a> TypeFace[16]; + <a href="ft2-basic_types.html#FT_Char">FT_Char</a> CharacterComplement[8]; + <a href="ft2-basic_types.html#FT_Char">FT_Char</a> FileName[6]; + <a href="ft2-basic_types.html#FT_Char">FT_Char</a> StrokeWeight; + <a href="ft2-basic_types.html#FT_Char">FT_Char</a> WidthType; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> SerifStyle; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> Reserved; + + } <b>TT_PCLT</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model a TrueType PCLT table. All fields comply to the TrueType specification.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="TT_MaxProfile">TT_MaxProfile</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_MaxProfile_ + { + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> version; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> numGlyphs; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxPoints; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxContours; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxCompositePoints; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxCompositeContours; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxZones; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxTwilightPoints; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxStorage; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxFunctionDefs; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxInstructionDefs; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxStackElements; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxSizeOfInstructions; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxComponentElements; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxComponentDepth; + + } <b>TT_MaxProfile</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>The maximum profile is a table containing many max values which can be used to pre-allocate arrays. This ensures that no memory allocation occurs during a glyph load.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>version</b></td><td> +<p>The version number.</p> +</td></tr> +<tr valign=top><td><b>numGlyphs</b></td><td> +<p>The number of glyphs in this TrueType font.</p> +</td></tr> +<tr valign=top><td><b>maxPoints</b></td><td> +<p>The maximum number of points in a non-composite TrueType glyph. See also the structure element ‘maxCompositePoints’.</p> +</td></tr> +<tr valign=top><td><b>maxContours</b></td><td> +<p>The maximum number of contours in a non-composite TrueType glyph. See also the structure element ‘maxCompositeContours’.</p> +</td></tr> +<tr valign=top><td><b>maxCompositePoints</b></td><td> +<p>The maximum number of points in a composite TrueType glyph. See also the structure element ‘maxPoints’.</p> +</td></tr> +<tr valign=top><td><b>maxCompositeContours</b></td><td> +<p>The maximum number of contours in a composite TrueType glyph. See also the structure element ‘maxContours’.</p> +</td></tr> +<tr valign=top><td><b>maxZones</b></td><td> +<p>The maximum number of zones used for glyph hinting.</p> +</td></tr> +<tr valign=top><td><b>maxTwilightPoints</b></td><td> +<p>The maximum number of points in the twilight zone used for glyph hinting.</p> +</td></tr> +<tr valign=top><td><b>maxStorage</b></td><td> +<p>The maximum number of elements in the storage area used for glyph hinting.</p> +</td></tr> +<tr valign=top><td><b>maxFunctionDefs</b></td><td> +<p>The maximum number of function definitions in the TrueType bytecode for this font.</p> +</td></tr> +<tr valign=top><td><b>maxInstructionDefs</b></td><td> +<p>The maximum number of instruction definitions in the TrueType bytecode for this font.</p> +</td></tr> +<tr valign=top><td><b>maxStackElements</b></td><td> +<p>The maximum number of stack elements used during bytecode interpretation.</p> +</td></tr> +<tr valign=top><td><b>maxSizeOfInstructions</b></td><td> +<p>The maximum number of TrueType opcodes used for glyph hinting.</p> +</td></tr> +<tr valign=top><td><b>maxComponentElements</b></td><td> +<p>The maximum number of simple (i.e., non- composite) glyphs in a composite glyph.</p> +</td></tr> +<tr valign=top><td><b>maxComponentDepth</b></td><td> +<p>The maximum nesting depth of composite glyphs.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>This structure is only used during font loading.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Sfnt_Tag">FT_Sfnt_Tag</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Sfnt_Tag_ + { + ft_sfnt_head = 0, /* <a href="ft2-truetype_tables.html#TT_Header">TT_Header</a> */ + ft_sfnt_maxp = 1, /* <a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a> */ + ft_sfnt_os2 = 2, /* <a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a> */ + ft_sfnt_hhea = 3, /* <a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a> */ + ft_sfnt_vhea = 4, /* <a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a> */ + ft_sfnt_post = 5, /* <a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a> */ + ft_sfnt_pclt = 6, /* <a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a> */ + + sfnt_max /* internal end mark */ + + } <b>FT_Sfnt_Tag</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>An enumeration used to specify the index of an SFNT table. Used in the <a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a> API function.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span>* ) + <b>FT_Get_Sfnt_Table</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a> tag ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return a pointer to a given SFNT table within a face.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source.</p> +</td></tr> +<tr valign=top><td><b>tag</b></td><td> +<p>The index of the SFNT table.</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>A type-less pointer to the table. This will be 0 in case of error, or if the corresponding table was not found <b>OR</b> loaded from the file.</p> +<p>Use a typecast according to ‘tag’ to access the structure elements.</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>The table is owned by the face object and disappears with it.</p> +<p>This function is only useful to access SFNT tables that are loaded by the sfnt, truetype, and opentype drivers. See <a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a> for a list.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Load_Sfnt_Table</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> tag, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> offset, + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* buffer, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>* length ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Load any font table into client memory.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face.</p> +</td></tr> +<tr valign=top><td><b>tag</b></td><td> +<p>The four-byte tag of the table to load. Use the value 0 if you want to access the whole font file. Otherwise, you can use one of the definitions found in the <a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a> file, or forge a new one with <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>.</p> +</td></tr> +<tr valign=top><td><b>offset</b></td><td> +<p>The starting offset in the table (or file if tag == 0).</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>buffer</b></td><td> +<p>The target buffer address. The client must ensure that the memory array is big enough to hold the data.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>length</b></td><td> +<p>If the ‘length’ parameter is NULL, then try to load the whole table. Return an error code if it fails.</p> +<p>Else, if ‘*length’ is 0, exit immediately while returning the table's (or file) full size in it.</p> +<p>Else the number of bytes to read from the table or file, from the starting offset.</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 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 you need to determine the table's length you should first call this function with ‘*length’ set to 0, as in the following example:</p> +<pre class="colored"> + FT_ULong length = 0; + + + error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length ); + if ( error ) { ... table does not exist ... } + + buffer = malloc( length ); + if ( buffer == NULL ) { ... not enough memory ... } + + error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &length ); + if ( error ) { ... could not load table ... } +</pre> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Sfnt_Table_Info</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> table_index, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> *tag, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> *length ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return information on an SFNT table.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the source face.</p> +</td></tr> +<tr valign=top><td><b>table_index</b></td><td> +<p>The index of an SFNT table. The function returns FT_Err_Table_Missing for an invalid value.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>tag</b></td><td> +<p>The name tag of the SFNT table. If the value is NULL, ‘table_index’ is ignored, and ‘length’ returns the number of SFNT tables in the font.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>length</b></td><td> +<p>The length of the SFNT table (or the number of SFNT tables, depending on ‘tag’).</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 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>SFNT tables with length zero are treated as missing.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ) + <b>FT_Get_CMap_Language_ID</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return TrueType/sfnt specific cmap language ID. Definitions of language ID values are in ‘freetype/ttnameid.h’.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>charmap</b></td><td> +<p>The target charmap.</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>The language ID of ‘charmap’. If ‘charmap’ doesn't belong to a TrueType/sfnt face, just return 0 as the default value.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_CMap_Format">FT_Get_CMap_Format</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> ) + <b>FT_Get_CMap_Format</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return TrueType/sfnt specific cmap format.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>charmap</b></td><td> +<p>The target charmap.</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>The format of ‘charmap’. If ‘charmap’ doesn't belong to a TrueType/sfnt face, return -1.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_UNPATENTED_HINTING_H (freetype/ttunpat.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <b>FT_PARAM_TAG_UNPATENTED_HINTING</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'u', 'n', 'p', 'a' ) + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A constant used as the tag of an <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structure to indicate that unpatented methods only should be used by the TrueType bytecode interpreter for a typeface opened by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-type1_tables.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-type1_tables.html new file mode 100644 index 00000000000..138f6021dee --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-type1_tables.html @@ -0,0 +1,522 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Type 1 Tables +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#PS_FontInfoRec">PS_FontInfoRec</a></td><td></td><td><a href="#T1_Private">T1_Private</a></td><td></td><td><a href="#CID_FaceInfo">CID_FaceInfo</a></td></tr> +<tr><td></td><td><a href="#PS_FontInfo">PS_FontInfo</a></td><td></td><td><a href="#T1_Blend_Flags">T1_Blend_Flags</a></td><td></td><td><a href="#CID_Info">CID_Info</a></td></tr> +<tr><td></td><td><a href="#T1_FontInfo">T1_FontInfo</a></td><td></td><td><a href="#CID_FaceDictRec">CID_FaceDictRec</a></td><td></td><td><a href="#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td></tr> +<tr><td></td><td><a href="#PS_PrivateRec">PS_PrivateRec</a></td><td></td><td><a href="#CID_FaceDict">CID_FaceDict</a></td><td></td><td><a href="#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td></tr> +<tr><td></td><td><a href="#PS_Private">PS_Private</a></td><td></td><td><a href="#CID_FaceInfoRec">CID_FaceInfoRec</a></td><td></td><td><a href="#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains the definition of Type 1-specific tables, including structures related to other PostScript font formats.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="PS_FontInfoRec">PS_FontInfoRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_FontInfoRec_ + { + <a href="ft2-basic_types.html#FT_String">FT_String</a>* version; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* notice; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* full_name; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* family_name; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* weight; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> italic_angle; + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> is_fixed_pitch; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> underline_position; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> underline_thickness; + + } <b>PS_FontInfoRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model a Type 1 or Type 2 FontInfo dictionary. Note that for Multiple Master fonts, each instance has its own FontInfo dictionary.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="PS_FontInfo">PS_FontInfo</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_FontInfoRec_* <b>PS_FontInfo</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="T1_FontInfo">T1_FontInfo</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> <b>T1_FontInfo</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This type is equivalent to <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="PS_PrivateRec">PS_PrivateRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_PrivateRec_ + { + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> unique_id; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> lenIV; + + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_blue_values; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_other_blues; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_family_blues; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_family_other_blues; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> blue_values[14]; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> other_blues[10]; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> family_blues [14]; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> family_other_blues[10]; + + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> blue_scale; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> blue_shift; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> blue_fuzz; + + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> standard_width[1]; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> standard_height[1]; + + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_snap_widths; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_snap_heights; + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> force_bold; + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> round_stem_up; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> snap_widths [13]; /* including std width */ + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> snap_heights[13]; /* including std height */ + + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> expansion_factor; + + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> language_group; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> password; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> min_feature[2]; + + } <b>PS_PrivateRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to model a Type 1 or Type 2 private dictionary. Note that for Multiple Master fonts, each instance has its own Private dictionary.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="PS_Private">PS_Private</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_PrivateRec_* <b>PS_Private</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="T1_Private">T1_Private</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> <b>T1_Private</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This type is equivalent to <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="T1_Blend_Flags">T1_Blend_Flags</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">enum</span> T1_Blend_Flags_ + { + /*# required fields in a FontInfo blend dictionary */ + T1_BLEND_UNDERLINE_POSITION = 0, + T1_BLEND_UNDERLINE_THICKNESS, + T1_BLEND_ITALIC_ANGLE, + + /*# required fields in a Private blend dictionary */ + T1_BLEND_BLUE_VALUES, + T1_BLEND_OTHER_BLUES, + T1_BLEND_STANDARD_WIDTH, + T1_BLEND_STANDARD_HEIGHT, + T1_BLEND_STEM_SNAP_WIDTHS, + T1_BLEND_STEM_SNAP_HEIGHTS, + T1_BLEND_BLUE_SCALE, + T1_BLEND_BLUE_SHIFT, + T1_BLEND_FAMILY_BLUES, + T1_BLEND_FAMILY_OTHER_BLUES, + T1_BLEND_FORCE_BOLD, + + /*# never remove */ + T1_BLEND_MAX + + } <b>T1_Blend_Flags</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A set of flags used to indicate which fields are present in a given blend dictionary (font info or private). Used to support Multiple Masters fonts.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="CID_FaceDictRec">CID_FaceDictRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceDictRec_ + { + <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> private_dict; + + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> len_buildchar; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> forcebold_threshold; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> stroke_width; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> expansion_factor; + + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> paint_type; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> font_type; + <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a> font_matrix; + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> font_offset; + + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_subrs; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> subrmap_offset; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> sd_bytes; + + } <b>CID_FaceDictRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to represent data in a CID top-level dictionary.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="CID_FaceDict">CID_FaceDict</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceDictRec_* <b>CID_FaceDict</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a <a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a> structure.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="CID_FaceInfoRec">CID_FaceInfoRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceInfoRec_ + { + <a href="ft2-basic_types.html#FT_String">FT_String</a>* cid_font_name; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> cid_version; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> cid_font_type; + + <a href="ft2-basic_types.html#FT_String">FT_String</a>* registry; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* ordering; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> supplement; + + <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> font_info; + <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> font_bbox; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> uid_base; + + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_xuid; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> xuid[16]; + + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> cidmap_offset; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> fd_bytes; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> gd_bytes; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> cid_count; + + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_dicts; + <a href="ft2-type1_tables.html#CID_FaceDict">CID_FaceDict</a> font_dicts; + + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> data_offset; + + } <b>CID_FaceInfoRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A structure used to represent CID Face information.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="CID_FaceInfo">CID_FaceInfo</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceInfoRec_* <b>CID_FaceInfo</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to a <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a> structure.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="CID_Info">CID_Info</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a> <b>CID_Info</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>This type is equivalent to <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> ) + <b>FT_Has_PS_Glyph_Names</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return true if a given face provides reliable PostScript glyph names. This is similar to using the <a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a> macro, except that certain fonts (mostly TrueType) contain incorrect glyph name tables.</p> +<p>When this function returns true, the caller is sure that the glyph names returned by <a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a> are reliable.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>face handle</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>Boolean. True if glyph names are reliable.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_PS_Font_Info</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a> afont_info ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure corresponding to a given PostScript font.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>PostScript face handle.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>afont_info</b></td><td> +<p>Output font info structure pointer.</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 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>The string pointers within the font info structure are owned by the face and don't need to be freed by the caller.</p> +<p>If the font's format is not PostScript-based, this function will return the ‘FT_Err_Invalid_Argument’ error code.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_PS_Font_Private</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-type1_tables.html#PS_Private">PS_Private</a> afont_private ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve the <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure corresponding to a given PostScript font.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>PostScript face handle.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>afont_private</b></td><td> +<p>Output private dictionary structure pointer.</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 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>The string pointers within the <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure are owned by the face and don't need to be freed by the caller.</p> +<p>If the font's format is not PostScript-based, this function returns the ‘FT_Err_Invalid_Argument’ error code.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-user_allocation.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-user_allocation.html new file mode 100644 index 00000000000..32559ab5800 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-user_allocation.html @@ -0,0 +1,47 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +User allocation +</h1></center> +<table align=center width="87%"><tr><td> +<p>FreeType assumes that structures allocated by the user and passed as arguments are zeroed out except for the actual data. In other words, it is recommended to use ‘calloc’ (or variants of it) instead of ‘malloc’ for allocation.</p> +</td></tr></table><br> +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-version.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-version.html new file mode 100644 index 00000000000..5d402618c79 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-version.html @@ -0,0 +1,219 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +FreeType Version +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FREETYPE_XXX">FREETYPE_XXX</a></td><td></td><td><a href="#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td></tr> +<tr><td></td><td><a href="#FT_Library_Version">FT_Library_Version</a></td><td></td><td><a href="#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>Note that those functions and macros are of limited use because even a new release of FreeType with only documentation changes increases the version number.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FREETYPE_XXX">FREETYPE_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a> 2 +#define <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a> 4 +#define <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a> 5 + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>These three macros identify the FreeType source code version. Use <a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a> to access them at runtime.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FREETYPE_MAJOR</b></td><td> +<p>The major version number.</p> +</td></tr> +<tr valign=top><td><b>FREETYPE_MINOR</b></td><td> +<p>The minor version number.</p> +</td></tr> +<tr valign=top><td><b>FREETYPE_PATCH</b></td><td> +<p>The patch level.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The version number of FreeType if built as a dynamic link library with the ‘libtool’ package is <i>not</i> controlled by these three macros.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Library_Version">FT_Library_Version</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Library_Version</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *amajor, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *aminor, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *apatch ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Return the version of the FreeType library being used. This is useful when dynamically linking to the library, since one cannot use the macros <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a>, <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a>, and <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a>.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>library</b></td><td> +<p>A source library handle.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>amajor</b></td><td> +<p>The major version number.</p> +</td></tr> +<tr valign=top><td><b>aminor</b></td><td> +<p>The minor version number.</p> +</td></tr> +<tr valign=top><td><b>apatch</b></td><td> +<p>The patch version number.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> +<p>The reason why this function takes a ‘library’ argument is because certain programs implement library initialization in a custom way that doesn't use <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a>.</p> +<p>In such cases, the library version might not be available before the library object has been created.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> ) + <b>FT_Face_CheckTrueTypePatents</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Parse all bytecode instructions of a TrueType font file to check whether any of the patented opcodes are used. This is only useful if you want to be able to use the unpatented hinter with fonts that do <b>not</b> use these opcodes.</p> +<p>Note that this function parses <b>all</b> glyph instructions in the font file, which may be slow.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A face handle.</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>1 if this is a TrueType font that uses one of the patented opcodes, 0 otherwise.</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>Since May 2010, TrueType hinting is no longer patented.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.5</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_FREETYPE_H (freetype/freetype.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> ) + <b>FT_Face_SetUnpatentedHinting</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> value ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Enable or disable the unpatented hinter for a given face. Only enable it if you have determined that the face doesn't use any patented opcodes (see <a href="ft2-version.html#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a>).</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A face handle.</p> +</td></tr> +<tr valign=top><td><b>value</b></td><td> +<p>New boolean setting.</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>The old setting value. This will always be false if this is not an SFNT font, or if the unpatented hinter is not compiled in this instance of the library.</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>Since May 2010, TrueType hinting is no longer patented.</p> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> +<p>2.3.5</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-winfnt_fonts.html b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-winfnt_fonts.html new file mode 100644 index 00000000000..86dc4cc2d76 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.4.5/docs/reference/ft2-winfnt_fonts.html @@ -0,0 +1,278 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.4.5 API Reference</title> +<style type="text/css"> + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; } + + p { text-align: justify; } + h1 { text-align: center; } + li { text-align: justify; } + td { padding: 0 0.5em 0 0.5em; } + td.left { padding: 0 0.5em 0 0.5em; + text-align: left; } + + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + pre.colored { color: blue; } + + ul.empty { list-style-type: none; } +</style> +</head> +<body> + +<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.4.5 API Reference</h1></center> + +<center><h1> +Window FNT Files +</h1></center> +<h2>Synopsis</h2> +<table align=center cellspacing=5 cellpadding=0 border=0> +<tr><td></td><td><a href="#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td><td></td><td><a href="#FT_WinFNT_Header">FT_WinFNT_Header</a></td><td></td><td></td></tr> +<tr><td></td><td><a href="#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td><td></td><td><a href="#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td></td><td></td></tr> +</table><br><br> + +<table align=center width="87%"><tr><td> +<p>This section contains the declaration of Windows FNT specific functions.</p> +</td></tr></table><br> +<table align=center width="75%"><tr><td> +<h4><a name="FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_WINFONTS_H (freetype/ftwinfnt.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1252</a> 0 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_DEFAULT</a> 1 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_SYMBOL</a> 2 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_MAC</a> 77 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP932</a> 128 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP949</a> 129 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1361</a> 130 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP936</a> 134 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP950</a> 136 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1253</a> 161 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1254</a> 162 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1258</a> 163 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1255</a> 177 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1256</a> 178 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1257</a> 186 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a> 204 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP874</a> 222 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1250</a> 238 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_OEM</a> 255 + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A list of valid values for the ‘charset’ byte in <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a>. Exact mapping tables for the various cpXXXX encodings (except for cp1361) can be found at ftp://ftp.unicode.org in the MAPPINGS/VENDORS/MICSFT/WINDOWS subdirectory. cp1361 is roughly a superset of MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT.</p> +</td></tr></table><br> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>FT_WinFNT_ID_DEFAULT</b></td><td> +<p>This is used for font enumeration and font creation as a ‘don't care’ value. Valid font files don't contain this value. When querying for information about the character set of the font that is currently selected into a specified device context, this return value (of the related Windows API) simply denotes failure.</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_SYMBOL</b></td><td> +<p>There is no known mapping table available.</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_MAC</b></td><td> +<p>Mac Roman encoding.</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_OEM</b></td><td> +<p>From Michael Pöttgen <michael@poettgen.de>:</p> +<p>The ‘Windows Font Mapping’ article says that FT_WinFNT_ID_OEM is used for the charset of vector fonts, like ‘modern.fon’, ‘roman.fon’, and ‘script.fon’ on Windows.</p> +<p>The ‘CreateFont’ documentation says: The FT_WinFNT_ID_OEM value specifies a character set that is operating-system dependent.</p> +<p>The ‘IFIMETRICS’ documentation from the ‘Windows Driver Development Kit’ says: This font supports an OEM-specific character set. The OEM character set is system dependent.</p> +<p>In general OEM, as opposed to ANSI (i.e., cp1252), denotes the second default codepage that most international versions of Windows have. It is one of the OEM codepages from</p> +<p>http://www.microsoft.com/globaldev/reference/cphome.mspx,</p> +<p>and is used for the ‘DOS boxes’, to support legacy applications. A German Windows version for example usually uses ANSI codepage 1252 and OEM codepage 850.</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP874</b></td><td> +<p>A superset of Thai TIS 620 and ISO 8859-11.</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP932</b></td><td> +<p>A superset of Japanese Shift-JIS (with minor deviations).</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP936</b></td><td> +<p>A superset of simplified Chinese GB 2312-1980 (with different ordering and minor deviations).</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP949</b></td><td> +<p>A superset of Korean Hangul KS C 5601-1987 (with different ordering and minor deviations).</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP950</b></td><td> +<p>A superset of traditional Chinese Big 5 ETen (with different ordering and minor deviations).</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP1250</b></td><td> +<p>A superset of East European ISO 8859-2 (with slightly different ordering).</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP1251</b></td><td> +<p>A superset of Russian ISO 8859-5 (with different ordering).</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP1252</b></td><td> +<p>ANSI encoding. A superset of ISO 8859-1.</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP1253</b></td><td> +<p>A superset of Greek ISO 8859-7 (with minor modifications).</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP1254</b></td><td> +<p>A superset of Turkish ISO 8859-9.</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP1255</b></td><td> +<p>A superset of Hebrew ISO 8859-8 (with some modifications).</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP1256</b></td><td> +<p>A superset of Arabic ISO 8859-6 (with different ordering).</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP1257</b></td><td> +<p>A superset of Baltic ISO 8859-13 (with some deviations).</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP1258</b></td><td> +<p>For Vietnamese. This encoding doesn't cover all necessary characters.</p> +</td></tr> +<tr valign=top><td><b>FT_WinFNT_ID_CP1361</b></td><td> +<p>Korean (Johab).</p> +</td></tr> +</table> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_WINFONTS_H (freetype/ftwinfnt.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_WinFNT_HeaderRec_ + { + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> version; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> file_size; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> copyright[60]; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> file_type; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> nominal_point_size; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> vertical_resolution; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> horizontal_resolution; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> ascent; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> internal_leading; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> external_leading; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> italic; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> underline; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> strike_out; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> weight; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> charset; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> pixel_width; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> pixel_height; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> pitch_and_family; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> avg_width; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> max_width; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> first_char; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> last_char; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> default_char; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> break_char; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> bytes_per_row; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> device_offset; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> face_name_offset; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> bits_pointer; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> bits_offset; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> reserved; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> flags; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> A_space; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> B_space; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> C_space; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> color_table_offset; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> reserved1[4]; + + } <b>FT_WinFNT_HeaderRec</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Windows FNT Header info.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_WinFNT_Header">FT_WinFNT_Header</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_WINFONTS_H (freetype/ftwinfnt.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_WinFNT_HeaderRec_* <b>FT_WinFNT_Header</b>; + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>A handle to an <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a> structure.</p> +</td></tr></table><br> +</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<table align=center width="75%"><tr><td> +<h4><a name="FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></h4> +<table align=center width="87%"><tr><td> +Defined in FT_WINFONTS_H (freetype/ftwinfnt.h). +</td></tr></table><br> +<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_WinFNT_Header</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a> *aheader ); + +</pre></table><br> +<table align=center width="87%"><tr><td> +<p>Retrieve a Windows FNT font info header.</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> +<table cellpadding=3 border=0> +<tr valign=top><td><b>face</b></td><td> +<p>A handle to the input face.</p> +</td></tr> +</table> +</td></tr></table> +<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> +<p></p> +<table cellpadding=3 border=0> +<tr valign=top><td><b>aheader</b></td><td> +<p>The WinFNT header.</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 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>This function only works with Windows FNT faces, returning an error otherwise.</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> +<td width="100%"></td> +<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +</body> +</html> |