add SDL2_ttf support
[platform/upstream/SDL.git] / extension / SDL2_ttf-2.0.14 / external / freetype-2.4.12 / docs / reference / ft2-basic_types.html
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.12 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.12 API Reference</h1></center>
39
40 <center><h1>
41 Basic Data Types
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_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><a href="#FT_Int64">FT_Int64</a></td></tr>
59 </table><br><br>
60
61 <table align=center width="87%"><tr><td>
62 <p>This section contains the basic data types defined by FreeType&nbsp;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>
70
71   <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span>  <b>FT_Byte</b>;
72
73 </pre></table><br>
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>
77 </td></tr></table>
78 <hr width="75%">
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>
82
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>
89
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>;
91
92 </pre></table><br>
93 <table align=center width="87%"><tr><td>
94 <p>A typedef for constant memory areas.</p>
95 </td></tr></table><br>
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_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>
108
109   <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">char</span>  <b>FT_Char</b>;
110
111 </pre></table><br>
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>
115 </td></tr></table>
116 <hr width="75%">
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>
120
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>
127
128   <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">int</span>  <b>FT_Int</b>;
129
130 </pre></table><br>
131 <table align=center width="87%"><tr><td>
132 <p>A typedef for the int type.</p>
133 </td></tr></table><br>
134 </td></tr></table>
135 <hr width="75%">
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>
139
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>
146
147   <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">int</span>  <b>FT_UInt</b>;
148
149 </pre></table><br>
150 <table align=center width="87%"><tr><td>
151 <p>A typedef for the unsigned int type.</p>
152 </td></tr></table><br>
153 </td></tr></table>
154 <hr width="75%">
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>
158
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>
165
166   <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span>  <b>FT_Int16</b>;
167
168 </pre></table><br>
169 <table align=center width="87%"><tr><td>
170 <p>A typedef for a 16bit signed integer type.</p>
171 </td></tr></table><br>
172 </td></tr></table>
173 <hr width="75%">
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>
177
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>
184
185   <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span>  <b>FT_UInt16</b>;
186
187 </pre></table><br>
188 <table align=center width="87%"><tr><td>
189 <p>A typedef for a 16bit unsigned integer type.</p>
190 </td></tr></table><br>
191 </td></tr></table>
192 <hr width="75%">
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>
196
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>
203
204   <span class="keyword">typedef</span> <span class="keyword">signed</span> XXX  <b>FT_Int32</b>;
205
206 </pre></table><br>
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>
210 </td></tr></table>
211 <hr width="75%">
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>
215
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>
222
223   <span class="keyword">typedef</span> <span class="keyword">unsigned</span> XXX  <b>FT_UInt32</b>;
224
225 </pre></table><br>
226 </td></tr></table>
227 <hr width="75%">
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>
231
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>
238
239   <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span>  <b>FT_Short</b>;
240
241 </pre></table><br>
242 <table align=center width="87%"><tr><td>
243 <p>A typedef for signed short.</p>
244 </td></tr></table><br>
245 </td></tr></table>
246 <hr width="75%">
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>
250
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>
257
258   <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span>  <b>FT_UShort</b>;
259
260 </pre></table><br>
261 <table align=center width="87%"><tr><td>
262 <p>A typedef for unsigned short.</p>
263 </td></tr></table><br>
264 </td></tr></table>
265 <hr width="75%">
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>
269
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>
276
277   <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span>  <b>FT_Long</b>;
278
279 </pre></table><br>
280 <table align=center width="87%"><tr><td>
281 <p>A typedef for signed long.</p>
282 </td></tr></table><br>
283 </td></tr></table>
284 <hr width="75%">
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>
288
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>
295
296   <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">long</span>  <b>FT_ULong</b>;
297
298 </pre></table><br>
299 <table align=center width="87%"><tr><td>
300 <p>A typedef for unsigned long.</p>
301 </td></tr></table><br>
302 </td></tr></table>
303 <hr width="75%">
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>
307
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>
314
315   <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span>  <b>FT_Bool</b>;
316
317 </pre></table><br>
318 <table align=center width="87%"><tr><td>
319 <p>A typedef of unsigned char, used for simple booleans. As usual, values 1 and&nbsp;0 represent true and false, respectively.</p>
320 </td></tr></table><br>
321 </td></tr></table>
322 <hr width="75%">
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>
326
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>
333
334   <span class="keyword">typedef</span> size_t  <b>FT_Offset</b>;
335
336 </pre></table><br>
337 <table align=center width="87%"><tr><td>
338 <p>This is equivalent to the ANSI&nbsp;C &lsquo;size_t&rsquo; 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>
340 </td></tr></table>
341 <hr width="75%">
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>
345
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>
352
353   <span class="keyword">typedef</span> ft_ptrdiff_t  <b>FT_PtrDist</b>;
354
355 </pre></table><br>
356 <table align=center width="87%"><tr><td>
357 <p>This is equivalent to the ANSI&nbsp;C &lsquo;ptrdiff_t&rsquo; type, i.e., the largest <i>signed</i> integer type used to express the distance between two pointers.</p>
358 </td></tr></table><br>
359 </td></tr></table>
360 <hr width="75%">
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>
364
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>
371
372   <span class="keyword">typedef</span> <span class="keyword">char</span>  <b>FT_String</b>;
373
374 </pre></table><br>
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>
378 </td></tr></table>
379 <hr width="75%">
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>
383
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>
390
391   <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>  <b>FT_Tag</b>;
392
393 </pre></table><br>
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>
397 </td></tr></table>
398 <hr width="75%">
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>
402
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>
409
410   <span class="keyword">typedef</span> <span class="keyword">int</span>  <b>FT_Error</b>;
411
412 </pre></table><br>
413 <table align=center width="87%"><tr><td>
414 <p>The FreeType error code type. A value of&nbsp;0 is always interpreted as a successful operation.</p>
415 </td></tr></table><br>
416 </td></tr></table>
417 <hr width="75%">
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>
421
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>
428
429   <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span>  <b>FT_Fixed</b>;
430
431 </pre></table><br>
432 <table align=center width="87%"><tr><td>
433 <p>This type is used to store 16.16 fixed-point values, like scaling values or matrix coefficients.</p>
434 </td></tr></table><br>
435 </td></tr></table>
436 <hr width="75%">
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>
440
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>
447
448   <span class="keyword">typedef</span> <span class="keyword">void</span>*  <b>FT_Pointer</b>;
449
450 </pre></table><br>
451 <table align=center width="87%"><tr><td>
452 <p>A simple typedef for a typeless pointer.</p>
453 </td></tr></table><br>
454 </td></tr></table>
455 <hr width="75%">
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>
459
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>
466
467   <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span>  <b>FT_Pos</b>;
468
469 </pre></table><br>
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-point pixel coordinates.</p>
472 </td></tr></table><br>
473 </td></tr></table>
474 <hr width="75%">
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>
478
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>
485
486   <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Vector_
487   {
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;
490
491   } <b>FT_Vector</b>;
492
493 </pre></table><br>
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>
498 <p></p>
499 <table cellpadding=3 border=0>
500 <tr valign=top><td><b>x</b></td><td>
501 <p>The horizontal coordinate.</p>
502 </td></tr>
503 <tr valign=top><td><b>y</b></td><td>
504 <p>The vertical coordinate.</p>
505 </td></tr>
506 </table>
507 </td></tr></table>
508 </td></tr></table>
509 <hr width="75%">
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>
513
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>
520
521   <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_BBox_
522   {
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;
525
526   } <b>FT_BBox</b>;
527
528 </pre></table><br>
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>
533 <p></p>
534 <table cellpadding=3 border=0>
535 <tr valign=top><td><b>xMin</b></td><td>
536 <p>The horizontal minimum (left-most).</p>
537 </td></tr>
538 <tr valign=top><td><b>yMin</b></td><td>
539 <p>The vertical minimum (bottom-most).</p>
540 </td></tr>
541 <tr valign=top><td><b>xMax</b></td><td>
542 <p>The horizontal maximum (right-most).</p>
543 </td></tr>
544 <tr valign=top><td><b>yMax</b></td><td>
545 <p>The vertical maximum (top-most).</p>
546 </td></tr>
547 </table>
548 </td></tr></table>
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 &lsquo;yMin&rsquo; is negative, this value gives the glyph's descender. Otherwise, the glyph doesn't descend below the baseline. Similarly, if &lsquo;ymax&rsquo; is positive, this value gives the glyph's ascender.</p>
552 <p>&lsquo;xMin&rsquo; gives the horizontal distance from the glyph's origin to the left edge of the glyph's bounding box. If &lsquo;xMin&rsquo; is negative, the glyph extends to the left of the origin.</p>
553 </td></tr></table>
554 </td></tr></table>
555 <hr width="75%">
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>
559
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>
566
567   <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Matrix_
568   {
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;
571
572   } <b>FT_Matrix</b>;
573
574 </pre></table><br>
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-point format. The computation performed is:</p>
577 <pre class="colored">
578    x' = x*xx + y*xy                                             
579    y' = x*yx + y*yy                                             
580 </pre>
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>
583 <p></p>
584 <table cellpadding=3 border=0>
585 <tr valign=top><td><b>xx</b></td><td>
586 <p>Matrix coefficient.</p>
587 </td></tr>
588 <tr valign=top><td><b>xy</b></td><td>
589 <p>Matrix coefficient.</p>
590 </td></tr>
591 <tr valign=top><td><b>yx</b></td><td>
592 <p>Matrix coefficient.</p>
593 </td></tr>
594 <tr valign=top><td><b>yy</b></td><td>
595 <p>Matrix coefficient.</p>
596 </td></tr>
597 </table>
598 </td></tr></table>
599 </td></tr></table>
600 <hr width="75%">
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>
604
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>
611
612   <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span>  <b>FT_FWord</b>;   /* distance in FUnits */
613
614 </pre></table><br>
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>
618 </td></tr></table>
619 <hr width="75%">
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>
623
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>
630
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 */
632
633 </pre></table><br>
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>
637 </td></tr></table>
638 <hr width="75%">
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>
642
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>
649
650   <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span>  <b>FT_F2Dot14</b>;
651
652 </pre></table><br>
653 <table align=center width="87%"><tr><td>
654 <p>A signed 2.14 fixed-point type used for unit vectors.</p>
655 </td></tr></table><br>
656 </td></tr></table>
657 <hr width="75%">
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>
661
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>
668
669   <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_UnitVector_
670   {
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;
673
674   } <b>FT_UnitVector</b>;
675
676 </pre></table><br>
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>
681 <p></p>
682 <table cellpadding=3 border=0>
683 <tr valign=top><td><b>x</b></td><td>
684 <p>Horizontal coordinate.</p>
685 </td></tr>
686 <tr valign=top><td><b>y</b></td><td>
687 <p>Vertical coordinate.</p>
688 </td></tr>
689 </table>
690 </td></tr></table>
691 </td></tr></table>
692 <hr width="75%">
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>
696
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>
703
704   <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span>  <b>FT_F26Dot6</b>;
705
706 </pre></table><br>
707 <table align=center width="87%"><tr><td>
708 <p>A signed 26.6 fixed-point type used for vectorial pixel coordinates.</p>
709 </td></tr></table><br>
710 </td></tr></table>
711 <hr width="75%">
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>
715
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>
722
723   <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Pixel_Mode_
724   {
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>,
732
733     FT_PIXEL_MODE_MAX      /* do not remove */
734
735   } <b>FT_Pixel_Mode</b>;
736
737 </pre></table><br>
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>
742 <p></p>
743 <table cellpadding=3 border=0>
744 <tr valign=top><td><b>FT_PIXEL_MODE_NONE</b></td><td>
745 <p>Value&nbsp;0 is reserved.</p>
746 </td></tr>
747 <tr valign=top><td><b>FT_PIXEL_MODE_MONO</b></td><td>
748 <p>A monochrome bitmap, using 1&nbsp;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>
749 </td></tr>
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 &lsquo;gray&rsquo; levels is stored in the &lsquo;num_grays&rsquo; field of the <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> structure (it generally is 256).</p>
752 </td></tr>
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>
755 </td></tr>
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>
758 </td></tr>
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>
761 </td></tr>
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>
764 </td></tr>
765 </table>
766 </td></tr></table>
767 </td></tr></table>
768 <hr width="75%">
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>
772
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>
779
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>
785
786 </pre></table><br>
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>
791 <p></p>
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>
795 </td></tr>
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>
798 </td></tr>
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>
801 </td></tr>
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>
804 </td></tr>
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>
807 </td></tr>
808 </table>
809 </td></tr></table>
810 </td></tr></table>
811 <hr width="75%">
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>
815
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>
822
823   <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Palette_Mode_
824   {
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>,
827
828     ft_palette_mode_max   /* do not remove */
829
830   } <b>FT_Palette_Mode</b>;
831
832 </pre></table><br>
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>
838 <p></p>
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>
842 </td></tr>
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>
845 </td></tr>
846 </table>
847 </td></tr></table>
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>
850 </td></tr></table>
851 </td></tr></table>
852 <hr width="75%">
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>
856
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>
863
864   <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Bitmap_
865   {
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;
874
875   } <b>FT_Bitmap</b>;
876
877 </pre></table><br>
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 &lsquo;pixel_mode&rsquo; 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>
882 <p></p>
883 <table cellpadding=3 border=0>
884 <tr valign=top><td><b>rows</b></td><td>
885 <p>The number of bitmap rows.</p>
886 </td></tr>
887 <tr valign=top><td><b>width</b></td><td>
888 <p>The number of pixels in bitmap row.</p>
889 </td></tr>
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 &lsquo;down&rsquo; flow, and negative when it has an &lsquo;up&rsquo; 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 &lsquo;padding&rsquo; 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, &lsquo;pitch&rsquo; 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 &lsquo;example2.cpp&rsquo; in the tutorial for a demonstration.</p>
895 </td></tr>
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>
898 </td></tr>
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>
901 </td></tr>
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>
904 </td></tr>
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>
907 </td></tr>
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>
910 </td></tr>
911 </table>
912 </td></tr></table>
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 &lsquo;colorful&rsquo; options.</p>
915 </td></tr></table>
916 </td></tr></table>
917 <hr width="75%">
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>
921
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>
928
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 &lt;&lt; 24 ) | \
932                     ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x2 &lt;&lt; 16 ) | \
933                     ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x3 &lt;&lt; 8  ) | \
934                       (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x4         )
935 #endif /* <b>FT_IMAGE_TAG</b> */
936
937 </pre></table><br>
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         
945 </pre>
946 <p>to get a simple enumeration without assigning special numbers.</p>
947 </td></tr></table>
948 </td></tr></table>
949 <hr width="75%">
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>
953
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>
960
961   <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Glyph_Format_
962   {
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 ),
964
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' )
969
970   } <b>FT_Glyph_Format</b>;
971
972 </pre></table><br>
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>
977 <p></p>
978 <table cellpadding=3 border=0>
979 <tr valign=top><td><b>FT_GLYPH_FORMAT_NONE</b></td><td>
980 <p>The value&nbsp;0 is reserved.</p>
981 </td></tr>
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>
985 </td></tr>
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 &lsquo;bitmap&rsquo; field of the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure to read it.</p>
988 </td></tr>
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 &lsquo;outline&rsquo; field of the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure to read it.</p>
992 </td></tr>
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&nbsp;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>
996 </td></tr>
997 </table>
998 </td></tr></table>
999 </td></tr></table>
1000 <hr width="75%">
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>
1004
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>
1011
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>
1017
1018 </pre></table><br>
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>
1023 <p></p>
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>
1027 </td></tr>
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>
1031 </td></tr>
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>
1034 </td></tr>
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>
1038 </td></tr>
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>
1042 </td></tr>
1043 </table>
1044 </td></tr></table>
1045 </td></tr></table>
1046 <hr width="75%">
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>
1050
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>
1057
1058   <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Data_
1059   {
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;
1062
1063   } <b>FT_Data</b>;
1064
1065 </pre></table><br>
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>
1070 <p></p>
1071 <table cellpadding=3 border=0>
1072 <tr valign=top><td><b>pointer</b></td><td>
1073 <p>The data.</p>
1074 </td></tr>
1075 <tr valign=top><td><b>length</b></td><td>
1076 <p>The length of the data in bytes.</p>
1077 </td></tr>
1078 </table>
1079 </td></tr></table>
1080 </td></tr></table>
1081 <hr width="75%">
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>
1085
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>
1092
1093   <span class="keyword">typedef</span> <span class="keyword">void</span>  (*<b>FT_Generic_Finalizer</b>)(<span class="keyword">void</span>*  object);
1094
1095 </pre></table><br>
1096 <table align=center width="87%"><tr><td>
1097 <p>Describe a function used to destroy the &lsquo;client&rsquo; 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 &lsquo;generic&rsquo; field.</p>
1101 </td></tr></table>
1102 </td></tr></table>
1103 <hr width="75%">
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>
1107
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>
1114
1115   <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Generic_
1116   {
1117     <span class="keyword">void</span>*                 data;
1118     <a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a>  finalizer;
1119
1120   } <b>FT_Generic</b>;
1121
1122 </pre></table><br>
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 &lsquo;generic&rsquo; 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 &lsquo;finalizer&rsquo; 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 &lsquo;finalizer&rsquo; 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>
1129 <p></p>
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>
1133 </td></tr>
1134 <tr valign=top><td><b>finalizer</b></td><td>
1135 <p>A pointer to a &lsquo;generic finalizer&rsquo; function, which will be called when the object is destroyed. If this field is set to NULL, no code will be called.</p>
1136 </td></tr>
1137 </table>
1138 </td></tr></table>
1139 </td></tr></table>
1140 <hr width="75%">
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>
1144
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>
1151
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 &lt;&lt; 24 ) |     \
1155             ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x2 &lt;&lt; 16 ) |     \
1156             ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x3 &lt;&lt;  8 ) |     \
1157               (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x4         )
1158
1159 </pre></table><br>
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>
1165 </td></tr></table>
1166 </td></tr></table>
1167 <hr width="75%">
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>
1171
1172 <table align=center width="75%"><tr><td>
1173 <h4><a name="FT_Int64">FT_Int64</a></h4>
1174 <table align=center width="87%"><tr><td>
1175 Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
1176 </td></tr></table><br>
1177 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
1178
1179   <span class="keyword">typedef</span> <span class="keyword">signed</span> XXX  <b>FT_Int64</b>;
1180
1181 </pre></table><br>
1182 </td></tr></table>
1183 <hr width="75%">
1184 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
1185 <td width="100%"></td>
1186 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
1187
1188 </body>
1189 </html>