sync with master
[framework/graphics/freetype.git] / docs / reference / ft2-truetype_tables.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.9 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.9 API Reference</h1></center>
39
40 <center><h1>
41 TrueType Tables
42 </h1></center>
43 <h2>Synopsis</h2>
44 <table align=center cellspacing=5 cellpadding=0 border=0>
45 <tr><td></td><td><a href="#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td><td></td><td><a href="#TT_Postscript">TT_Postscript</a></td></tr>
46 <tr><td></td><td><a href="#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td><td></td><td><a href="#TT_PCLT">TT_PCLT</a></td></tr>
47 <tr><td></td><td><a href="#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td><td></td><td><a href="#TT_MaxProfile">TT_MaxProfile</a></td></tr>
48 <tr><td></td><td><a href="#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td><td></td><td><a href="#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td></tr>
49 <tr><td></td><td><a href="#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td><td></td><td><a href="#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td></tr>
50 <tr><td></td><td><a href="#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td><td></td><td><a href="#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td></tr>
51 <tr><td></td><td><a href="#TT_Header">TT_Header</a></td><td></td><td><a href="#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td></tr>
52 <tr><td></td><td><a href="#TT_HoriHeader">TT_HoriHeader</a></td><td></td><td><a href="#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td></tr>
53 <tr><td></td><td><a href="#TT_VertHeader">TT_VertHeader</a></td><td></td><td><a href="#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td></tr>
54 <tr><td></td><td><a href="#TT_OS2">TT_OS2</a></td><td></td><td><a href="#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td></tr>
55 </table><br><br>
56
57 <table align=center width="87%"><tr><td>
58 <p>This section contains the definition of TrueType-specific tables as well as some routines used to access and process them.</p>
59 </td></tr></table><br>
60 <table align=center width="75%"><tr><td>
61 <h4><a name="TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></h4>
62 <table align=center width="87%"><tr><td>
63 Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).
64 </td></tr></table><br>
65 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
66
67 #define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a>  0
68 #define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a>      1
69 #define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a>            2 /* deprecated */
70 #define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a>      3
71 #define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a>         4
72 #define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a>          7 /* artificial */
73
74 </pre></table><br>
75 <table align=center width="87%"><tr><td>
76 <p>A list of valid values for the &lsquo;platform_id&rsquo; identifier code in <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> and <a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a> structures.</p>
77 </td></tr></table><br>
78 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
79 <p></p>
80 <table cellpadding=3 border=0>
81 <tr valign=top><td colspan=0><b>TT_PLATFORM_APPLE_UNICODE</b></td></tr>
82 <tr valign=top><td></td><td>
83 <p>Used by Apple to indicate a Unicode character map and/or name entry. See <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a> for corresponding &lsquo;encoding_id&rsquo; values. Note that name entries in this format are coded as big-endian UCS-2 character codes <i>only</i>.</p>
84 </td></tr>
85 <tr valign=top><td><b>TT_PLATFORM_MACINTOSH</b></td><td>
86 <p>Used by Apple to indicate a MacOS-specific charmap and/or name entry. See <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a> for corresponding &lsquo;encoding_id&rsquo; values. Note that most TrueType fonts contain an Apple roman charmap to be usable on MacOS systems (even if they contain a Microsoft charmap as well).</p>
87 </td></tr>
88 <tr valign=top><td><b>TT_PLATFORM_ISO</b></td><td>
89 <p>This value was used to specify ISO/IEC 10646 charmaps. It is however now deprecated. See <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a> for a list of corresponding &lsquo;encoding_id&rsquo; values.</p>
90 </td></tr>
91 <tr valign=top><td><b>TT_PLATFORM_MICROSOFT</b></td><td>
92 <p>Used by Microsoft to indicate Windows-specific charmaps. See <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a> for a list of corresponding &lsquo;encoding_id&rsquo; values. Note that most fonts contain a Unicode charmap using (TT_PLATFORM_MICROSOFT, <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a>).</p>
93 </td></tr>
94 <tr valign=top><td><b>TT_PLATFORM_CUSTOM</b></td><td>
95 <p>Used to indicate application-specific charmaps.</p>
96 </td></tr>
97 <tr valign=top><td><b>TT_PLATFORM_ADOBE</b></td><td>
98 <p>This value isn't part of any font format specification, but is used by FreeType to report Adobe-specific charmaps in an <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> structure. See <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a>.</p>
99 </td></tr>
100 </table>
101 </td></tr></table>
102 </td></tr></table>
103 <hr width="75%">
104 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
105 <td width="100%"></td>
106 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
107
108 <table align=center width="75%"><tr><td>
109 <h4><a name="TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></h4>
110 <table align=center width="87%"><tr><td>
111 Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).
112 </td></tr></table><br>
113 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
114
115 #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a>           0 /* Unicode 1.0 */
116 #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a>       1 /* specify Hangul at U+34xx */
117 #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a>         2 /* deprecated */
118 #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a>       3 /* or later */
119 #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a>        4 /* 2.0 or later, full repertoire */
120 #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a>  5 /* variation selector data */
121
122 </pre></table><br>
123 <table align=center width="87%"><tr><td>
124 <p>A list of valid values for the &lsquo;encoding_id&rsquo; for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a> charmaps and name entries.</p>
125 </td></tr></table><br>
126 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
127 <p></p>
128 <table cellpadding=3 border=0>
129 <tr valign=top><td><b>TT_APPLE_ID_DEFAULT</b></td><td>
130 <p>Unicode version 1.0.</p>
131 </td></tr>
132 <tr valign=top><td colspan=0><b>TT_APPLE_ID_UNICODE_1_1</b></td></tr>
133 <tr valign=top><td></td><td>
134 <p>Unicode 1.1; specifies Hangul characters starting at U+34xx.</p>
135 </td></tr>
136 <tr valign=top><td><b>TT_APPLE_ID_ISO_10646</b></td><td>
137 <p>Deprecated (identical to preceding).</p>
138 </td></tr>
139 <tr valign=top><td colspan=0><b>TT_APPLE_ID_UNICODE_2_0</b></td></tr>
140 <tr valign=top><td></td><td>
141 <p>Unicode 2.0 and beyond (UTF-16 BMP only).</p>
142 </td></tr>
143 <tr valign=top><td><b>TT_APPLE_ID_UNICODE_32</b></td><td>
144 <p>Unicode 3.1 and beyond, using UTF-32.</p>
145 </td></tr>
146 <tr valign=top><td colspan=0><b>TT_APPLE_ID_VARIANT_SELECTOR</b></td></tr>
147 <tr valign=top><td></td><td>
148 <p>From Adobe, not Apple. Not a normal cmap. Specifies variations on a real cmap.</p>
149 </td></tr>
150 </table>
151 </td></tr></table>
152 </td></tr></table>
153 <hr width="75%">
154 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
155 <td width="100%"></td>
156 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
157
158 <table align=center width="75%"><tr><td>
159 <h4><a name="TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></h4>
160 <table align=center width="87%"><tr><td>
161 Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).
162 </td></tr></table><br>
163 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
164
165 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a>                 0
166 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a>              1
167 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a>   2
168 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a>                3
169 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a>                4
170 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a>                5
171 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a>                 6
172 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a>               7
173 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a>               8
174 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a>            9
175 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a>             10
176 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a>             11
177 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a>                12
178 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a>              13
179 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a>                14
180 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a>               15
181 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a>              16
182 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a>            17
183 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a>            18
184 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a>              19
185 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a>                20
186 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a>                 21
187 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a>              22
188 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a>             23
189 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a>             24
190 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a>            25
191 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a>   25
192 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a>              26
193 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a>            27
194 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a>                 28
195 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a>               29
196 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a>           30
197 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a>               31
198 #define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a>             32
199
200 </pre></table><br>
201 <table align=center width="87%"><tr><td>
202 <p>A list of valid values for the &lsquo;encoding_id&rsquo; for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> charmaps and name entries.</p>
203 </td></tr></table><br>
204 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
205 <p></p>
206 <table cellpadding=3 border=0>
207 <tr valign=top><td><b>TT_MAC_ID_ROMAN</b></td><td>
208 <p></p>
209 </td></tr>
210 <tr valign=top><td><b>TT_MAC_ID_JAPANESE</b></td><td>
211 <p></p>
212 </td></tr>
213 <tr valign=top><td colspan=0><b>TT_MAC_ID_TRADITIONAL_CHINESE</b></td></tr>
214 <tr valign=top><td></td><td>
215 <p></p>
216 </td></tr>
217 <tr valign=top><td><b>TT_MAC_ID_KOREAN</b></td><td>
218 <p></p>
219 </td></tr>
220 <tr valign=top><td><b>TT_MAC_ID_ARABIC</b></td><td>
221 <p></p>
222 </td></tr>
223 <tr valign=top><td><b>TT_MAC_ID_HEBREW</b></td><td>
224 <p></p>
225 </td></tr>
226 <tr valign=top><td><b>TT_MAC_ID_GREEK</b></td><td>
227 <p></p>
228 </td></tr>
229 <tr valign=top><td><b>TT_MAC_ID_RUSSIAN</b></td><td>
230 <p></p>
231 </td></tr>
232 <tr valign=top><td><b>TT_MAC_ID_RSYMBOL</b></td><td>
233 <p></p>
234 </td></tr>
235 <tr valign=top><td><b>TT_MAC_ID_DEVANAGARI</b></td><td>
236 <p></p>
237 </td></tr>
238 <tr valign=top><td><b>TT_MAC_ID_GURMUKHI</b></td><td>
239 <p></p>
240 </td></tr>
241 <tr valign=top><td><b>TT_MAC_ID_GUJARATI</b></td><td>
242 <p></p>
243 </td></tr>
244 <tr valign=top><td><b>TT_MAC_ID_ORIYA</b></td><td>
245 <p></p>
246 </td></tr>
247 <tr valign=top><td><b>TT_MAC_ID_BENGALI</b></td><td>
248 <p></p>
249 </td></tr>
250 <tr valign=top><td><b>TT_MAC_ID_TAMIL</b></td><td>
251 <p></p>
252 </td></tr>
253 <tr valign=top><td><b>TT_MAC_ID_TELUGU</b></td><td>
254 <p></p>
255 </td></tr>
256 <tr valign=top><td><b>TT_MAC_ID_KANNADA</b></td><td>
257 <p></p>
258 </td></tr>
259 <tr valign=top><td><b>TT_MAC_ID_MALAYALAM</b></td><td>
260 <p></p>
261 </td></tr>
262 <tr valign=top><td><b>TT_MAC_ID_SINHALESE</b></td><td>
263 <p></p>
264 </td></tr>
265 <tr valign=top><td><b>TT_MAC_ID_BURMESE</b></td><td>
266 <p></p>
267 </td></tr>
268 <tr valign=top><td><b>TT_MAC_ID_KHMER</b></td><td>
269 <p></p>
270 </td></tr>
271 <tr valign=top><td><b>TT_MAC_ID_THAI</b></td><td>
272 <p></p>
273 </td></tr>
274 <tr valign=top><td><b>TT_MAC_ID_LAOTIAN</b></td><td>
275 <p></p>
276 </td></tr>
277 <tr valign=top><td><b>TT_MAC_ID_GEORGIAN</b></td><td>
278 <p></p>
279 </td></tr>
280 <tr valign=top><td><b>TT_MAC_ID_ARMENIAN</b></td><td>
281 <p></p>
282 </td></tr>
283 <tr valign=top><td><b>TT_MAC_ID_MALDIVIAN</b></td><td>
284 <p></p>
285 </td></tr>
286 <tr valign=top><td colspan=0><b>TT_MAC_ID_SIMPLIFIED_CHINESE</b></td></tr>
287 <tr valign=top><td></td><td>
288 <p></p>
289 </td></tr>
290 <tr valign=top><td><b>TT_MAC_ID_TIBETAN</b></td><td>
291 <p></p>
292 </td></tr>
293 <tr valign=top><td><b>TT_MAC_ID_MONGOLIAN</b></td><td>
294 <p></p>
295 </td></tr>
296 <tr valign=top><td><b>TT_MAC_ID_GEEZ</b></td><td>
297 <p></p>
298 </td></tr>
299 <tr valign=top><td><b>TT_MAC_ID_SLAVIC</b></td><td>
300 <p></p>
301 </td></tr>
302 <tr valign=top><td><b>TT_MAC_ID_VIETNAMESE</b></td><td>
303 <p></p>
304 </td></tr>
305 <tr valign=top><td><b>TT_MAC_ID_SINDHI</b></td><td>
306 <p></p>
307 </td></tr>
308 <tr valign=top><td><b>TT_MAC_ID_UNINTERP</b></td><td>
309 <p></p>
310 </td></tr>
311 </table>
312 </td></tr></table>
313 </td></tr></table>
314 <hr width="75%">
315 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
316 <td width="100%"></td>
317 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
318
319 <table align=center width="75%"><tr><td>
320 <h4><a name="TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></h4>
321 <table align=center width="87%"><tr><td>
322 Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).
323 </td></tr></table><br>
324 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
325
326 #define <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a>  0
327 #define <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a>       1
328 #define <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a>      2
329
330 </pre></table><br>
331 <table align=center width="87%"><tr><td>
332 <p>A list of valid values for the &lsquo;encoding_id&rsquo; for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a> charmaps and name entries.</p>
333 <p>Their use is now deprecated.</p>
334 </td></tr></table><br>
335 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
336 <p></p>
337 <table cellpadding=3 border=0>
338 <tr valign=top><td><b>TT_ISO_ID_7BIT_ASCII</b></td><td>
339 <p>ASCII.</p>
340 </td></tr>
341 <tr valign=top><td><b>TT_ISO_ID_10646</b></td><td>
342 <p>ISO/10646.</p>
343 </td></tr>
344 <tr valign=top><td><b>TT_ISO_ID_8859_1</b></td><td>
345 <p>Also known as Latin-1.</p>
346 </td></tr>
347 </table>
348 </td></tr></table>
349 </td></tr></table>
350 <hr width="75%">
351 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
352 <td width="100%"></td>
353 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
354
355 <table align=center width="75%"><tr><td>
356 <h4><a name="TT_MS_ID_XXX">TT_MS_ID_XXX</a></h4>
357 <table align=center width="87%"><tr><td>
358 Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).
359 </td></tr></table><br>
360 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
361
362 #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a>    0
363 #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a>   1
364 #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a>         2
365 #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a>       3
366 #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a>        4
367 #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a>      5
368 #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a>        6
369 #define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a>       10
370
371 </pre></table><br>
372 <table align=center width="87%"><tr><td>
373 <p>A list of valid values for the &lsquo;encoding_id&rsquo; for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a> charmaps and name entries.</p>
374 </td></tr></table><br>
375 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
376 <p></p>
377 <table cellpadding=3 border=0>
378 <tr valign=top><td><b>TT_MS_ID_SYMBOL_CS</b></td><td>
379 <p>Corresponds to Microsoft symbol encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a>.</p>
380 </td></tr>
381 <tr valign=top><td><b>TT_MS_ID_UNICODE_CS</b></td><td>
382 <p>Corresponds to a Microsoft WGL4 charmap, matching Unicode. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a>.</p>
383 </td></tr>
384 <tr valign=top><td><b>TT_MS_ID_SJIS</b></td><td>
385 <p>Corresponds to SJIS Japanese encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a>.</p>
386 </td></tr>
387 <tr valign=top><td><b>TT_MS_ID_GB2312</b></td><td>
388 <p>Corresponds to Simplified Chinese as used in Mainland China. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a>.</p>
389 </td></tr>
390 <tr valign=top><td><b>TT_MS_ID_BIG_5</b></td><td>
391 <p>Corresponds to Traditional Chinese as used in Taiwan and Hong Kong. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a>.</p>
392 </td></tr>
393 <tr valign=top><td><b>TT_MS_ID_WANSUNG</b></td><td>
394 <p>Corresponds to Korean Wansung encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a>.</p>
395 </td></tr>
396 <tr valign=top><td><b>TT_MS_ID_JOHAB</b></td><td>
397 <p>Corresponds to Johab encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a>.</p>
398 </td></tr>
399 <tr valign=top><td><b>TT_MS_ID_UCS_4</b></td><td>
400 <p>Corresponds to UCS-4 or UTF-32 charmaps. This has been added to the OpenType specification version 1.4 (mid-2001.)</p>
401 </td></tr>
402 </table>
403 </td></tr></table>
404 </td></tr></table>
405 <hr width="75%">
406 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
407 <td width="100%"></td>
408 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
409
410 <table align=center width="75%"><tr><td>
411 <h4><a name="TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></h4>
412 <table align=center width="87%"><tr><td>
413 Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).
414 </td></tr></table><br>
415 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
416
417 #define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a>  0
418 #define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a>    1
419 #define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a>    2
420 #define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a>   3
421
422 </pre></table><br>
423 <table align=center width="87%"><tr><td>
424 <p>A list of valid values for the &lsquo;encoding_id&rsquo; for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a> charmaps. This is a FreeType-specific extension!</p>
425 </td></tr></table><br>
426 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
427 <p></p>
428 <table cellpadding=3 border=0>
429 <tr valign=top><td><b>TT_ADOBE_ID_STANDARD</b></td><td>
430 <p>Adobe standard encoding.</p>
431 </td></tr>
432 <tr valign=top><td><b>TT_ADOBE_ID_EXPERT</b></td><td>
433 <p>Adobe expert encoding.</p>
434 </td></tr>
435 <tr valign=top><td><b>TT_ADOBE_ID_CUSTOM</b></td><td>
436 <p>Adobe custom encoding.</p>
437 </td></tr>
438 <tr valign=top><td><b>TT_ADOBE_ID_LATIN_1</b></td><td>
439 <p>Adobe Latin&nbsp;1 encoding.</p>
440 </td></tr>
441 </table>
442 </td></tr></table>
443 </td></tr></table>
444 <hr width="75%">
445 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
446 <td width="100%"></td>
447 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
448
449 <table align=center width="75%"><tr><td>
450 <h4><a name="TT_Header">TT_Header</a></h4>
451 <table align=center width="87%"><tr><td>
452 Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
453 </td></tr></table><br>
454 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
455
456   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_Header_
457   {
458     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   Table_Version;
459     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   Font_Revision;
460
461     <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    CheckSum_Adjust;
462     <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    Magic_Number;
463
464     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Flags;
465     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Units_Per_EM;
466
467     <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    Created [2];
468     <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    Modified[2];
469
470     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   xMin;
471     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   yMin;
472     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   xMax;
473     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   yMax;
474
475     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Mac_Style;
476     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Lowest_Rec_PPEM;
477
478     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Font_Direction;
479     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Index_To_Loc_Format;
480     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Glyph_Data_Format;
481
482   } <b>TT_Header</b>;
483
484 </pre></table><br>
485 <table align=center width="87%"><tr><td>
486 <p>A structure used to model a TrueType font header table. All fields follow the TrueType specification.</p>
487 </td></tr></table><br>
488 </td></tr></table>
489 <hr width="75%">
490 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
491 <td width="100%"></td>
492 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
493
494 <table align=center width="75%"><tr><td>
495 <h4><a name="TT_HoriHeader">TT_HoriHeader</a></h4>
496 <table align=center width="87%"><tr><td>
497 Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
498 </td></tr></table><br>
499 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
500
501   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_HoriHeader_
502   {
503     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   Version;
504     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Ascender;
505     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Descender;
506     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Line_Gap;
507
508     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  advance_Width_Max;      /* advance width maximum */
509
510     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   min_Left_Side_Bearing;  /* minimum left-sb       */
511     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   min_Right_Side_Bearing; /* minimum right-sb      */
512     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   xMax_Extent;            /* xmax extents          */
513     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   caret_Slope_Rise;
514     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   caret_Slope_Run;
515     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   caret_Offset;
516
517     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Reserved[4];
518
519     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   metric_Data_Format;
520     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  number_Of_HMetrics;
521
522     /* The following fields are not defined by the TrueType specification */
523     /* but they are used to connect the metrics header to the relevant    */
524     /* `HMTX' table.                                                      */
525
526     <span class="keyword">void</span>*      long_metrics;
527     <span class="keyword">void</span>*      short_metrics;
528
529   } <b>TT_HoriHeader</b>;
530
531 </pre></table><br>
532 <table align=center width="87%"><tr><td>
533 <p>A structure used to model a TrueType horizontal header, the &lsquo;hhea&rsquo; table, as well as the corresponding horizontal metrics table, i.e., the &lsquo;hmtx&rsquo; table.</p>
534 </td></tr></table><br>
535 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
536 <p></p>
537 <table cellpadding=3 border=0>
538 <tr valign=top><td><b>Version</b></td><td>
539 <p>The table version.</p>
540 </td></tr>
541 <tr valign=top><td><b>Ascender</b></td><td>
542 <p>The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.</p>
543 <p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p>
544 <p>You should use the &lsquo;sTypoAscender&rsquo; field of the OS/2 table instead if you want the correct one.</p>
545 </td></tr>
546 <tr valign=top><td><b>Descender</b></td><td>
547 <p>The font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points found in the font. It is negative.</p>
548 <p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p>
549 <p>You should use the &lsquo;sTypoDescender&rsquo; field of the OS/2 table instead if you want the correct one.</p>
550 </td></tr>
551 <tr valign=top><td><b>Line_Gap</b></td><td>
552 <p>The font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the baseline-to-baseline distance for the font.</p>
553 </td></tr>
554 <tr valign=top><td><b>advance_Width_Max</b></td><td>
555 <p>This field is the maximum of all advance widths found in the font. It can be used to compute the maximum width of an arbitrary string of text.</p>
556 </td></tr>
557 <tr valign=top><td><b>min_Left_Side_Bearing</b></td><td>
558 <p>The minimum left side bearing of all glyphs within the font.</p>
559 </td></tr>
560 <tr valign=top><td><b>min_Right_Side_Bearing</b></td><td>
561 <p>The minimum right side bearing of all glyphs within the font.</p>
562 </td></tr>
563 <tr valign=top><td><b>xMax_Extent</b></td><td>
564 <p>The maximum horizontal extent (i.e., the &lsquo;width&rsquo; of a glyph's bounding box) for all glyphs in the font.</p>
565 </td></tr>
566 <tr valign=top><td><b>caret_Slope_Rise</b></td><td>
567 <p>The rise coefficient of the cursor's slope of the cursor (slope=rise/run).</p>
568 </td></tr>
569 <tr valign=top><td><b>caret_Slope_Run</b></td><td>
570 <p>The run coefficient of the cursor's slope.</p>
571 </td></tr>
572 <tr valign=top><td><b>Reserved</b></td><td>
573 <p>8&nbsp;reserved bytes.</p>
574 </td></tr>
575 <tr valign=top><td><b>metric_Data_Format</b></td><td>
576 <p>Always&nbsp;0.</p>
577 </td></tr>
578 <tr valign=top><td><b>number_Of_HMetrics</b></td><td>
579 <p>Number of HMetrics entries in the &lsquo;hmtx&rsquo; table -- this value can be smaller than the total number of glyphs in the font.</p>
580 </td></tr>
581 <tr valign=top><td><b>long_metrics</b></td><td>
582 <p>A pointer into the &lsquo;hmtx&rsquo; table.</p>
583 </td></tr>
584 <tr valign=top><td><b>short_metrics</b></td><td>
585 <p>A pointer into the &lsquo;hmtx&rsquo; table.</p>
586 </td></tr>
587 </table>
588 </td></tr></table>
589 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
590 <p>IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields which are different.</p>
591 <p>This ensures that a single function in the &lsquo;ttload&rsquo; module is able to read both the horizontal and vertical headers.</p>
592 </td></tr></table>
593 </td></tr></table>
594 <hr width="75%">
595 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
596 <td width="100%"></td>
597 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
598
599 <table align=center width="75%"><tr><td>
600 <h4><a name="TT_VertHeader">TT_VertHeader</a></h4>
601 <table align=center width="87%"><tr><td>
602 Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
603 </td></tr></table><br>
604 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
605
606   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_VertHeader_
607   {
608     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   Version;
609     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Ascender;
610     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Descender;
611     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Line_Gap;
612
613     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  advance_Height_Max;      /* advance height maximum */
614
615     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   min_Top_Side_Bearing;    /* minimum left-sb or top-sb       */
616     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   min_Bottom_Side_Bearing; /* minimum right-sb or bottom-sb   */
617     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   yMax_Extent;             /* xmax or ymax extents            */
618     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   caret_Slope_Rise;
619     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   caret_Slope_Run;
620     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   caret_Offset;
621
622     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Reserved[4];
623
624     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   metric_Data_Format;
625     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  number_Of_VMetrics;
626
627     /* The following fields are not defined by the TrueType specification */
628     /* but they're used to connect the metrics header to the relevant     */
629     /* `HMTX' or `VMTX' table.                                            */
630
631     <span class="keyword">void</span>*      long_metrics;
632     <span class="keyword">void</span>*      short_metrics;
633
634   } <b>TT_VertHeader</b>;
635
636 </pre></table><br>
637 <table align=center width="87%"><tr><td>
638 <p>A structure used to model a TrueType vertical header, the &lsquo;vhea&rsquo; table, as well as the corresponding vertical metrics table, i.e., the &lsquo;vmtx&rsquo; table.</p>
639 </td></tr></table><br>
640 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
641 <p></p>
642 <table cellpadding=3 border=0>
643 <tr valign=top><td><b>Version</b></td><td>
644 <p>The table version.</p>
645 </td></tr>
646 <tr valign=top><td><b>Ascender</b></td><td>
647 <p>The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.</p>
648 <p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p>
649 <p>You should use the &lsquo;sTypoAscender&rsquo; field of the OS/2 table instead if you want the correct one.</p>
650 </td></tr>
651 <tr valign=top><td><b>Descender</b></td><td>
652 <p>The font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points found in the font. It is negative.</p>
653 <p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p>
654 <p>You should use the &lsquo;sTypoDescender&rsquo; field of the OS/2 table instead if you want the correct one.</p>
655 </td></tr>
656 <tr valign=top><td><b>Line_Gap</b></td><td>
657 <p>The font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the baseline-to-baseline distance for the font.</p>
658 </td></tr>
659 <tr valign=top><td><b>advance_Height_Max</b></td><td>
660 <p>This field is the maximum of all advance heights found in the font. It can be used to compute the maximum height of an arbitrary string of text.</p>
661 </td></tr>
662 <tr valign=top><td><b>min_Top_Side_Bearing</b></td><td>
663 <p>The minimum top side bearing of all glyphs within the font.</p>
664 </td></tr>
665 <tr valign=top><td colspan=0><b>min_Bottom_Side_Bearing</b></td></tr>
666 <tr valign=top><td></td><td>
667 <p>The minimum bottom side bearing of all glyphs within the font.</p>
668 </td></tr>
669 <tr valign=top><td><b>yMax_Extent</b></td><td>
670 <p>The maximum vertical extent (i.e., the &lsquo;height&rsquo; of a glyph's bounding box) for all glyphs in the font.</p>
671 </td></tr>
672 <tr valign=top><td><b>caret_Slope_Rise</b></td><td>
673 <p>The rise coefficient of the cursor's slope of the cursor (slope=rise/run).</p>
674 </td></tr>
675 <tr valign=top><td><b>caret_Slope_Run</b></td><td>
676 <p>The run coefficient of the cursor's slope.</p>
677 </td></tr>
678 <tr valign=top><td><b>caret_Offset</b></td><td>
679 <p>The cursor's offset for slanted fonts. This value is &lsquo;reserved&rsquo; in vmtx version 1.0.</p>
680 </td></tr>
681 <tr valign=top><td><b>Reserved</b></td><td>
682 <p>8&nbsp;reserved bytes.</p>
683 </td></tr>
684 <tr valign=top><td><b>metric_Data_Format</b></td><td>
685 <p>Always&nbsp;0.</p>
686 </td></tr>
687 <tr valign=top><td><b>number_Of_HMetrics</b></td><td>
688 <p>Number of VMetrics entries in the &lsquo;vmtx&rsquo; table -- this value can be smaller than the total number of glyphs in the font.</p>
689 </td></tr>
690 <tr valign=top><td><b>long_metrics</b></td><td>
691 <p>A pointer into the &lsquo;vmtx&rsquo; table.</p>
692 </td></tr>
693 <tr valign=top><td><b>short_metrics</b></td><td>
694 <p>A pointer into the &lsquo;vmtx&rsquo; table.</p>
695 </td></tr>
696 </table>
697 </td></tr></table>
698 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
699 <p>IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields which are different.</p>
700 <p>This ensures that a single function in the &lsquo;ttload&rsquo; module is able to read both the horizontal and vertical headers.</p>
701 </td></tr></table>
702 </td></tr></table>
703 <hr width="75%">
704 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
705 <td width="100%"></td>
706 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
707
708 <table align=center width="75%"><tr><td>
709 <h4><a name="TT_OS2">TT_OS2</a></h4>
710 <table align=center width="87%"><tr><td>
711 Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
712 </td></tr></table><br>
713 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
714
715   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_OS2_
716   {
717     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  version;                /* 0x0001 - more or 0xFFFF */
718     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   xAvgCharWidth;
719     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usWeightClass;
720     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usWidthClass;
721     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   fsType;
722     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySubscriptXSize;
723     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySubscriptYSize;
724     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySubscriptXOffset;
725     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySubscriptYOffset;
726     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySuperscriptXSize;
727     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySuperscriptYSize;
728     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySuperscriptXOffset;
729     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySuperscriptYOffset;
730     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   yStrikeoutSize;
731     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   yStrikeoutPosition;
732     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sFamilyClass;
733
734     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    panose[10];
735
736     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulUnicodeRange1;        /* Bits 0-31   */
737     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulUnicodeRange2;        /* Bits 32-63  */
738     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulUnicodeRange3;        /* Bits 64-95  */
739     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulUnicodeRange4;        /* Bits 96-127 */
740
741     <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    achVendID[4];
742
743     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  fsSelection;
744     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usFirstCharIndex;
745     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usLastCharIndex;
746     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sTypoAscender;
747     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sTypoDescender;
748     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sTypoLineGap;
749     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usWinAscent;
750     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usWinDescent;
751
752     /* only version 1 tables: */
753
754     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulCodePageRange1;       /* Bits 0-31   */
755     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulCodePageRange2;       /* Bits 32-63  */
756
757     /* only version 2 tables: */
758
759     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sxHeight;
760     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sCapHeight;
761     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usDefaultChar;
762     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usBreakChar;
763     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usMaxContext;
764
765   } <b>TT_OS2</b>;
766
767 </pre></table><br>
768 <table align=center width="87%"><tr><td>
769 <p>A structure used to model a TrueType OS/2 table. This is the long table version. All fields comply to the TrueType specification.</p>
770 <p>Note that we now support old Mac fonts which do not include an OS/2 table. In this case, the &lsquo;version&rsquo; field is always set to 0xFFFF.</p>
771 </td></tr></table><br>
772 </td></tr></table>
773 <hr width="75%">
774 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
775 <td width="100%"></td>
776 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
777
778 <table align=center width="75%"><tr><td>
779 <h4><a name="TT_Postscript">TT_Postscript</a></h4>
780 <table align=center width="87%"><tr><td>
781 Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
782 </td></tr></table><br>
783 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
784
785   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_Postscript_
786   {
787     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>  FormatType;
788     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>  italicAngle;
789     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>  underlinePosition;
790     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>  underlineThickness;
791     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  isFixedPitch;
792     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  minMemType42;
793     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  maxMemType42;
794     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  minMemType1;
795     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  maxMemType1;
796
797     /* Glyph names follow in the file, but we don't   */
798     /* load them by default.  See the ttpost.c file.  */
799
800   } <b>TT_Postscript</b>;
801
802 </pre></table><br>
803 <table align=center width="87%"><tr><td>
804 <p>A structure used to model a TrueType PostScript table. All fields comply to the TrueType specification. This structure does not reference the PostScript glyph names, which can be nevertheless accessed with the &lsquo;ttpost&rsquo; module.</p>
805 </td></tr></table><br>
806 </td></tr></table>
807 <hr width="75%">
808 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
809 <td width="100%"></td>
810 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
811
812 <table align=center width="75%"><tr><td>
813 <h4><a name="TT_PCLT">TT_PCLT</a></h4>
814 <table align=center width="87%"><tr><td>
815 Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
816 </td></tr></table><br>
817 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
818
819   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_PCLT_
820   {
821     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   Version;
822     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   FontNumber;
823     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Pitch;
824     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  xHeight;
825     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Style;
826     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  TypeFamily;
827     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  CapHeight;
828     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  SymbolSet;
829     <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    TypeFace[16];
830     <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    CharacterComplement[8];
831     <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    FileName[6];
832     <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    StrokeWeight;
833     <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    WidthType;
834     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    SerifStyle;
835     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    Reserved;
836
837   } <b>TT_PCLT</b>;
838
839 </pre></table><br>
840 <table align=center width="87%"><tr><td>
841 <p>A structure used to model a TrueType PCLT table. All fields comply to the TrueType specification.</p>
842 </td></tr></table><br>
843 </td></tr></table>
844 <hr width="75%">
845 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
846 <td width="100%"></td>
847 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
848
849 <table align=center width="75%"><tr><td>
850 <h4><a name="TT_MaxProfile">TT_MaxProfile</a></h4>
851 <table align=center width="87%"><tr><td>
852 Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
853 </td></tr></table><br>
854 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
855
856   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_MaxProfile_
857   {
858     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   version;
859     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  numGlyphs;
860     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxPoints;
861     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxContours;
862     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxCompositePoints;
863     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxCompositeContours;
864     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxZones;
865     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxTwilightPoints;
866     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxStorage;
867     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxFunctionDefs;
868     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxInstructionDefs;
869     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxStackElements;
870     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxSizeOfInstructions;
871     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxComponentElements;
872     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxComponentDepth;
873
874   } <b>TT_MaxProfile</b>;
875
876 </pre></table><br>
877 <table align=center width="87%"><tr><td>
878 <p>The maximum profile is a table containing many max values which can be used to pre-allocate arrays. This ensures that no memory allocation occurs during a glyph load.</p>
879 </td></tr></table><br>
880 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
881 <p></p>
882 <table cellpadding=3 border=0>
883 <tr valign=top><td><b>version</b></td><td>
884 <p>The version number.</p>
885 </td></tr>
886 <tr valign=top><td><b>numGlyphs</b></td><td>
887 <p>The number of glyphs in this TrueType font.</p>
888 </td></tr>
889 <tr valign=top><td><b>maxPoints</b></td><td>
890 <p>The maximum number of points in a non-composite TrueType glyph. See also the structure element &lsquo;maxCompositePoints&rsquo;.</p>
891 </td></tr>
892 <tr valign=top><td><b>maxContours</b></td><td>
893 <p>The maximum number of contours in a non-composite TrueType glyph. See also the structure element &lsquo;maxCompositeContours&rsquo;.</p>
894 </td></tr>
895 <tr valign=top><td><b>maxCompositePoints</b></td><td>
896 <p>The maximum number of points in a composite TrueType glyph. See also the structure element &lsquo;maxPoints&rsquo;.</p>
897 </td></tr>
898 <tr valign=top><td><b>maxCompositeContours</b></td><td>
899 <p>The maximum number of contours in a composite TrueType glyph. See also the structure element &lsquo;maxContours&rsquo;.</p>
900 </td></tr>
901 <tr valign=top><td><b>maxZones</b></td><td>
902 <p>The maximum number of zones used for glyph hinting.</p>
903 </td></tr>
904 <tr valign=top><td><b>maxTwilightPoints</b></td><td>
905 <p>The maximum number of points in the twilight zone used for glyph hinting.</p>
906 </td></tr>
907 <tr valign=top><td><b>maxStorage</b></td><td>
908 <p>The maximum number of elements in the storage area used for glyph hinting.</p>
909 </td></tr>
910 <tr valign=top><td><b>maxFunctionDefs</b></td><td>
911 <p>The maximum number of function definitions in the TrueType bytecode for this font.</p>
912 </td></tr>
913 <tr valign=top><td><b>maxInstructionDefs</b></td><td>
914 <p>The maximum number of instruction definitions in the TrueType bytecode for this font.</p>
915 </td></tr>
916 <tr valign=top><td><b>maxStackElements</b></td><td>
917 <p>The maximum number of stack elements used during bytecode interpretation.</p>
918 </td></tr>
919 <tr valign=top><td><b>maxSizeOfInstructions</b></td><td>
920 <p>The maximum number of TrueType opcodes used for glyph hinting.</p>
921 </td></tr>
922 <tr valign=top><td><b>maxComponentElements</b></td><td>
923 <p>The maximum number of simple (i.e., non- composite) glyphs in a composite glyph.</p>
924 </td></tr>
925 <tr valign=top><td><b>maxComponentDepth</b></td><td>
926 <p>The maximum nesting depth of composite glyphs.</p>
927 </td></tr>
928 </table>
929 </td></tr></table>
930 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
931 <p>This structure is only used during font loading.</p>
932 </td></tr></table>
933 </td></tr></table>
934 <hr width="75%">
935 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
936 <td width="100%"></td>
937 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
938
939 <table align=center width="75%"><tr><td>
940 <h4><a name="FT_Sfnt_Tag">FT_Sfnt_Tag</a></h4>
941 <table align=center width="87%"><tr><td>
942 Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
943 </td></tr></table><br>
944 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
945
946   <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Sfnt_Tag_
947   {
948     ft_sfnt_head = 0,    /* <a href="ft2-truetype_tables.html#TT_Header">TT_Header</a>     */
949     ft_sfnt_maxp = 1,    /* <a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a> */
950     ft_sfnt_os2  = 2,    /* <a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a>        */
951     ft_sfnt_hhea = 3,    /* <a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a> */
952     ft_sfnt_vhea = 4,    /* <a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a> */
953     ft_sfnt_post = 5,    /* <a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a> */
954     ft_sfnt_pclt = 6,    /* <a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a>       */
955
956     sfnt_max   /* internal end mark */
957
958   } <b>FT_Sfnt_Tag</b>;
959
960 </pre></table><br>
961 <table align=center width="87%"><tr><td>
962 <p>An enumeration used to specify the index of an SFNT table. Used in the <a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a> API function.</p>
963 </td></tr></table><br>
964 </td></tr></table>
965 <hr width="75%">
966 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
967 <td width="100%"></td>
968 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
969
970 <table align=center width="75%"><tr><td>
971 <h4><a name="FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></h4>
972 <table align=center width="87%"><tr><td>
973 Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
974 </td></tr></table><br>
975 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
976
977   FT_EXPORT( <span class="keyword">void</span>* )
978   <b>FT_Get_Sfnt_Table</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a>      face,
979                      <a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a>  tag );
980
981 </pre></table><br>
982 <table align=center width="87%"><tr><td>
983 <p>Return a pointer to a given SFNT table within a face.</p>
984 </td></tr></table><br>
985 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
986 <p></p>
987 <table cellpadding=3 border=0>
988 <tr valign=top><td><b>face</b></td><td>
989 <p>A handle to the source.</p>
990 </td></tr>
991 <tr valign=top><td><b>tag</b></td><td>
992 <p>The index of the SFNT table.</p>
993 </td></tr>
994 </table>
995 </td></tr></table>
996 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
997 <p>A type-less pointer to the table. This will be&nbsp;0 in case of error, or if the corresponding table was not found <b>OR</b> loaded from the file.</p>
998 <p>Use a typecast according to &lsquo;tag&rsquo; to access the structure elements.</p>
999 </td></tr></table>
1000 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
1001 <p>The table is owned by the face object and disappears with it.</p>
1002 <p>This function is only useful to access SFNT tables that are loaded by the sfnt, truetype, and opentype drivers. See <a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a> for a list.</p>
1003 </td></tr></table>
1004 </td></tr></table>
1005 <hr width="75%">
1006 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
1007 <td width="100%"></td>
1008 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
1009
1010 <table align=center width="75%"><tr><td>
1011 <h4><a name="FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></h4>
1012 <table align=center width="87%"><tr><td>
1013 Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
1014 </td></tr></table><br>
1015 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
1016
1017   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
1018   <b>FT_Load_Sfnt_Table</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a>    face,
1019                       <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   tag,
1020                       <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    offset,
1021                       <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>*   buffer,
1022                       <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>*  length );
1023
1024 </pre></table><br>
1025 <table align=center width="87%"><tr><td>
1026 <p>Load any font table into client memory.</p>
1027 </td></tr></table><br>
1028 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
1029 <p></p>
1030 <table cellpadding=3 border=0>
1031 <tr valign=top><td><b>face</b></td><td>
1032 <p>A handle to the source face.</p>
1033 </td></tr>
1034 <tr valign=top><td><b>tag</b></td><td>
1035 <p>The four-byte tag of the table to load. Use the value&nbsp;0 if you want to access the whole font file. Otherwise, you can use one of the definitions found in the <a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a> file, or forge a new one with <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>.</p>
1036 </td></tr>
1037 <tr valign=top><td><b>offset</b></td><td>
1038 <p>The starting offset in the table (or file if tag == 0).</p>
1039 </td></tr>
1040 </table>
1041 </td></tr></table>
1042 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
1043 <p></p>
1044 <table cellpadding=3 border=0>
1045 <tr valign=top><td><b>buffer</b></td><td>
1046 <p>The target buffer address. The client must ensure that the memory array is big enough to hold the data.</p>
1047 </td></tr>
1048 </table>
1049 </td></tr></table>
1050 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
1051 <p></p>
1052 <table cellpadding=3 border=0>
1053 <tr valign=top><td><b>length</b></td><td>
1054 <p>If the &lsquo;length&rsquo; parameter is NULL, then try to load the whole table. Return an error code if it fails.</p>
1055 <p>Else, if &lsquo;*length&rsquo; is&nbsp;0, exit immediately while returning the table's (or file) full size in it.</p>
1056 <p>Else the number of bytes to read from the table or file, from the starting offset.</p>
1057 </td></tr>
1058 </table>
1059 </td></tr></table>
1060 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
1061 <p>FreeType error code. 0&nbsp;means success.</p>
1062 </td></tr></table>
1063 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
1064 <p>If you need to determine the table's length you should first call this function with &lsquo;*length&rsquo; set to&nbsp;0, as in the following example:</p>
1065 <pre class="colored">
1066   FT_ULong  length = 0;
1067
1068
1069   error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &amp;length );
1070   if ( error ) { ... table does not exist ... }
1071
1072   buffer = malloc( length );
1073   if ( buffer == NULL ) { ... not enough memory ... }
1074
1075   error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &amp;length );
1076   if ( error ) { ... could not load table ... }
1077 </pre>
1078 </td></tr></table>
1079 </td></tr></table>
1080 <hr width="75%">
1081 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
1082 <td width="100%"></td>
1083 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
1084
1085 <table align=center width="75%"><tr><td>
1086 <h4><a name="FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></h4>
1087 <table align=center width="87%"><tr><td>
1088 Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
1089 </td></tr></table><br>
1090 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
1091
1092   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
1093   <b>FT_Sfnt_Table_Info</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a>    face,
1094                       <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a>    table_index,
1095                       <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  *tag,
1096                       <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  *length );
1097
1098 </pre></table><br>
1099 <table align=center width="87%"><tr><td>
1100 <p>Return information on an SFNT table.</p>
1101 </td></tr></table><br>
1102 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
1103 <p></p>
1104 <table cellpadding=3 border=0>
1105 <tr valign=top><td><b>face</b></td><td>
1106 <p>A handle to the source face.</p>
1107 </td></tr>
1108 <tr valign=top><td><b>table_index</b></td><td>
1109 <p>The index of an SFNT table. The function returns FT_Err_Table_Missing for an invalid value.</p>
1110 </td></tr>
1111 </table>
1112 </td></tr></table>
1113 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
1114 <p></p>
1115 <table cellpadding=3 border=0>
1116 <tr valign=top><td><b>tag</b></td><td>
1117 <p>The name tag of the SFNT table. If the value is NULL, &lsquo;table_index&rsquo; is ignored, and &lsquo;length&rsquo; returns the number of SFNT tables in the font.</p>
1118 </td></tr>
1119 </table>
1120 </td></tr></table>
1121 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
1122 <p></p>
1123 <table cellpadding=3 border=0>
1124 <tr valign=top><td><b>length</b></td><td>
1125 <p>The length of the SFNT table (or the number of SFNT tables, depending on &lsquo;tag&rsquo;).</p>
1126 </td></tr>
1127 </table>
1128 </td></tr></table>
1129 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
1130 <p>FreeType error code. 0&nbsp;means success.</p>
1131 </td></tr></table>
1132 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
1133 <p>SFNT tables with length zero are treated as missing.</p>
1134 </td></tr></table>
1135 </td></tr></table>
1136 <hr width="75%">
1137 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
1138 <td width="100%"></td>
1139 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
1140
1141 <table align=center width="75%"><tr><td>
1142 <h4><a name="FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></h4>
1143 <table align=center width="87%"><tr><td>
1144 Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
1145 </td></tr></table><br>
1146 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
1147
1148   FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> )
1149   <b>FT_Get_CMap_Language_ID</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a>  charmap );
1150
1151 </pre></table><br>
1152 <table align=center width="87%"><tr><td>
1153 <p>Return TrueType/sfnt specific cmap language ID. Definitions of language ID values are in &lsquo;freetype/ttnameid.h&rsquo;.</p>
1154 </td></tr></table><br>
1155 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
1156 <p></p>
1157 <table cellpadding=3 border=0>
1158 <tr valign=top><td><b>charmap</b></td><td>
1159 <p>The target charmap.</p>
1160 </td></tr>
1161 </table>
1162 </td></tr></table>
1163 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
1164 <p>The language ID of &lsquo;charmap&rsquo;. If &lsquo;charmap&rsquo; doesn't belong to a TrueType/sfnt face, just return&nbsp;0 as the default value.</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_Get_CMap_Format">FT_Get_CMap_Format</a></h4>
1174 <table align=center width="87%"><tr><td>
1175 Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
1176 </td></tr></table><br>
1177 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
1178
1179   FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> )
1180   <b>FT_Get_CMap_Format</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a>  charmap );
1181
1182 </pre></table><br>
1183 <table align=center width="87%"><tr><td>
1184 <p>Return TrueType/sfnt specific cmap format.</p>
1185 </td></tr></table><br>
1186 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
1187 <p></p>
1188 <table cellpadding=3 border=0>
1189 <tr valign=top><td><b>charmap</b></td><td>
1190 <p>The target charmap.</p>
1191 </td></tr>
1192 </table>
1193 </td></tr></table>
1194 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
1195 <p>The format of &lsquo;charmap&rsquo;. If &lsquo;charmap&rsquo; doesn't belong to a TrueType/sfnt face, return -1.</p>
1196 </td></tr></table>
1197 </td></tr></table>
1198 <hr width="75%">
1199 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
1200 <td width="100%"></td>
1201 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
1202
1203 <table align=center width="75%"><tr><td>
1204 <h4><a name="FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></h4>
1205 <table align=center width="87%"><tr><td>
1206 Defined in FT_UNPATENTED_HINTING_H (freetype/ttunpat.h).
1207 </td></tr></table><br>
1208 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
1209
1210 #define <b>FT_PARAM_TAG_UNPATENTED_HINTING</b>  <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'u', 'n', 'p', 'a' )
1211
1212 </pre></table><br>
1213 <table align=center width="87%"><tr><td>
1214 <p>A constant used as the tag of an <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structure to indicate that unpatented methods only should be used by the TrueType bytecode interpreter for a typeface opened by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>.</p>
1215 </td></tr></table><br>
1216 </td></tr></table>
1217 <hr width="75%">
1218 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
1219 <td width="100%"></td>
1220 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
1221
1222 </body>
1223 </html>