1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6 <title>FreeType-2.4.9 API Reference</title>
7 <style type="text/css">
8 body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
10 background: #FFFFFF; }
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;
19 a:link { color: #0000EF; }
20 a:visited { color: #51188E; }
21 a:hover { color: #FF0000; }
23 span.keyword { font-family: monospace;
28 pre.colored { color: blue; }
30 ul.empty { list-style-type: none; }
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.9 API Reference</h1></center>
44 <table align=center cellspacing=5 cellpadding=0 border=0>
45 <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>
46 <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>
47 <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>
48 <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>
49 <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>
50 <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>
51 <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>
52 <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>
53 <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>
54 <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>
55 <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>
56 <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>
57 <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>
58 <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>
61 <table align=center width="87%"><tr><td>
62 <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>
63 </td></tr></table><br>
64 <table align=center width="75%"><tr><td>
65 <h4><a name="FT_Byte">FT_Byte</a></h4>
66 <table align=center width="87%"><tr><td>
67 Defined in FT_TYPES_H (freetype/fttypes.h).
68 </td></tr></table><br>
69 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
71 <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <b>FT_Byte</b>;
74 <table align=center width="87%"><tr><td>
75 <p>A simple typedef for the <i>unsigned</i> char type.</p>
76 </td></tr></table><br>
79 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
80 <td width="100%"></td>
81 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
83 <table align=center width="75%"><tr><td>
84 <h4><a name="FT_Bytes">FT_Bytes</a></h4>
85 <table align=center width="87%"><tr><td>
86 Defined in FT_TYPES_H (freetype/fttypes.h).
87 </td></tr></table><br>
88 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
90 <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>;
93 <table align=center width="87%"><tr><td>
94 <p>A typedef for constant memory areas.</p>
95 </td></tr></table><br>
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>
102 <table align=center width="75%"><tr><td>
103 <h4><a name="FT_Char">FT_Char</a></h4>
104 <table align=center width="87%"><tr><td>
105 Defined in FT_TYPES_H (freetype/fttypes.h).
106 </td></tr></table><br>
107 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
109 <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">char</span> <b>FT_Char</b>;
112 <table align=center width="87%"><tr><td>
113 <p>A simple typedef for the <i>signed</i> char type.</p>
114 </td></tr></table><br>
117 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
118 <td width="100%"></td>
119 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
121 <table align=center width="75%"><tr><td>
122 <h4><a name="FT_Int">FT_Int</a></h4>
123 <table align=center width="87%"><tr><td>
124 Defined in FT_TYPES_H (freetype/fttypes.h).
125 </td></tr></table><br>
126 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
128 <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">int</span> <b>FT_Int</b>;
131 <table align=center width="87%"><tr><td>
132 <p>A typedef for the int type.</p>
133 </td></tr></table><br>
136 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
137 <td width="100%"></td>
138 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
140 <table align=center width="75%"><tr><td>
141 <h4><a name="FT_UInt">FT_UInt</a></h4>
142 <table align=center width="87%"><tr><td>
143 Defined in FT_TYPES_H (freetype/fttypes.h).
144 </td></tr></table><br>
145 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
147 <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <b>FT_UInt</b>;
150 <table align=center width="87%"><tr><td>
151 <p>A typedef for the unsigned int type.</p>
152 </td></tr></table><br>
155 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
156 <td width="100%"></td>
157 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
159 <table align=center width="75%"><tr><td>
160 <h4><a name="FT_Int16">FT_Int16</a></h4>
161 <table align=center width="87%"><tr><td>
162 Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
163 </td></tr></table><br>
164 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
166 <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_Int16</b>;
169 <table align=center width="87%"><tr><td>
170 <p>A typedef for a 16bit signed integer type.</p>
171 </td></tr></table><br>
174 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
175 <td width="100%"></td>
176 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
178 <table align=center width="75%"><tr><td>
179 <h4><a name="FT_UInt16">FT_UInt16</a></h4>
180 <table align=center width="87%"><tr><td>
181 Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
182 </td></tr></table><br>
183 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
185 <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UInt16</b>;
188 <table align=center width="87%"><tr><td>
189 <p>A typedef for a 16bit unsigned integer type.</p>
190 </td></tr></table><br>
193 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
194 <td width="100%"></td>
195 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
197 <table align=center width="75%"><tr><td>
198 <h4><a name="FT_Int32">FT_Int32</a></h4>
199 <table align=center width="87%"><tr><td>
200 Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
201 </td></tr></table><br>
202 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
204 <span class="keyword">typedef</span> <span class="keyword">signed</span> XXX <b>FT_Int32</b>;
207 <table align=center width="87%"><tr><td>
208 <p>A typedef for a 32bit signed integer type. The size depends on the configuration.</p>
209 </td></tr></table><br>
212 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
213 <td width="100%"></td>
214 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
216 <table align=center width="75%"><tr><td>
217 <h4><a name="FT_UInt32">FT_UInt32</a></h4>
218 <table align=center width="87%"><tr><td>
219 Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
220 </td></tr></table><br>
221 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
223 <span class="keyword">typedef</span> <span class="keyword">unsigned</span> XXX <b>FT_UInt32</b>;
228 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
229 <td width="100%"></td>
230 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
232 <table align=center width="75%"><tr><td>
233 <h4><a name="FT_Short">FT_Short</a></h4>
234 <table align=center width="87%"><tr><td>
235 Defined in FT_TYPES_H (freetype/fttypes.h).
236 </td></tr></table><br>
237 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
239 <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_Short</b>;
242 <table align=center width="87%"><tr><td>
243 <p>A typedef for signed short.</p>
244 </td></tr></table><br>
247 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
248 <td width="100%"></td>
249 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
251 <table align=center width="75%"><tr><td>
252 <h4><a name="FT_UShort">FT_UShort</a></h4>
253 <table align=center width="87%"><tr><td>
254 Defined in FT_TYPES_H (freetype/fttypes.h).
255 </td></tr></table><br>
256 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
258 <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UShort</b>;
261 <table align=center width="87%"><tr><td>
262 <p>A typedef for unsigned short.</p>
263 </td></tr></table><br>
266 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
267 <td width="100%"></td>
268 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
270 <table align=center width="75%"><tr><td>
271 <h4><a name="FT_Long">FT_Long</a></h4>
272 <table align=center width="87%"><tr><td>
273 Defined in FT_TYPES_H (freetype/fttypes.h).
274 </td></tr></table><br>
275 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
277 <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Long</b>;
280 <table align=center width="87%"><tr><td>
281 <p>A typedef for signed long.</p>
282 </td></tr></table><br>
285 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
286 <td width="100%"></td>
287 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
289 <table align=center width="75%"><tr><td>
290 <h4><a name="FT_ULong">FT_ULong</a></h4>
291 <table align=center width="87%"><tr><td>
292 Defined in FT_TYPES_H (freetype/fttypes.h).
293 </td></tr></table><br>
294 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
296 <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <b>FT_ULong</b>;
299 <table align=center width="87%"><tr><td>
300 <p>A typedef for unsigned long.</p>
301 </td></tr></table><br>
304 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
305 <td width="100%"></td>
306 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
308 <table align=center width="75%"><tr><td>
309 <h4><a name="FT_Bool">FT_Bool</a></h4>
310 <table align=center width="87%"><tr><td>
311 Defined in FT_TYPES_H (freetype/fttypes.h).
312 </td></tr></table><br>
313 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
315 <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <b>FT_Bool</b>;
318 <table align=center width="87%"><tr><td>
319 <p>A typedef of unsigned char, used for simple booleans. As usual, values 1 and 0 represent true and false, respectively.</p>
320 </td></tr></table><br>
323 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
324 <td width="100%"></td>
325 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
327 <table align=center width="75%"><tr><td>
328 <h4><a name="FT_Offset">FT_Offset</a></h4>
329 <table align=center width="87%"><tr><td>
330 Defined in FT_TYPES_H (freetype/fttypes.h).
331 </td></tr></table><br>
332 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
334 <span class="keyword">typedef</span> size_t <b>FT_Offset</b>;
337 <table align=center width="87%"><tr><td>
338 <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>
339 </td></tr></table><br>
342 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
343 <td width="100%"></td>
344 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
346 <table align=center width="75%"><tr><td>
347 <h4><a name="FT_PtrDist">FT_PtrDist</a></h4>
348 <table align=center width="87%"><tr><td>
349 Defined in FT_TYPES_H (freetype/fttypes.h).
350 </td></tr></table><br>
351 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
353 <span class="keyword">typedef</span> ft_ptrdiff_t <b>FT_PtrDist</b>;
356 <table align=center width="87%"><tr><td>
357 <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>
358 </td></tr></table><br>
361 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
362 <td width="100%"></td>
363 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
365 <table align=center width="75%"><tr><td>
366 <h4><a name="FT_String">FT_String</a></h4>
367 <table align=center width="87%"><tr><td>
368 Defined in FT_TYPES_H (freetype/fttypes.h).
369 </td></tr></table><br>
370 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
372 <span class="keyword">typedef</span> <span class="keyword">char</span> <b>FT_String</b>;
375 <table align=center width="87%"><tr><td>
376 <p>A simple typedef for the char type, usually used for strings.</p>
377 </td></tr></table><br>
380 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
381 <td width="100%"></td>
382 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
384 <table align=center width="75%"><tr><td>
385 <h4><a name="FT_Tag">FT_Tag</a></h4>
386 <table align=center width="87%"><tr><td>
387 Defined in FT_TYPES_H (freetype/fttypes.h).
388 </td></tr></table><br>
389 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
391 <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a> <b>FT_Tag</b>;
394 <table align=center width="87%"><tr><td>
395 <p>A typedef for 32-bit tags (as used in the SFNT format).</p>
396 </td></tr></table><br>
399 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
400 <td width="100%"></td>
401 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
403 <table align=center width="75%"><tr><td>
404 <h4><a name="FT_Error">FT_Error</a></h4>
405 <table align=center width="87%"><tr><td>
406 Defined in FT_TYPES_H (freetype/fttypes.h).
407 </td></tr></table><br>
408 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
410 <span class="keyword">typedef</span> <span class="keyword">int</span> <b>FT_Error</b>;
413 <table align=center width="87%"><tr><td>
414 <p>The FreeType error code type. A value of 0 is always interpreted as a successful operation.</p>
415 </td></tr></table><br>
418 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
419 <td width="100%"></td>
420 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
422 <table align=center width="75%"><tr><td>
423 <h4><a name="FT_Fixed">FT_Fixed</a></h4>
424 <table align=center width="87%"><tr><td>
425 Defined in FT_TYPES_H (freetype/fttypes.h).
426 </td></tr></table><br>
427 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
429 <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Fixed</b>;
432 <table align=center width="87%"><tr><td>
433 <p>This type is used to store 16.16 fixed float values, like scaling values or matrix coefficients.</p>
434 </td></tr></table><br>
437 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
438 <td width="100%"></td>
439 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
441 <table align=center width="75%"><tr><td>
442 <h4><a name="FT_Pointer">FT_Pointer</a></h4>
443 <table align=center width="87%"><tr><td>
444 Defined in FT_TYPES_H (freetype/fttypes.h).
445 </td></tr></table><br>
446 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
448 <span class="keyword">typedef</span> <span class="keyword">void</span>* <b>FT_Pointer</b>;
451 <table align=center width="87%"><tr><td>
452 <p>A simple typedef for a typeless pointer.</p>
453 </td></tr></table><br>
456 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
457 <td width="100%"></td>
458 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
460 <table align=center width="75%"><tr><td>
461 <h4><a name="FT_Pos">FT_Pos</a></h4>
462 <table align=center width="87%"><tr><td>
463 Defined in FT_IMAGE_H (freetype/ftimage.h).
464 </td></tr></table><br>
465 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
467 <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Pos</b>;
470 <table align=center width="87%"><tr><td>
471 <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>
472 </td></tr></table><br>
475 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
476 <td width="100%"></td>
477 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
479 <table align=center width="75%"><tr><td>
480 <h4><a name="FT_Vector">FT_Vector</a></h4>
481 <table align=center width="87%"><tr><td>
482 Defined in FT_IMAGE_H (freetype/ftimage.h).
483 </td></tr></table><br>
484 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
486 <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Vector_
488 <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> x;
489 <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> y;
494 <table align=center width="87%"><tr><td>
495 <p>A simple structure used to store a 2D vector; coordinates are of the FT_Pos type.</p>
496 </td></tr></table><br>
497 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
499 <table cellpadding=3 border=0>
500 <tr valign=top><td><b>x</b></td><td>
501 <p>The horizontal coordinate.</p>
503 <tr valign=top><td><b>y</b></td><td>
504 <p>The vertical coordinate.</p>
510 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
511 <td width="100%"></td>
512 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
514 <table align=center width="75%"><tr><td>
515 <h4><a name="FT_BBox">FT_BBox</a></h4>
516 <table align=center width="87%"><tr><td>
517 Defined in FT_IMAGE_H (freetype/ftimage.h).
518 </td></tr></table><br>
519 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
521 <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BBox_
523 <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xMin, yMin;
524 <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xMax, yMax;
529 <table align=center width="87%"><tr><td>
530 <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>
531 </td></tr></table><br>
532 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
534 <table cellpadding=3 border=0>
535 <tr valign=top><td><b>xMin</b></td><td>
536 <p>The horizontal minimum (left-most).</p>
538 <tr valign=top><td><b>yMin</b></td><td>
539 <p>The vertical minimum (bottom-most).</p>
541 <tr valign=top><td><b>xMax</b></td><td>
542 <p>The horizontal maximum (right-most).</p>
544 <tr valign=top><td><b>yMax</b></td><td>
545 <p>The vertical maximum (top-most).</p>
549 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
550 <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>
551 <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>
552 <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>
556 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
557 <td width="100%"></td>
558 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
560 <table align=center width="75%"><tr><td>
561 <h4><a name="FT_Matrix">FT_Matrix</a></h4>
562 <table align=center width="87%"><tr><td>
563 Defined in FT_TYPES_H (freetype/fttypes.h).
564 </td></tr></table><br>
565 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
567 <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Matrix_
569 <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> xx, xy;
570 <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> yx, yy;
575 <table align=center width="87%"><tr><td>
576 <p>A simple structure used to store a 2x2 matrix. Coefficients are in 16.16 fixed float format. The computation performed is:</p>
577 <pre class="colored">
581 </td></tr></table><br>
582 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
584 <table cellpadding=3 border=0>
585 <tr valign=top><td><b>xx</b></td><td>
586 <p>Matrix coefficient.</p>
588 <tr valign=top><td><b>xy</b></td><td>
589 <p>Matrix coefficient.</p>
591 <tr valign=top><td><b>yx</b></td><td>
592 <p>Matrix coefficient.</p>
594 <tr valign=top><td><b>yy</b></td><td>
595 <p>Matrix coefficient.</p>
601 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
602 <td width="100%"></td>
603 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
605 <table align=center width="75%"><tr><td>
606 <h4><a name="FT_FWord">FT_FWord</a></h4>
607 <table align=center width="87%"><tr><td>
608 Defined in FT_TYPES_H (freetype/fttypes.h).
609 </td></tr></table><br>
610 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
612 <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_FWord</b>; /* distance in FUnits */
615 <table align=center width="87%"><tr><td>
616 <p>A signed 16-bit integer used to store a distance in original font units.</p>
617 </td></tr></table><br>
620 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
621 <td width="100%"></td>
622 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
624 <table align=center width="75%"><tr><td>
625 <h4><a name="FT_UFWord">FT_UFWord</a></h4>
626 <table align=center width="87%"><tr><td>
627 Defined in FT_TYPES_H (freetype/fttypes.h).
628 </td></tr></table><br>
629 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
631 <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 */
634 <table align=center width="87%"><tr><td>
635 <p>An unsigned 16-bit integer used to store a distance in original font units.</p>
636 </td></tr></table><br>
639 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
640 <td width="100%"></td>
641 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
643 <table align=center width="75%"><tr><td>
644 <h4><a name="FT_F2Dot14">FT_F2Dot14</a></h4>
645 <table align=center width="87%"><tr><td>
646 Defined in FT_TYPES_H (freetype/fttypes.h).
647 </td></tr></table><br>
648 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
650 <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_F2Dot14</b>;
653 <table align=center width="87%"><tr><td>
654 <p>A signed 2.14 fixed float type used for unit vectors.</p>
655 </td></tr></table><br>
658 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
659 <td width="100%"></td>
660 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
662 <table align=center width="75%"><tr><td>
663 <h4><a name="FT_UnitVector">FT_UnitVector</a></h4>
664 <table align=center width="87%"><tr><td>
665 Defined in FT_TYPES_H (freetype/fttypes.h).
666 </td></tr></table><br>
667 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
669 <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_UnitVector_
671 <a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a> x;
672 <a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a> y;
674 } <b>FT_UnitVector</b>;
677 <table align=center width="87%"><tr><td>
678 <p>A simple structure used to store a 2D vector unit vector. Uses FT_F2Dot14 types.</p>
679 </td></tr></table><br>
680 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
682 <table cellpadding=3 border=0>
683 <tr valign=top><td><b>x</b></td><td>
684 <p>Horizontal coordinate.</p>
686 <tr valign=top><td><b>y</b></td><td>
687 <p>Vertical coordinate.</p>
693 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
694 <td width="100%"></td>
695 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
697 <table align=center width="75%"><tr><td>
698 <h4><a name="FT_F26Dot6">FT_F26Dot6</a></h4>
699 <table align=center width="87%"><tr><td>
700 Defined in FT_TYPES_H (freetype/fttypes.h).
701 </td></tr></table><br>
702 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
704 <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_F26Dot6</b>;
707 <table align=center width="87%"><tr><td>
708 <p>A signed 26.6 fixed float type used for vectorial pixel coordinates.</p>
709 </td></tr></table><br>
712 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
713 <td width="100%"></td>
714 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
716 <table align=center width="75%"><tr><td>
717 <h4><a name="FT_Pixel_Mode">FT_Pixel_Mode</a></h4>
718 <table align=center width="87%"><tr><td>
719 Defined in FT_IMAGE_H (freetype/ftimage.h).
720 </td></tr></table><br>
721 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
723 <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Pixel_Mode_
725 <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a> = 0,
726 <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>,
727 <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a>,
728 <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a>,
729 <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a>,
730 <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a>,
731 <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a>,
733 FT_PIXEL_MODE_MAX /* do not remove */
735 } <b>FT_Pixel_Mode</b>;
738 <table align=center width="87%"><tr><td>
739 <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>
740 </td></tr></table><br>
741 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
743 <table cellpadding=3 border=0>
744 <tr valign=top><td><b>FT_PIXEL_MODE_NONE</b></td><td>
745 <p>Value 0 is reserved.</p>
747 <tr valign=top><td><b>FT_PIXEL_MODE_MONO</b></td><td>
748 <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>
750 <tr valign=top><td><b>FT_PIXEL_MODE_GRAY</b></td><td>
751 <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>
753 <tr valign=top><td><b>FT_PIXEL_MODE_GRAY2</b></td><td>
754 <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>
756 <tr valign=top><td><b>FT_PIXEL_MODE_GRAY4</b></td><td>
757 <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>
759 <tr valign=top><td><b>FT_PIXEL_MODE_LCD</b></td><td>
760 <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>
762 <tr valign=top><td><b>FT_PIXEL_MODE_LCD_V</b></td><td>
763 <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>
769 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
770 <td width="100%"></td>
771 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
773 <table align=center width="75%"><tr><td>
774 <h4><a name="ft_pixel_mode_xxx">ft_pixel_mode_xxx</a></h4>
775 <table align=center width="87%"><tr><td>
776 Defined in FT_IMAGE_H (freetype/ftimage.h).
777 </td></tr></table><br>
778 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
780 #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>
781 #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>
782 #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>
783 #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>
784 #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>
787 <table align=center width="87%"><tr><td>
788 <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>
789 </td></tr></table><br>
790 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
792 <table cellpadding=3 border=0>
793 <tr valign=top><td><b>ft_pixel_mode_none</b></td><td>
794 <p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a>.</p>
796 <tr valign=top><td><b>ft_pixel_mode_mono</b></td><td>
797 <p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>.</p>
799 <tr valign=top><td><b>ft_pixel_mode_grays</b></td><td>
800 <p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a>.</p>
802 <tr valign=top><td><b>ft_pixel_mode_pal2</b></td><td>
803 <p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a>.</p>
805 <tr valign=top><td><b>ft_pixel_mode_pal4</b></td><td>
806 <p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a>.</p>
812 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
813 <td width="100%"></td>
814 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
816 <table align=center width="75%"><tr><td>
817 <h4><a name="FT_Palette_Mode">FT_Palette_Mode</a></h4>
818 <table align=center width="87%"><tr><td>
819 Defined in FT_IMAGE_H (freetype/ftimage.h).
820 </td></tr></table><br>
821 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
823 <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Palette_Mode_
825 <a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgb</a> = 0,
826 <a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgba</a>,
828 ft_palette_mode_max /* do not remove */
830 } <b>FT_Palette_Mode</b>;
833 <table align=center width="87%"><tr><td>
834 <p>THIS TYPE IS DEPRECATED. DO NOT USE IT!</p>
835 <p>An enumeration type to describe the format of a bitmap palette, used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8.</p>
836 </td></tr></table><br>
837 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
839 <table cellpadding=3 border=0>
840 <tr valign=top><td><b>ft_palette_mode_rgb</b></td><td>
841 <p>The palette is an array of 3-byte RGB records.</p>
843 <tr valign=top><td><b>ft_palette_mode_rgba</b></td><td>
844 <p>The palette is an array of 4-byte RGBA records.</p>
848 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
849 <p>As ft_pixel_mode_pal2, pal4 and pal8 are currently unused by FreeType, these types are not handled by the library itself.</p>
853 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
854 <td width="100%"></td>
855 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
857 <table align=center width="75%"><tr><td>
858 <h4><a name="FT_Bitmap">FT_Bitmap</a></h4>
859 <table align=center width="87%"><tr><td>
860 Defined in FT_IMAGE_H (freetype/ftimage.h).
861 </td></tr></table><br>
862 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
864 <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Bitmap_
866 <span class="keyword">int</span> rows;
867 <span class="keyword">int</span> width;
868 <span class="keyword">int</span> pitch;
869 <span class="keyword">unsigned</span> <span class="keyword">char</span>* buffer;
870 <span class="keyword">short</span> num_grays;
871 <span class="keyword">char</span> pixel_mode;
872 <span class="keyword">char</span> palette_mode;
873 <span class="keyword">void</span>* palette;
878 <table align=center width="87%"><tr><td>
879 <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>
880 </td></tr></table><br>
881 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
883 <table cellpadding=3 border=0>
884 <tr valign=top><td><b>rows</b></td><td>
885 <p>The number of bitmap rows.</p>
887 <tr valign=top><td><b>width</b></td><td>
888 <p>The number of pixels in bitmap row.</p>
890 <tr valign=top><td><b>pitch</b></td><td>
891 <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>
892 <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>
893 <p>For the B/W rasterizer, ‘pitch’ is always an even number.</p>
894 <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>
896 <tr valign=top><td><b>buffer</b></td><td>
897 <p>A typeless pointer to the bitmap buffer. This value should be aligned on 32-bit boundaries in most cases.</p>
899 <tr valign=top><td><b>num_grays</b></td><td>
900 <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>
902 <tr valign=top><td><b>pixel_mode</b></td><td>
903 <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>
905 <tr valign=top><td><b>palette_mode</b></td><td>
906 <p>This field is intended for paletted pixel modes; it indicates how the palette is stored. Not used currently.</p>
908 <tr valign=top><td><b>palette</b></td><td>
909 <p>A typeless pointer to the bitmap palette; this field is intended for paletted pixel modes. Not used currently.</p>
913 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
914 <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>
918 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
919 <td width="100%"></td>
920 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
922 <table align=center width="75%"><tr><td>
923 <h4><a name="FT_IMAGE_TAG">FT_IMAGE_TAG</a></h4>
924 <table align=center width="87%"><tr><td>
925 Defined in FT_IMAGE_H (freetype/ftimage.h).
926 </td></tr></table><br>
927 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
929 #ifndef <b>FT_IMAGE_TAG</b>
930 #define <b>FT_IMAGE_TAG</b>( value, _x1, _x2, _x3, _x4 ) \
931 value = ( ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x1 << 24 ) | \
932 ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x2 << 16 ) | \
933 ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x3 << 8 ) | \
934 (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x4 )
935 #endif /* <b>FT_IMAGE_TAG</b> */
938 <table align=center width="87%"><tr><td>
939 <p>This macro converts four-letter tags to an unsigned long type.</p>
940 </td></tr></table><br>
941 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
942 <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>
943 <pre class="colored">
944 #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) value
946 <p>to get a simple enumeration without assigning special numbers.</p>
950 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
951 <td width="100%"></td>
952 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
954 <table align=center width="75%"><tr><td>
955 <h4><a name="FT_Glyph_Format">FT_Glyph_Format</a></h4>
956 <table align=center width="87%"><tr><td>
957 Defined in FT_IMAGE_H (freetype/ftimage.h).
958 </td></tr></table><br>
959 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
961 <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Glyph_Format_
963 <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 ),
965 <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' ),
966 <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' ),
967 <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' ),
968 <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' )
970 } <b>FT_Glyph_Format</b>;
973 <table align=center width="87%"><tr><td>
974 <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>
975 </td></tr></table><br>
976 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
978 <table cellpadding=3 border=0>
979 <tr valign=top><td><b>FT_GLYPH_FORMAT_NONE</b></td><td>
980 <p>The value 0 is reserved.</p>
982 <tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_COMPOSITE</b></td></tr>
983 <tr valign=top><td></td><td>
984 <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>
986 <tr valign=top><td><b>FT_GLYPH_FORMAT_BITMAP</b></td><td>
987 <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>
989 <tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_OUTLINE</b></td></tr>
990 <tr valign=top><td></td><td>
991 <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>
993 <tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_PLOTTER</b></td></tr>
994 <tr valign=top><td></td><td>
995 <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>
1001 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
1002 <td width="100%"></td>
1003 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
1005 <table align=center width="75%"><tr><td>
1006 <h4><a name="ft_glyph_format_xxx">ft_glyph_format_xxx</a></h4>
1007 <table align=center width="87%"><tr><td>
1008 Defined in FT_IMAGE_H (freetype/ftimage.h).
1009 </td></tr></table><br>
1010 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
1012 #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>
1013 #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>
1014 #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>
1015 #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>
1016 #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>
1019 <table align=center width="87%"><tr><td>
1020 <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>
1021 </td></tr></table><br>
1022 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
1024 <table cellpadding=3 border=0>
1025 <tr valign=top><td><b>ft_glyph_format_none</b></td><td>
1026 <p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a>.</p>
1028 <tr valign=top><td colspan=0><b>ft_glyph_format_composite</b></td></tr>
1029 <tr valign=top><td></td><td>
1030 <p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>.</p>
1032 <tr valign=top><td><b>ft_glyph_format_bitmap</b></td><td>
1033 <p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>.</p>
1035 <tr valign=top><td colspan=0><b>ft_glyph_format_outline</b></td></tr>
1036 <tr valign=top><td></td><td>
1037 <p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>.</p>
1039 <tr valign=top><td colspan=0><b>ft_glyph_format_plotter</b></td></tr>
1040 <tr valign=top><td></td><td>
1041 <p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a>.</p>
1047 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
1048 <td width="100%"></td>
1049 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
1051 <table align=center width="75%"><tr><td>
1052 <h4><a name="FT_Data">FT_Data</a></h4>
1053 <table align=center width="87%"><tr><td>
1054 Defined in FT_TYPES_H (freetype/fttypes.h).
1055 </td></tr></table><br>
1056 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
1058 <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Data_
1060 <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* pointer;
1061 <a href="ft2-basic_types.html#FT_Int">FT_Int</a> length;
1066 <table align=center width="87%"><tr><td>
1067 <p>Read-only binary data represented as a pointer and a length.</p>
1068 </td></tr></table><br>
1069 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
1071 <table cellpadding=3 border=0>
1072 <tr valign=top><td><b>pointer</b></td><td>
1075 <tr valign=top><td><b>length</b></td><td>
1076 <p>The length of the data in bytes.</p>
1082 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
1083 <td width="100%"></td>
1084 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
1086 <table align=center width="75%"><tr><td>
1087 <h4><a name="FT_Generic_Finalizer">FT_Generic_Finalizer</a></h4>
1088 <table align=center width="87%"><tr><td>
1089 Defined in FT_TYPES_H (freetype/fttypes.h).
1090 </td></tr></table><br>
1091 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
1093 <span class="keyword">typedef</span> <span class="keyword">void</span> (*<b>FT_Generic_Finalizer</b>)(<span class="keyword">void</span>* object);
1096 <table align=center width="87%"><tr><td>
1097 <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>
1098 </td></tr></table><br>
1099 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
1100 <p>The address of the FreeType object which is under finalization. Its client data is accessed through its ‘generic’ field.</p>
1104 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
1105 <td width="100%"></td>
1106 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
1108 <table align=center width="75%"><tr><td>
1109 <h4><a name="FT_Generic">FT_Generic</a></h4>
1110 <table align=center width="87%"><tr><td>
1111 Defined in FT_TYPES_H (freetype/fttypes.h).
1112 </td></tr></table><br>
1113 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
1115 <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Generic_
1117 <span class="keyword">void</span>* data;
1118 <a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a> finalizer;
1120 } <b>FT_Generic</b>;
1123 <table align=center width="87%"><tr><td>
1124 <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>
1125 <p>Some FreeType object contains a ‘generic’ field, of type FT_Generic, which usage is left to client applications and font servers.</p>
1126 <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>
1127 </td></tr></table><br>
1128 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
1130 <table cellpadding=3 border=0>
1131 <tr valign=top><td><b>data</b></td><td>
1132 <p>A typeless pointer to any client-specified data. This field is completely ignored by the FreeType library.</p>
1134 <tr valign=top><td><b>finalizer</b></td><td>
1135 <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>
1141 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
1142 <td width="100%"></td>
1143 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
1145 <table align=center width="75%"><tr><td>
1146 <h4><a name="FT_MAKE_TAG">FT_MAKE_TAG</a></h4>
1147 <table align=center width="87%"><tr><td>
1148 Defined in FT_TYPES_H (freetype/fttypes.h).
1149 </td></tr></table><br>
1150 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
1152 #define <b>FT_MAKE_TAG</b>( _x1, _x2, _x3, _x4 ) \
1153 (<a href="ft2-basic_types.html#FT_Tag">FT_Tag</a>) \
1154 ( ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x1 << 24 ) | \
1155 ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x2 << 16 ) | \
1156 ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x3 << 8 ) | \
1157 (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x4 )
1160 <table align=center width="87%"><tr><td>
1161 <p>This macro converts four-letter tags which are used to label TrueType tables into an unsigned long to be used within FreeType.</p>
1162 </td></tr></table><br>
1163 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
1164 <p>The produced values <b>must</b> be 32-bit integers. Don't redefine this macro.</p>
1168 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
1169 <td width="100%"></td>
1170 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>