PageRenderTime 107ms CodeModel.GetById 30ms app.highlight 60ms RepoModel.GetById 2ms app.codeStats 1ms

/modules/freetype2/docs/reference/ft2-base_interface.html

http://github.com/zpao/v8monkey
HTML | 3598 lines | 3272 code | 326 blank | 0 comment | 0 complexity | 0c236e51864a00e5500e3f5032ef5146 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2"http://www.w3.org/TR/html4/loose.dtd">
  3<html>
  4<head>
  5<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6<title>FreeType-2.4.3 API Reference</title>
  7<style type="text/css">
  8  body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
  9         color: #000000;
 10         background: #FFFFFF; }
 11
 12  p { text-align: justify; }
 13  h1 { text-align: center; }
 14  li { text-align: justify; }
 15  td { padding: 0 0.5em 0 0.5em; }
 16  td.left { padding: 0 0.5em 0 0.5em;
 17            text-align: left; }
 18
 19  a:link { color: #0000EF; }
 20  a:visited { color: #51188E; }
 21  a:hover { color: #FF0000; }
 22
 23  span.keyword { font-family: monospace;
 24                 text-align: left;
 25                 white-space: pre;
 26                 color: darkblue; }
 27
 28  pre.colored { color: blue; }
 29
 30  ul.empty { list-style-type: none; }
 31</style>
 32</head>
 33<body>
 34
 35<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
 36<td width="100%"></td>
 37<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
 38<center><h1>FreeType-2.4.3 API Reference</h1></center>
 39
 40<center><h1>
 41Base Interface
 42</h1></center>
 43<h2>Synopsis</h2>
 44<table align=center cellspacing=5 cellpadding=0 border=0>
 45<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>
 46<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>
 47<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>
 48<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>
 49<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>
 50<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>
 51<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>
 52<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>
 53<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>
 54<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>
 55<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>
 56<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>
 57<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>
 58<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>
 59<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>
 60<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>
 61<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>
 62<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>
 63<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>
 64<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>
 65<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>
 66<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>
 67<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>
 68<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>
 69<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>
 70<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>
 71<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>
 72<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>
 73</table><br><br>
 74
 75<table align=center width="87%"><tr><td>
 76<p>This section describes the public high-level API of FreeType&nbsp;2.</p>
 77</td></tr></table><br>
 78<table align=center width="75%"><tr><td>
 79<h4><a name="FT_Library">FT_Library</a></h4>
 80<table align=center width="87%"><tr><td>
 81Defined in FT_FREETYPE_H (freetype/freetype.h).
 82</td></tr></table><br>
 83<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
 84
 85  <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_LibraryRec_  *<b>FT_Library</b>;
 86
 87</pre></table><br>
 88<table align=center width="87%"><tr><td>
 89<p>A handle to a FreeType library instance. Each &lsquo;library&rsquo; is completely independent from the others; it is the &lsquo;root&rsquo; of a set of objects like fonts, faces, sizes, etc.</p>
 90<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>
 91<p>For multi-threading applications each thread should have its own FT_Library object.</p>
 92</td></tr></table><br>
 93<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
 94<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>
 95</td></tr></table>
 96</td></tr></table>
 97<hr width="75%">
 98<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
 99<td width="100%"></td>
100<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
101
102<table align=center width="75%"><tr><td>
103<h4><a name="FT_Face">FT_Face</a></h4>
104<table align=center width="87%"><tr><td>
105Defined in FT_FREETYPE_H (freetype/freetype.h).
106</td></tr></table><br>
107<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
108
109  <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_FaceRec_*  <b>FT_Face</b>;
110
111</pre></table><br>
112<table align=center width="87%"><tr><td>
113<p>A handle to a given typographic face object. A face object models a given typeface, in a given style.</p>
114</td></tr></table><br>
115<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
116<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>
117<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>
118<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>
119</td></tr></table>
120<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td>
121<p>See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the publicly accessible fields of a given face object.</p>
122</td></tr></table>
123</td></tr></table>
124<hr width="75%">
125<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
126<td width="100%"></td>
127<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
128
129<table align=center width="75%"><tr><td>
130<h4><a name="FT_Size">FT_Size</a></h4>
131<table align=center width="87%"><tr><td>
132Defined in FT_FREETYPE_H (freetype/freetype.h).
133</td></tr></table><br>
134<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
135
136  <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SizeRec_*  <b>FT_Size</b>;
137
138</pre></table><br>
139<table align=center width="87%"><tr><td>
140<p>A handle to an object used to model a face scaled to a given character size.</p>
141</td></tr></table><br>
142<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
143<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>
144<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>
145<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>
146</td></tr></table>
147<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td>
148<p>See <a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a> for the publicly accessible fields of a given size object.</p>
149</td></tr></table>
150</td></tr></table>
151<hr width="75%">
152<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
153<td width="100%"></td>
154<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
155
156<table align=center width="75%"><tr><td>
157<h4><a name="FT_GlyphSlot">FT_GlyphSlot</a></h4>
158<table align=center width="87%"><tr><td>
159Defined in FT_FREETYPE_H (freetype/freetype.h).
160</td></tr></table><br>
161<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
162
163  <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphSlotRec_*  <b>FT_GlyphSlot</b>;
164
165</pre></table><br>
166<table align=center width="87%"><tr><td>
167<p>A handle to a given &lsquo;glyph slot&rsquo;. A slot is a container where it is possible to load any of the glyphs contained in its parent face.</p>
168<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>
169</td></tr></table><br>
170<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td>
171<p>See <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> for the publicly accessible glyph fields.</p>
172</td></tr></table>
173</td></tr></table>
174<hr width="75%">
175<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
176<td width="100%"></td>
177<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
178
179<table align=center width="75%"><tr><td>
180<h4><a name="FT_CharMap">FT_CharMap</a></h4>
181<table align=center width="87%"><tr><td>
182Defined in FT_FREETYPE_H (freetype/freetype.h).
183</td></tr></table><br>
184<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
185
186  <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_CharMapRec_*  <b>FT_CharMap</b>;
187
188</pre></table><br>
189<table align=center width="87%"><tr><td>
190<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>
191<p>Each face object owns zero or more charmaps, but only one of them can be &lsquo;active&rsquo; 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>
192<p>The list of available charmaps in a face is available through the &lsquo;face-&gt;num_charmaps&rsquo; and &lsquo;face-&gt;charmaps&rsquo; fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p>
193<p>The currently active charmap is available as &lsquo;face-&gt;charmap&rsquo;. You should call <a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a> to change it.</p>
194</td></tr></table><br>
195<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
196<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>
197</td></tr></table>
198<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td>
199<p>See <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> for the publicly accessible fields of a given character map.</p>
200</td></tr></table>
201</td></tr></table>
202<hr width="75%">
203<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
204<td width="100%"></td>
205<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
206
207<table align=center width="75%"><tr><td>
208<h4><a name="FT_Encoding">FT_Encoding</a></h4>
209<table align=center width="87%"><tr><td>
210Defined in FT_FREETYPE_H (freetype/freetype.h).
211</td></tr></table><br>
212<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
213
214  <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Encoding_
215  {
216    <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 ),
217
218    <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' ),
219    <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' ),
220
221    <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' ),
222    <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', ' ', ' ' ),
223    <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' ),
224    <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' ),
225    <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' ),
226
227    /* for backwards compatibility */
228    <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>,
229    <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>,
230    <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>,
231    <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>,
232    <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>,
233
234    <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' ),
235    <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' ),
236    <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' ),
237    <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' ),
238
239    <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' ),
240
241    <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' )
242
243  } <b>FT_Encoding</b>;
244
245</pre></table><br>
246<table align=center width="87%"><tr><td>
247<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>
248</td></tr></table><br>
249<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
250<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>
251<p>Other encodings might be defined in the future.</p>
252</td></tr></table>
253<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
254<p></p>
255<table cellpadding=3 border=0>
256<tr valign=top><td><b>FT_ENCODING_NONE</b></td><td>
257<p>The encoding value&nbsp;0 is reserved.</p>
258</td></tr>
259<tr valign=top><td><b>FT_ENCODING_UNICODE</b></td><td>
260<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>
261<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>
262</td></tr>
263<tr valign=top><td><b>FT_ENCODING_MS_SYMBOL</b></td><td>
264<p>Corresponds to the Microsoft Symbol encoding, used to encode mathematical symbols in the 32..255 character code range. For more information, see &lsquo;http://www.ceviz.net/symbol.htm&rsquo;.</p>
265</td></tr>
266<tr valign=top><td><b>FT_ENCODING_SJIS</b></td><td>
267<p>Corresponds to Japanese SJIS encoding. More info at at &lsquo;http://langsupport.japanreference.com/encoding.shtml&rsquo;. See note on multi-byte encodings below.</p>
268</td></tr>
269<tr valign=top><td><b>FT_ENCODING_GB2312</b></td><td>
270<p>Corresponds to an encoding system for Simplified Chinese as used used in mainland China.</p>
271</td></tr>
272<tr valign=top><td><b>FT_ENCODING_BIG5</b></td><td>
273<p>Corresponds to an encoding system for Traditional Chinese as used in Taiwan and Hong Kong.</p>
274</td></tr>
275<tr valign=top><td><b>FT_ENCODING_WANSUNG</b></td><td>
276<p>Corresponds to the Korean encoding system known as Wansung. For more information see &lsquo;http://www.microsoft.com/typography/unicode/949.txt&rsquo;.</p>
277</td></tr>
278<tr valign=top><td><b>FT_ENCODING_JOHAB</b></td><td>
279<p>The Korean standard character set (KS&nbsp;C 5601-1992), which corresponds to MS Windows code page 1361. This character set includes all possible Hangeul character combinations.</p>
280</td></tr>
281<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_LATIN_1</b></td></tr>
282<tr valign=top><td></td><td>
283<p>Corresponds to a Latin-1 encoding as defined in a Type&nbsp;1 PostScript font. It is limited to 256 character codes.</p>
284</td></tr>
285<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_STANDARD</b></td></tr>
286<tr valign=top><td></td><td>
287<p>Corresponds to the Adobe Standard encoding, as found in Type&nbsp;1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p>
288</td></tr>
289<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_EXPERT</b></td></tr>
290<tr valign=top><td></td><td>
291<p>Corresponds to the Adobe Expert encoding, as found in Type&nbsp;1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p>
292</td></tr>
293<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_CUSTOM</b></td></tr>
294<tr valign=top><td></td><td>
295<p>Corresponds to a custom encoding, as found in Type&nbsp;1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p>
296</td></tr>
297<tr valign=top><td colspan=0><b>FT_ENCODING_APPLE_ROMAN</b></td></tr>
298<tr valign=top><td></td><td>
299<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>
300</td></tr>
301<tr valign=top><td colspan=0><b>FT_ENCODING_OLD_LATIN_2</b></td></tr>
302<tr valign=top><td></td><td>
303<p>This value is deprecated and was never used nor reported by FreeType. Don't use or test for it.</p>
304</td></tr>
305<tr valign=top><td><b>FT_ENCODING_MS_SJIS</b></td><td>
306<p>Same as FT_ENCODING_SJIS. Deprecated.</p>
307</td></tr>
308<tr valign=top><td><b>FT_ENCODING_MS_GB2312</b></td><td>
309<p>Same as FT_ENCODING_GB2312. Deprecated.</p>
310</td></tr>
311<tr valign=top><td><b>FT_ENCODING_MS_BIG5</b></td><td>
312<p>Same as FT_ENCODING_BIG5. Deprecated.</p>
313</td></tr>
314<tr valign=top><td><b>FT_ENCODING_MS_WANSUNG</b></td><td>
315<p>Same as FT_ENCODING_WANSUNG. Deprecated.</p>
316</td></tr>
317<tr valign=top><td><b>FT_ENCODING_MS_JOHAB</b></td><td>
318<p>Same as FT_ENCODING_JOHAB. Deprecated.</p>
319</td></tr>
320</table>
321</td></tr></table>
322<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
323<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>
324<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 &lsquo;cs_registry&rsquo; field is &lsquo;KOI8&rsquo; and the &lsquo;cs_encoding&rsquo; field is &lsquo;R&rsquo;, the font is encoded in KOI8-R.</p>
325<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 &lsquo;charset&rsquo; 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>
326<p>FT_ENCODING_NONE is set if &lsquo;platform_id&rsquo; is <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> and &lsquo;encoding_id&rsquo; 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>
327<p>If &lsquo;platform_id&rsquo; 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>
328<p>http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT</p>
329<p>to get an idea how to do that. Basically, if the language ID is&nbsp;0, don't use it, otherwise subtract 1 from the language ID. Then examine &lsquo;encoding_id&rsquo;. If, for example, &lsquo;encoding_id&rsquo; is <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a> and the language ID (minus&nbsp;1) is &lsquo;TT_MAC_LANGID_GREEK&rsquo;, it is the Greek encoding, not Roman. <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a> with &lsquo;TT_MAC_LANGID_FARSI&rsquo; means the Farsi variant the Arabic encoding.</p>
330</td></tr></table>
331</td></tr></table>
332<hr width="75%">
333<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
334<td width="100%"></td>
335<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
336
337<table align=center width="75%"><tr><td>
338<h4><a name="FT_Glyph_Metrics">FT_Glyph_Metrics</a></h4>
339<table align=center width="87%"><tr><td>
340Defined in FT_FREETYPE_H (freetype/freetype.h).
341</td></tr></table><br>
342<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
343
344  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Glyph_Metrics_
345  {
346    <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a>  width;
347    <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a>  height;
348
349    <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a>  horiBearingX;
350    <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a>  horiBearingY;
351    <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a>  horiAdvance;
352
353    <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a>  vertBearingX;
354    <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a>  vertBearingY;
355    <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a>  vertAdvance;
356
357  } <b>FT_Glyph_Metrics</b>;
358
359</pre></table><br>
360<table align=center width="87%"><tr><td>
361<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>
362</td></tr></table><br>
363<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
364<p></p>
365<table cellpadding=3 border=0>
366<tr valign=top><td><b>width</b></td><td>
367<p>The glyph's width.</p>
368</td></tr>
369<tr valign=top><td><b>height</b></td><td>
370<p>The glyph's height.</p>
371</td></tr>
372<tr valign=top><td><b>horiBearingX</b></td><td>
373<p>Left side bearing for horizontal layout.</p>
374</td></tr>
375<tr valign=top><td><b>horiBearingY</b></td><td>
376<p>Top side bearing for horizontal layout.</p>
377</td></tr>
378<tr valign=top><td><b>horiAdvance</b></td><td>
379<p>Advance width for horizontal layout.</p>
380</td></tr>
381<tr valign=top><td><b>vertBearingX</b></td><td>
382<p>Left side bearing for vertical layout.</p>
383</td></tr>
384<tr valign=top><td><b>vertBearingY</b></td><td>
385<p>Top side bearing for vertical layout.</p>
386</td></tr>
387<tr valign=top><td><b>vertAdvance</b></td><td>
388<p>Advance height for vertical layout.</p>
389</td></tr>
390</table>
391</td></tr></table>
392<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
393<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>
394</td></tr></table>
395</td></tr></table>
396<hr width="75%">
397<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
398<td width="100%"></td>
399<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
400
401<table align=center width="75%"><tr><td>
402<h4><a name="FT_Bitmap_Size">FT_Bitmap_Size</a></h4>
403<table align=center width="87%"><tr><td>
404Defined in FT_FREETYPE_H (freetype/freetype.h).
405</td></tr></table><br>
406<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
407
408  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Bitmap_Size_
409  {
410    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>  height;
411    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>  width;
412
413    <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a>    size;
414
415    <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a>    x_ppem;
416    <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a>    y_ppem;
417
418  } <b>FT_Bitmap_Size</b>;
419
420</pre></table><br>
421<table align=center width="87%"><tr><td>
422<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 &lsquo;available_sizes&rsquo; field of <a href="ft2-base_interface.html#FT_Face">FT_Face</a>.</p>
423</td></tr></table><br>
424<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
425<p></p>
426<table cellpadding=3 border=0>
427<tr valign=top><td><b>height</b></td><td>
428<p>The vertical distance, in pixels, between two consecutive baselines. It is always positive.</p>
429</td></tr>
430<tr valign=top><td><b>width</b></td><td>
431<p>The average width, in pixels, of all glyphs in the strike.</p>
432</td></tr>
433<tr valign=top><td><b>size</b></td><td>
434<p>The nominal size of the strike in 26.6 fractional points. This field is not very useful.</p>
435</td></tr>
436<tr valign=top><td><b>x_ppem</b></td><td>
437<p>The horizontal ppem (nominal width) in 26.6 fractional pixels.</p>
438</td></tr>
439<tr valign=top><td><b>y_ppem</b></td><td>
440<p>The vertical ppem (nominal height) in 26.6 fractional pixels.</p>
441</td></tr>
442</table>
443</td></tr></table>
444<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
445<p>Windows FNT: The nominal size given in a FNT font is not reliable. Thus when the driver finds it incorrect, it sets &lsquo;size&rsquo; to some calculated values and sets &lsquo;x_ppem&rsquo; and &lsquo;y_ppem&rsquo; to the pixel width and height given in the font, respectively.</p>
446<p>TrueType embedded bitmaps: &lsquo;size&rsquo;, &lsquo;width&rsquo;, and &lsquo;height&rsquo; values are not contained in the bitmap strike itself. They are computed from the global font parameters.</p>
447</td></tr></table>
448</td></tr></table>
449<hr width="75%">
450<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
451<td width="100%"></td>
452<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
453
454<table align=center width="75%"><tr><td>
455<h4><a name="FT_Module">FT_Module</a></h4>
456<table align=center width="87%"><tr><td>
457Defined in FT_FREETYPE_H (freetype/freetype.h).
458</td></tr></table><br>
459<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
460
461  <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ModuleRec_*  <b>FT_Module</b>;
462
463</pre></table><br>
464<table align=center width="87%"><tr><td>
465<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>
466</td></tr></table><br>
467</td></tr></table>
468<hr width="75%">
469<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
470<td width="100%"></td>
471<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
472
473<table align=center width="75%"><tr><td>
474<h4><a name="FT_Driver">FT_Driver</a></h4>
475<table align=center width="87%"><tr><td>
476Defined in FT_FREETYPE_H (freetype/freetype.h).
477</td></tr></table><br>
478<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
479
480  <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_DriverRec_*  <b>FT_Driver</b>;
481
482</pre></table><br>
483<table align=center width="87%"><tr><td>
484<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>
485</td></tr></table><br>
486</td></tr></table>
487<hr width="75%">
488<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
489<td width="100%"></td>
490<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
491
492<table align=center width="75%"><tr><td>
493<h4><a name="FT_Renderer">FT_Renderer</a></h4>
494<table align=center width="87%"><tr><td>
495Defined in FT_FREETYPE_H (freetype/freetype.h).
496</td></tr></table><br>
497<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
498
499  <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_RendererRec_*  <b>FT_Renderer</b>;
500
501</pre></table><br>
502<table align=center width="87%"><tr><td>
503<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>
504</td></tr></table><br>
505</td></tr></table>
506<hr width="75%">
507<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
508<td width="100%"></td>
509<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
510
511<table align=center width="75%"><tr><td>
512<h4><a name="FT_ENC_TAG">FT_ENC_TAG</a></h4>
513<table align=center width="87%"><tr><td>
514Defined in FT_FREETYPE_H (freetype/freetype.h).
515</td></tr></table><br>
516<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
517
518#ifndef <b>FT_ENC_TAG</b>
519#define <b>FT_ENC_TAG</b>( value, a, b, c, d )         \
520          value = ( ( (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(a) &lt;&lt; 24 ) |  \
521                    ( (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(b) &lt;&lt; 16 ) |  \
522                    ( (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(c) &lt;&lt;  8 ) |  \
523                      (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(d)         )
524
525#endif /* <b>FT_ENC_TAG</b> */
526
527</pre></table><br>
528<table align=center width="87%"><tr><td>
529<p>This macro converts four-letter tags into an unsigned long. It is used to define &lsquo;encoding&rsquo; identifiers (see <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a>).</p>
530</td></tr></table><br>
531<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
532<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>
533<pre class="colored">
534  #define FT_ENC_TAG( value, a, b, c, d )  value                   
535</pre>
536<p>to get a simple enumeration without assigning special numbers.</p>
537</td></tr></table>
538</td></tr></table>
539<hr width="75%">
540<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
541<td width="100%"></td>
542<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
543
544<table align=center width="75%"><tr><td>
545<h4><a name="ft_encoding_xxx">ft_encoding_xxx</a></h4>
546<table align=center width="87%"><tr><td>
547Defined in FT_FREETYPE_H (freetype/freetype.h).
548</td></tr></table><br>
549<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
550
551#define ft_encoding_none            <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a>
552#define ft_encoding_unicode         <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a>
553#define ft_encoding_symbol          <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a>
554#define ft_encoding_latin_1         <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a>
555#define ft_encoding_latin_2         <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a>
556#define ft_encoding_sjis            <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a>
557#define ft_encoding_gb2312          <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a>
558#define ft_encoding_big5            <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a>
559#define ft_encoding_wansung         <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a>
560#define ft_encoding_johab           <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a>
561
562#define ft_encoding_adobe_standard  <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a>
563#define ft_encoding_adobe_expert    <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a>
564#define ft_encoding_adobe_custom    <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a>
565#define ft_encoding_apple_roman     <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a>
566
567</pre></table><br>
568<table align=center width="87%"><tr><td>
569<p>These constants are deprecated; use the corresponding <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a> values instead.</p>
570</td></tr></table><br>
571</td></tr></table>
572<hr width="75%">
573<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
574<td width="100%"></td>
575<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
576
577<table align=center width="75%"><tr><td>
578<h4><a name="FT_CharMapRec">FT_CharMapRec</a></h4>
579<table align=center width="87%"><tr><td>
580Defined in FT_FREETYPE_H (freetype/freetype.h).
581</td></tr></table><br>
582<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
583
584  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_CharMapRec_
585  {
586    <a href="ft2-base_interface.html#FT_Face">FT_Face</a>      face;
587    <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a>  encoding;
588    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>    platform_id;
589    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>    encoding_id;
590
591  } <b>FT_CharMapRec</b>;
592
593</pre></table><br>
594<table align=center width="87%"><tr><td>
595<p>The base charmap structure.</p>
596</td></tr></table><br>
597<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
598<p></p>
599<table cellpadding=3 border=0>
600<tr valign=top><td><b>face</b></td><td>
601<p>A handle to the parent face object.</p>
602</td></tr>
603<tr valign=top><td><b>encoding</b></td><td>
604<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>
605</td></tr>
606<tr valign=top><td><b>platform_id</b></td><td>
607<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>
608</td></tr>
609<tr valign=top><td><b>encoding_id</b></td><td>
610<p>A platform specific encoding number. This also comes from the TrueType specification and should be emulated similarly.</p>
611</td></tr>
612</table>
613</td></tr></table>
614</td></tr></table>
615<hr width="75%">
616<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
617<td width="100%"></td>
618<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
619
620<table align=center width="75%"><tr><td>
621<h4><a name="FT_Face_Internal">FT_Face_Internal</a></h4>
622<table align=center width="87%"><tr><td>
623Defined in FT_FREETYPE_H (freetype/freetype.h).
624</td></tr></table><br>
625<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
626
627  <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Face_InternalRec_*  <b>FT_Face_Internal</b>;
628
629</pre></table><br>
630<table align=center width="87%"><tr><td>
631<p>An opaque handle to an &lsquo;FT_Face_InternalRec&rsquo; structure, used to model private data of a given <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object.</p>
632<p>This structure might change between releases of FreeType&nbsp;2 and is not generally available to client applications.</p>
633</td></tr></table><br>
634</td></tr></table>
635<hr width="75%">
636<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
637<td width="100%"></td>
638<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
639
640<table align=center width="75%"><tr><td>
641<h4><a name="FT_FaceRec">FT_FaceRec</a></h4>
642<table align=center width="87%"><tr><td>
643Defined in FT_FREETYPE_H (freetype/freetype.h).
644</td></tr></table><br>
645<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
646
647  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_FaceRec_
648  {
649    <a href="ft2-basic_types.html#FT_Long">FT_Long</a>           num_faces;
650    <a href="ft2-basic_types.html#FT_Long">FT_Long</a>           face_index;
651
652    <a href="ft2-basic_types.html#FT_Long">FT_Long</a>           face_flags;
653    <a href="ft2-basic_types.html#FT_Long">FT_Long</a>           style_flags;
654
655    <a href="ft2-basic_types.html#FT_Long">FT_Long</a>           num_glyphs;
656
657    <a href="ft2-basic_types.html#FT_String">FT_String</a>*        family_name;
658    <a href="ft2-basic_types.html#FT_String">FT_String</a>*        style_name;
659
660    <a href="ft2-basic_types.html#FT_Int">FT_Int</a>            num_fixed_sizes;
661    <a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a>*   available_sizes;
662
663    <a href="ft2-basic_types.html#FT_Int">FT_Int</a>            num_charmaps;
664    <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a>*       charmaps;
665
666    <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a>        generic;
667
668    /*# The following member variables (down to `underline_thickness') */
669    /*# are only relevant to scalable outlines; cf. @<a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a>    */
670    /*# for bitmap fonts.                                              */
671    <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a>           bbox;
672
673    <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>         units_per_EM;
674    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>          ascender;
675    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>          descender;
676    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>          height;
677
678    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>          max_advance_width;
679    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>          max_advance_height;
680
681    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>          underline_position;
682    <a href="ft2-basic_types.html#FT_Short">FT_Short</a>          underline_thickness;
683
684    <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a>      glyph;
685    <a href="ft2-base_interface.html#FT_Size">FT_Size</a>           size;
686    <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a>        charmap;
687
688    /*@private begin */
689
690    <a href="ft2-base_interface.html#FT_Driver">FT_Driver</a>         driver;
691    <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a>         memory;
692    <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a>         stream;
693
694    <a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a>        sizes_list;
695
696    <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a>        autohint;
697    <span class="keyword">void</span>*             extensions;
698
699    <a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a>  internal;
700
701    /*@private end */
702
703  } <b>FT_FaceRec</b>;
704
705</pre></table><br>
706<table align=center width="87%"><tr><td>
707<p>FreeType root face class structure. A face object models a typeface in a font file.</p>
708</td></tr></table><br>
709<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
710<p></p>
711<table cellpadding=3 border=0>
712<tr valign=top><td><b>num_faces</b></td><td>
713<p>The number of faces in the font file. Some font formats can have multiple faces in a font file.</p>
714</td></tr>
715<tr valign=top><td><b>face_index</b></td><td>
716<p>The index of the face in the font file. It is set to&nbsp;0 if there is only one face in the font file.</p>
717</td></tr>
718<tr valign=top><td><b>face_flags</b></td><td>
719<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>
720</td></tr>
721<tr valign=top><td><b>style_flags</b></td><td>
722<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>
723</td></tr>
724<tr valign=top><td><b>num_glyphs</b></td><td>
725<p>The number of glyphs in the face. If the face is scalable and has sbits (see &lsquo;num_fixed_sizes&rsquo;), it is set to the number of outline glyphs.</p>
726<p>For CID-keyed fonts, this value gives the highest CID used in the font.</p>
727</td></tr>
728<tr valign=top><td><b>family_name</b></td><td>
729<p>The face's family name. This is an ASCII string, usually in English, which describes the typeface's family (like &lsquo;Times New Roman&rsquo;, &lsquo;Bodoni&rsquo;, &lsquo;Garamond&rsquo;, etc). This is a least common denominator used to list fonts. Some formats (TrueType &amp; 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>
730</td></tr>
731<tr valign=top><td><b>style_name</b></td><td>
732<p>The face's style name. This is an ASCII string, usually in English, which describes the typeface's style (like &lsquo;Italic&rsquo;, &lsquo;Bold&rsquo;, &lsquo;Condensed&rsquo;, etc). Not all font formats provide a style name, so this field is optional, and can be set to NULL. As for &lsquo;family_name&rsquo;, some formats provide localized and Unicode versions of this string. Applications should use the format specific interface to access them.</p>
733</td></tr>
734<tr valign=top><td><b>num_fixed_sizes</b></td><td>
735<p>The number of bitmap strikes in the face. Even if the face is scalable, there might still be bitmap strikes, which are called &lsquo;sbits&rsquo; in that case.</p>
736</td></tr>
737<tr valign=top><td><b>available_sizes</b></td><td>
738<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>
739</td></tr>
740<tr valign=top><td><b>num_charmaps</b></td><td>
741<p>The number of charmaps in the face.</p>
742</td></tr>
743<tr valign=top><td><b>charmaps</b></td><td>
744<p>An array of the charmaps of the face.</p>
745</td></tr>
746<tr valign=top><td><b>generic</b></td><td>
747<p>A field reserved for client uses. See the <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> type description.</p>
748</td></tr>
749<tr valign=top><td><b>bbox</b></td><td>
750<p>The font bounding box. Coordinates are expressed in font units (see &lsquo;units_per_EM&rsquo;). The box is large enough to contain any glyph from the font. Thus, &lsquo;bbox.yMax&rsquo; can be seen as the &lsquo;maximal ascender&rsquo;, and &lsquo;bbox.yMin&rsquo; as the &lsquo;minimal descender&rsquo;. Only relevant for scalable formats.</p>
751<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>
752</td></tr>
753<tr valign=top><td><b>units_per_EM</b></td><td>
754<p>The number of font units per EM square for this face. This is typically 2048 for TrueType fonts, and 1000 for Type&nbsp;1 fonts. Only relevant for scalable formats.</p>
755</td></tr>
756<tr valign=top><td><b>ascender</b></td><td>
757<p>The typographic ascender of the face, expressed in font units. For font formats not having this information, it is set to &lsquo;bbox.yMax&rsquo;. Only relevant for scalable formats.</p>
758</td></tr>
759<tr valign=top><td><b>descender</b></td><td>
760<p>The typographic descender of the face, expressed in font units. For font formats not having t…

Large files files are truncated, but you can click here to view the full file