c3d2caaf1d3d69e3ed44ae18dd7c4f06f4d6adf1
[platform/upstream/freetype2.git] / docs / reference / ft2-truetype_tables.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "https://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.9 API Reference</title>
7 <style type="text/css">
8   a:link { color: #0000EF; }
9   a:visited { color: #51188E; }
10   a:hover { color: #FF0000; }
11
12   body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
13          color: #000000;
14          background: #FFFFFF;
15          width: 87%;
16          margin: auto; }
17
18   div.section { width: 75%;
19                 margin: auto; }
20   div.section hr { margin: 4ex 0 1ex 0; }
21   div.section h4 { background-color: #EEEEFF;
22                    font-size: medium;
23                    font-style: oblique;
24                    font-weight: bold;
25                    margin: 3ex 0 1.5ex 9%;
26                    padding: 0.3ex 0 0.3ex 1%; }
27   div.section p { margin: 1.5ex 0 1.5ex 10%; }
28   div.section pre { margin: 3ex 0 3ex 9%;
29                     background-color: #D6E8FF;
30                     padding: 2ex 0 2ex 1%; }
31   div.section table.fields { width: 90%;
32                              margin: 1.5ex 0 1.5ex 10%; }
33   div.section table.toc { width: 95%;
34                           margin: 1.5ex 0 1.5ex 5%; }
35   div.timestamp { text-align: center;
36                   font-size: 69%;
37                   margin: 1.5ex 0 1.5ex 0; }
38
39   h1 { text-align: center; }
40   h3 { font-size: medium;
41        margin: 4ex 0 1.5ex 0; }
42
43   p { text-align: justify; }
44
45   pre.colored { color: blue; }
46
47   span.keyword { font-family: monospace;
48                  text-align: left;
49                  white-space: pre;
50                  color: darkblue; }
51
52   table.fields td.val { font-weight: bold;
53                         text-align: right;
54                         width: 30%;
55                         vertical-align: baseline;
56                         padding: 1ex 1em 1ex 0; }
57   table.fields td.desc { vertical-align: baseline;
58                          padding: 1ex 0 1ex 1em; }
59   table.fields td.desc p:first-child { margin: 0; }
60   table.fields td.desc p { margin: 1.5ex 0 0 0; }
61   table.index { margin: 6ex auto 6ex auto;
62                 border: 0;
63                 border-collapse: separate;
64                 border-spacing: 1em 0.3ex; }
65   table.index tr { padding: 0; }
66   table.index td { padding: 0; }
67   table.index-toc-link { width: 100%;
68                          border: 0;
69                          border-spacing: 0;
70                          margin: 1ex 0 1ex 0; }
71   table.index-toc-link td.left { padding: 0 0.5em 0 0.5em;
72                                  font-size: 83%;
73                                  text-align: left; }
74   table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em;
75                                    font-size: 83%;
76                                    text-align: center; }
77   table.index-toc-link td.right { padding: 0 0.5em 0 0.5em;
78                                   font-size: 83%;
79                                   text-align: right; }
80   table.synopsis { margin: 6ex auto 6ex auto;
81                    border: 0;
82                    border-collapse: separate;
83                    border-spacing: 2em 0.6ex; }
84   table.synopsis tr { padding: 0; }
85   table.synopsis td { padding: 0; }
86   table.toc td.link { width: 30%;
87                       text-align: right;
88                       vertical-align: baseline;
89                       padding: 1ex 1em 1ex 0; }
90   table.toc td.desc { vertical-align: baseline;
91                       padding: 1ex 0 1ex 1em;
92                       text-align: left; }
93   table.toc td.desc p:first-child { margin: 0;
94                                     text-align: left; }
95   table.toc td.desc p { margin: 1.5ex 0 0 0;
96                         text-align: left; }
97
98 </style>
99 </head>
100 <body>
101
102 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
103 <h1>FreeType-2.9 API Reference</h1>
104
105 <h1 id="truetype_tables">TrueType Tables</h1>
106 <h2>Synopsis</h2>
107 <table class="synopsis">
108 <tr><td><a href="#TT_Header">TT_Header</a></td><td><a href="#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td><td><a href="#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td></tr>
109 <tr><td><a href="#TT_HoriHeader">TT_HoriHeader</a></td><td><a href="#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td><td><a href="#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td></tr>
110 <tr><td><a href="#TT_VertHeader">TT_VertHeader</a></td><td>&nbsp;</td><td><a href="#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td></tr>
111 <tr><td><a href="#TT_OS2">TT_OS2</a></td><td><a href="#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td><td><a href="#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td></tr>
112 <tr><td><a href="#TT_Postscript">TT_Postscript</a></td><td><a href="#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td><td><a href="#TT_MAC_LANGID_XXX">TT_MAC_LANGID_XXX</a></td></tr>
113 <tr><td><a href="#TT_PCLT">TT_PCLT</a></td><td>&nbsp;</td><td><a href="#TT_MS_LANGID_XXX">TT_MS_LANGID_XXX</a></td></tr>
114 <tr><td><a href="#TT_MaxProfile">TT_MaxProfile</a></td><td><a href="#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td><td><a href="#TT_NAME_ID_XXX">TT_NAME_ID_XXX</a></td></tr>
115 <tr><td>&nbsp;</td><td>&nbsp;</td><td><a href="#TT_UCR_XXX">TT_UCR_XXX</a></td></tr>
116 <tr><td><a href="#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td><td><a href="#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td><td></td></tr>
117 <tr><td><a href="#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td><td><a href="#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td><td></td></tr>
118 </table>
119
120
121 <p>This section contains definitions of some basic tables specific to TrueType and OpenType as well as some routines used to access and process them.</p>
122
123 <div class="section">
124 <h3 id="TT_Header">TT_Header</h3>
125 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
126 <pre>
127   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_Header_
128   {
129     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   Table_Version;
130     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   Font_Revision;
131
132     <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    CheckSum_Adjust;
133     <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    Magic_Number;
134
135     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Flags;
136     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Units_Per_EM;
137
138     <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    Created [2];
139     <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    Modified[2];
140
141     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   xMin;
142     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   yMin;
143     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   xMax;
144     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   yMax;
145
146     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Mac_Style;
147     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Lowest_Rec_PPEM;
148
149     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Font_Direction;
150     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Index_To_Loc_Format;
151     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Glyph_Data_Format;
152
153   } <b>TT_Header</b>;
154 </pre>
155
156 <p>A structure to model a TrueType font header table. All fields follow the OpenType specification.</p>
157
158 <hr>
159 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
160
161 <div class="section">
162 <h3 id="TT_HoriHeader">TT_HoriHeader</h3>
163 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
164 <pre>
165   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_HoriHeader_
166   {
167     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   Version;
168     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Ascender;
169     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Descender;
170     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Line_Gap;
171
172     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  advance_Width_Max;      /* advance width maximum */
173
174     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   min_Left_Side_Bearing;  /* minimum left-sb       */
175     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   min_Right_Side_Bearing; /* minimum right-sb      */
176     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   xMax_Extent;            /* xmax extents          */
177     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   caret_Slope_Rise;
178     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   caret_Slope_Run;
179     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   caret_Offset;
180
181     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Reserved[4];
182
183     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   metric_Data_Format;
184     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  number_Of_HMetrics;
185
186     /* The following fields are not defined by the OpenType specification */
187     /* but they are used to connect the metrics header to the relevant    */
188     /* `hmtx' table.                                                      */
189
190     <span class="keyword">void</span>*      long_metrics;
191     <span class="keyword">void</span>*      short_metrics;
192
193   } <b>TT_HoriHeader</b>;
194 </pre>
195
196 <p>A structure to model a TrueType horizontal header, the &lsquo;hhea&rsquo; table, as well as the corresponding horizontal metrics table, &lsquo;hmtx&rsquo;.</p>
197
198 <h4>fields</h4>
199 <table class="fields">
200 <tr><td class="val" id="Version">Version</td><td class="desc">
201 <p>The table version.</p>
202 </td></tr>
203 <tr><td class="val" id="Ascender">Ascender</td><td class="desc">
204 <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>
205 <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>
206 <p>You should use the &lsquo;sTypoAscender&rsquo; field of the &lsquo;OS/2&rsquo; table instead if you want the correct one.</p>
207 </td></tr>
208 <tr><td class="val" id="Descender">Descender</td><td class="desc">
209 <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>
210 <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>
211 <p>You should use the &lsquo;sTypoDescender&rsquo; field of the &lsquo;OS/2&rsquo; table instead if you want the correct one.</p>
212 </td></tr>
213 <tr><td class="val" id="Line_Gap">Line_Gap</td><td class="desc">
214 <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>
215 </td></tr>
216 <tr><td class="val" id="advance_Width_Max">advance_Width_Max</td><td class="desc">
217 <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>
218 </td></tr>
219 <tr><td class="val" id="min_Left_Side_Bearing">min_Left_Side_Bearing</td><td class="desc">
220 <p>The minimum left side bearing of all glyphs within the font.</p>
221 </td></tr>
222 <tr><td class="val" id="min_Right_Side_Bearing">min_Right_Side_Bearing</td><td class="desc">
223 <p>The minimum right side bearing of all glyphs within the font.</p>
224 </td></tr>
225 <tr><td class="val" id="xMax_Extent">xMax_Extent</td><td class="desc">
226 <p>The maximum horizontal extent (i.e., the &lsquo;width&rsquo; of a glyph's bounding box) for all glyphs in the font.</p>
227 </td></tr>
228 <tr><td class="val" id="caret_Slope_Rise">caret_Slope_Rise</td><td class="desc">
229 <p>The rise coefficient of the cursor's slope of the cursor (slope=rise/run).</p>
230 </td></tr>
231 <tr><td class="val" id="caret_Slope_Run">caret_Slope_Run</td><td class="desc">
232 <p>The run coefficient of the cursor's slope.</p>
233 </td></tr>
234 <tr><td class="val" id="caret_Offset">caret_Offset</td><td class="desc">
235 <p>The cursor's offset for slanted fonts.</p>
236 </td></tr>
237 <tr><td class="val" id="Reserved">Reserved</td><td class="desc">
238 <p>8&nbsp;reserved bytes.</p>
239 </td></tr>
240 <tr><td class="val" id="metric_Data_Format">metric_Data_Format</td><td class="desc">
241 <p>Always&nbsp;0.</p>
242 </td></tr>
243 <tr><td class="val" id="number_Of_HMetrics">number_Of_HMetrics</td><td class="desc">
244 <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>
245 </td></tr>
246 <tr><td class="val" id="long_metrics">long_metrics</td><td class="desc">
247 <p>A pointer into the &lsquo;hmtx&rsquo; table.</p>
248 </td></tr>
249 <tr><td class="val" id="short_metrics">short_metrics</td><td class="desc">
250 <p>A pointer into the &lsquo;hmtx&rsquo; table.</p>
251 </td></tr>
252 </table>
253
254 <h4>note</h4>
255 <p>For an OpenType variation font, the values of the following fields can change after a call to <a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a> (and friends) if the font contains an &lsquo;MVAR&rsquo; table: &lsquo;caret_Slope_Rise&rsquo;, &lsquo;caret_Slope_Run&rsquo;, and &lsquo;caret_Offset&rsquo;.</p>
256
257 <hr>
258 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
259
260 <div class="section">
261 <h3 id="TT_VertHeader">TT_VertHeader</h3>
262 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
263 <pre>
264   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_VertHeader_
265   {
266     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   Version;
267     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Ascender;
268     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Descender;
269     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Line_Gap;
270
271     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  advance_Height_Max;      /* advance height maximum */
272
273     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   min_Top_Side_Bearing;    /* minimum top-sb          */
274     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   min_Bottom_Side_Bearing; /* minimum bottom-sb       */
275     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   yMax_Extent;             /* ymax extents            */
276     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   caret_Slope_Rise;
277     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   caret_Slope_Run;
278     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   caret_Offset;
279
280     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   Reserved[4];
281
282     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   metric_Data_Format;
283     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  number_Of_VMetrics;
284
285     /* The following fields are not defined by the OpenType specification */
286     /* but they are used to connect the metrics header to the relevant    */
287     /* `vmtx' table.                                                      */
288
289     <span class="keyword">void</span>*      long_metrics;
290     <span class="keyword">void</span>*      short_metrics;
291
292   } <b>TT_VertHeader</b>;
293 </pre>
294
295 <p>A structure used to model a TrueType vertical header, the &lsquo;vhea&rsquo; table, as well as the corresponding vertical metrics table, &lsquo;vmtx&rsquo;.</p>
296
297 <h4>fields</h4>
298 <table class="fields">
299 <tr><td class="val" id="Version">Version</td><td class="desc">
300 <p>The table version.</p>
301 </td></tr>
302 <tr><td class="val" id="Ascender">Ascender</td><td class="desc">
303 <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>
304 <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>
305 <p>You should use the &lsquo;sTypoAscender&rsquo; field of the &lsquo;OS/2&rsquo; table instead if you want the correct one.</p>
306 </td></tr>
307 <tr><td class="val" id="Descender">Descender</td><td class="desc">
308 <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>
309 <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>
310 <p>You should use the &lsquo;sTypoDescender&rsquo; field of the &lsquo;OS/2&rsquo; table instead if you want the correct one.</p>
311 </td></tr>
312 <tr><td class="val" id="Line_Gap">Line_Gap</td><td class="desc">
313 <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>
314 </td></tr>
315 <tr><td class="val" id="advance_Height_Max">advance_Height_Max</td><td class="desc">
316 <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>
317 </td></tr>
318 <tr><td class="val" id="min_Top_Side_Bearing">min_Top_Side_Bearing</td><td class="desc">
319 <p>The minimum top side bearing of all glyphs within the font.</p>
320 </td></tr>
321 <tr><td class="val" id="min_Bottom_Side_Bearing">min_Bottom_Side_Bearing</td><td class="desc">
322 <p>The minimum bottom side bearing of all glyphs within the font.</p>
323 </td></tr>
324 <tr><td class="val" id="yMax_Extent">yMax_Extent</td><td class="desc">
325 <p>The maximum vertical extent (i.e., the &lsquo;height&rsquo; of a glyph's bounding box) for all glyphs in the font.</p>
326 </td></tr>
327 <tr><td class="val" id="caret_Slope_Rise">caret_Slope_Rise</td><td class="desc">
328 <p>The rise coefficient of the cursor's slope of the cursor (slope=rise/run).</p>
329 </td></tr>
330 <tr><td class="val" id="caret_Slope_Run">caret_Slope_Run</td><td class="desc">
331 <p>The run coefficient of the cursor's slope.</p>
332 </td></tr>
333 <tr><td class="val" id="caret_Offset">caret_Offset</td><td class="desc">
334 <p>The cursor's offset for slanted fonts.</p>
335 </td></tr>
336 <tr><td class="val" id="Reserved">Reserved</td><td class="desc">
337 <p>8&nbsp;reserved bytes.</p>
338 </td></tr>
339 <tr><td class="val" id="metric_Data_Format">metric_Data_Format</td><td class="desc">
340 <p>Always&nbsp;0.</p>
341 </td></tr>
342 <tr><td class="val" id="number_Of_VMetrics">number_Of_VMetrics</td><td class="desc">
343 <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>
344 </td></tr>
345 <tr><td class="val" id="long_metrics">long_metrics</td><td class="desc">
346 <p>A pointer into the &lsquo;vmtx&rsquo; table.</p>
347 </td></tr>
348 <tr><td class="val" id="short_metrics">short_metrics</td><td class="desc">
349 <p>A pointer into the &lsquo;vmtx&rsquo; table.</p>
350 </td></tr>
351 </table>
352
353 <h4>note</h4>
354 <p>For an OpenType variation font, the values of the following fields can change after a call to <a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a> (and friends) if the font contains an &lsquo;MVAR&rsquo; table: &lsquo;Ascender&rsquo;, &lsquo;Descender&rsquo;, &lsquo;Line_Gap&rsquo;, &lsquo;caret_Slope_Rise&rsquo;, &lsquo;caret_Slope_Run&rsquo;, and &lsquo;caret_Offset&rsquo;.</p>
355
356 <hr>
357 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
358
359 <div class="section">
360 <h3 id="TT_OS2">TT_OS2</h3>
361 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
362 <pre>
363   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_OS2_
364   {
365     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  version;                /* 0x0001 - more or 0xFFFF */
366     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   xAvgCharWidth;
367     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usWeightClass;
368     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usWidthClass;
369     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  fsType;
370     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySubscriptXSize;
371     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySubscriptYSize;
372     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySubscriptXOffset;
373     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySubscriptYOffset;
374     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySuperscriptXSize;
375     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySuperscriptYSize;
376     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySuperscriptXOffset;
377     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   ySuperscriptYOffset;
378     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   yStrikeoutSize;
379     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   yStrikeoutPosition;
380     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sFamilyClass;
381
382     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    panose[10];
383
384     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulUnicodeRange1;        /* Bits 0-31   */
385     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulUnicodeRange2;        /* Bits 32-63  */
386     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulUnicodeRange3;        /* Bits 64-95  */
387     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulUnicodeRange4;        /* Bits 96-127 */
388
389     <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    achVendID[4];
390
391     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  fsSelection;
392     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usFirstCharIndex;
393     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usLastCharIndex;
394     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sTypoAscender;
395     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sTypoDescender;
396     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sTypoLineGap;
397     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usWinAscent;
398     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usWinDescent;
399
400     /* only version 1 and higher: */
401
402     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulCodePageRange1;       /* Bits 0-31   */
403     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   ulCodePageRange2;       /* Bits 32-63  */
404
405     /* only version 2 and higher: */
406
407     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sxHeight;
408     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   sCapHeight;
409     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usDefaultChar;
410     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usBreakChar;
411     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usMaxContext;
412
413     /* only version 5 and higher: */
414
415     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usLowerOpticalPointSize;       /* in twips (1/20th points) */
416     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  usUpperOpticalPointSize;       /* in twips (1/20th points) */
417
418   } <b>TT_OS2</b>;
419 </pre>
420
421 <p>A structure to model a TrueType &lsquo;OS/2&rsquo; table. All fields comply to the OpenType specification.</p>
422 <p>Note that we now support old Mac fonts that do not include an &lsquo;OS/2&rsquo; table. In this case, the &lsquo;version&rsquo; field is always set to 0xFFFF.</p>
423
424 <h4>note</h4>
425 <p>For an OpenType variation font, the values of the following fields can change after a call to <a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a> (and friends) if the font contains an &lsquo;MVAR&rsquo; table: &lsquo;sCapHeight&rsquo;, &lsquo;sTypoAscender&rsquo;, &lsquo;sTypoDescender&rsquo;, &lsquo;sTypoLineGap&rsquo;, &lsquo;sxHeight&rsquo;, &lsquo;usWinAscent&rsquo;, &lsquo;usWinDescent&rsquo;, &lsquo;yStrikeoutPosition&rsquo;, &lsquo;yStrikeoutSize&rsquo;, &lsquo;ySubscriptXOffset&rsquo;, &lsquo;ySubScriptXSize&rsquo;, &lsquo;ySubscriptYOffset&rsquo;, &lsquo;ySubscriptYSize&rsquo;, &lsquo;ySuperscriptXOffset&rsquo;, &lsquo;ySuperscriptXSize&rsquo;, &lsquo;ySuperscriptYOffset&rsquo;, and &lsquo;ySuperscriptYSize&rsquo;.</p>
426 <p>Possible values for bits in the &lsquo;ulUnicodeRangeX&rsquo; fields are given by the <a href="ft2-truetype_tables.html#TT_UCR_XXX">TT_UCR_XXX</a> macros.</p>
427
428 <hr>
429 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
430
431 <div class="section">
432 <h3 id="TT_Postscript">TT_Postscript</h3>
433 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
434 <pre>
435   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_Postscript_
436   {
437     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>  FormatType;
438     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>  italicAngle;
439     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>  underlinePosition;
440     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>  underlineThickness;
441     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  isFixedPitch;
442     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  minMemType42;
443     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  maxMemType42;
444     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  minMemType1;
445     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  maxMemType1;
446
447     /* Glyph names follow in the `post' table, but we don't */
448     /* load them by default.                                */
449
450   } <b>TT_Postscript</b>;
451 </pre>
452
453 <p>A structure to model a TrueType &lsquo;post&rsquo; table. All fields comply to the OpenType specification. This structure does not reference a font's PostScript glyph names; use <a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a> to retrieve them.</p>
454
455 <h4>note</h4>
456 <p>For an OpenType variation font, the values of the following fields can change after a call to <a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a> (and friends) if the font contains an &lsquo;MVAR&rsquo; table: &lsquo;underlinePosition&rsquo; and &lsquo;underlineThickness&rsquo;.</p>
457
458 <hr>
459 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
460
461 <div class="section">
462 <h3 id="TT_PCLT">TT_PCLT</h3>
463 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
464 <pre>
465   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_PCLT_
466   {
467     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   Version;
468     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   FontNumber;
469     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Pitch;
470     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  xHeight;
471     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  Style;
472     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  TypeFamily;
473     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  CapHeight;
474     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  SymbolSet;
475     <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    TypeFace[16];
476     <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    CharacterComplement[8];
477     <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    FileName[6];
478     <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    StrokeWeight;
479     <a href="ft2-basic_types.html#FT_Char">FT_Char</a>    WidthType;
480     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    SerifStyle;
481     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    Reserved;
482
483   } <b>TT_PCLT</b>;
484 </pre>
485
486 <p>A structure to model a TrueType &lsquo;PCLT&rsquo; table. All fields comply to the OpenType specification.</p>
487
488 <hr>
489 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
490
491 <div class="section">
492 <h3 id="TT_MaxProfile">TT_MaxProfile</h3>
493 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
494 <pre>
495   <span class="keyword">typedef</span> <span class="keyword">struct</span>  TT_MaxProfile_
496   {
497     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   version;
498     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  numGlyphs;
499     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxPoints;
500     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxContours;
501     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxCompositePoints;
502     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxCompositeContours;
503     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxZones;
504     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxTwilightPoints;
505     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxStorage;
506     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxFunctionDefs;
507     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxInstructionDefs;
508     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxStackElements;
509     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxSizeOfInstructions;
510     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxComponentElements;
511     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  maxComponentDepth;
512
513   } <b>TT_MaxProfile</b>;
514 </pre>
515
516 <p>The maximum profile (&lsquo;maxp&rsquo;) table contains many max values, which can be used to pre-allocate arrays for speeding up glyph loading and hinting.</p>
517
518 <h4>fields</h4>
519 <table class="fields">
520 <tr><td class="val" id="version">version</td><td class="desc">
521 <p>The version number.</p>
522 </td></tr>
523 <tr><td class="val" id="numGlyphs">numGlyphs</td><td class="desc">
524 <p>The number of glyphs in this TrueType font.</p>
525 </td></tr>
526 <tr><td class="val" id="maxPoints">maxPoints</td><td class="desc">
527 <p>The maximum number of points in a non-composite TrueType glyph. See also &lsquo;maxCompositePoints&rsquo;.</p>
528 </td></tr>
529 <tr><td class="val" id="maxContours">maxContours</td><td class="desc">
530 <p>The maximum number of contours in a non-composite TrueType glyph. See also &lsquo;maxCompositeContours&rsquo;.</p>
531 </td></tr>
532 <tr><td class="val" id="maxCompositePoints">maxCompositePoints</td><td class="desc">
533 <p>The maximum number of points in a composite TrueType glyph. See also &lsquo;maxPoints&rsquo;.</p>
534 </td></tr>
535 <tr><td class="val" id="maxCompositeContours">maxCompositeContours</td><td class="desc">
536 <p>The maximum number of contours in a composite TrueType glyph. See also &lsquo;maxContours&rsquo;.</p>
537 </td></tr>
538 <tr><td class="val" id="maxZones">maxZones</td><td class="desc">
539 <p>The maximum number of zones used for glyph hinting.</p>
540 </td></tr>
541 <tr><td class="val" id="maxTwilightPoints">maxTwilightPoints</td><td class="desc">
542 <p>The maximum number of points in the twilight zone used for glyph hinting.</p>
543 </td></tr>
544 <tr><td class="val" id="maxStorage">maxStorage</td><td class="desc">
545 <p>The maximum number of elements in the storage area used for glyph hinting.</p>
546 </td></tr>
547 <tr><td class="val" id="maxFunctionDefs">maxFunctionDefs</td><td class="desc">
548 <p>The maximum number of function definitions in the TrueType bytecode for this font.</p>
549 </td></tr>
550 <tr><td class="val" id="maxInstructionDefs">maxInstructionDefs</td><td class="desc">
551 <p>The maximum number of instruction definitions in the TrueType bytecode for this font.</p>
552 </td></tr>
553 <tr><td class="val" id="maxStackElements">maxStackElements</td><td class="desc">
554 <p>The maximum number of stack elements used during bytecode interpretation.</p>
555 </td></tr>
556 <tr><td class="val" id="maxSizeOfInstructions">maxSizeOfInstructions</td><td class="desc">
557 <p>The maximum number of TrueType opcodes used for glyph hinting.</p>
558 </td></tr>
559 <tr><td class="val" id="maxComponentElements">maxComponentElements</td><td class="desc">
560 <p>The maximum number of simple (i.e., non- composite) glyphs in a composite glyph.</p>
561 </td></tr>
562 <tr><td class="val" id="maxComponentDepth">maxComponentDepth</td><td class="desc">
563 <p>The maximum nesting depth of composite glyphs.</p>
564 </td></tr>
565 </table>
566
567 <h4>note</h4>
568 <p>This structure is only used during font loading.</p>
569
570 <hr>
571 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
572
573 <div class="section">
574 <h3 id="FT_Sfnt_Tag">FT_Sfnt_Tag</h3>
575 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
576 <pre>
577   <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Sfnt_Tag_
578   {
579     <a href="ft2-truetype_tables.html#FT_SFNT_HEAD">FT_SFNT_HEAD</a>,
580     <a href="ft2-truetype_tables.html#FT_SFNT_MAXP">FT_SFNT_MAXP</a>,
581     <a href="ft2-truetype_tables.html#FT_SFNT_OS2">FT_SFNT_OS2</a>,
582     <a href="ft2-truetype_tables.html#FT_SFNT_HHEA">FT_SFNT_HHEA</a>,
583     <a href="ft2-truetype_tables.html#FT_SFNT_VHEA">FT_SFNT_VHEA</a>,
584     <a href="ft2-truetype_tables.html#FT_SFNT_POST">FT_SFNT_POST</a>,
585     <a href="ft2-truetype_tables.html#FT_SFNT_PCLT">FT_SFNT_PCLT</a>,
586
587     FT_SFNT_MAX
588
589   } <b>FT_Sfnt_Tag</b>;
590
591   /* these constants are deprecated; use the corresponding `<b>FT_Sfnt_Tag</b>' */
592   /* values instead                                                      */
593 #define ft_sfnt_head  <a href="ft2-truetype_tables.html#FT_SFNT_HEAD">FT_SFNT_HEAD</a>
594 #define ft_sfnt_maxp  <a href="ft2-truetype_tables.html#FT_SFNT_MAXP">FT_SFNT_MAXP</a>
595 #define ft_sfnt_os2   <a href="ft2-truetype_tables.html#FT_SFNT_OS2">FT_SFNT_OS2</a>
596 #define ft_sfnt_hhea  <a href="ft2-truetype_tables.html#FT_SFNT_HHEA">FT_SFNT_HHEA</a>
597 #define ft_sfnt_vhea  <a href="ft2-truetype_tables.html#FT_SFNT_VHEA">FT_SFNT_VHEA</a>
598 #define ft_sfnt_post  <a href="ft2-truetype_tables.html#FT_SFNT_POST">FT_SFNT_POST</a>
599 #define ft_sfnt_pclt  <a href="ft2-truetype_tables.html#FT_SFNT_PCLT">FT_SFNT_PCLT</a>
600 </pre>
601
602 <p>An enumeration to specify indices of SFNT tables loaded and parsed by FreeType during initialization of an SFNT font. Used in the <a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a> API function.</p>
603
604 <h4>values</h4>
605 <table class="fields">
606 <tr><td class="val" id="FT_SFNT_HEAD">FT_SFNT_HEAD</td><td class="desc">
607 <p>To access the font's <a href="ft2-truetype_tables.html#TT_Header">TT_Header</a> structure.</p>
608 </td></tr>
609 <tr><td class="val" id="FT_SFNT_MAXP">FT_SFNT_MAXP</td><td class="desc">
610 <p>To access the font's <a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a> structure.</p>
611 </td></tr>
612 <tr><td class="val" id="FT_SFNT_OS2">FT_SFNT_OS2</td><td class="desc">
613 <p>To access the font's <a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a> structure.</p>
614 </td></tr>
615 <tr><td class="val" id="FT_SFNT_HHEA">FT_SFNT_HHEA</td><td class="desc">
616 <p>To access the font's <a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a> structure.</p>
617 </td></tr>
618 <tr><td class="val" id="FT_SFNT_VHEA">FT_SFNT_VHEA</td><td class="desc">
619 <p>To access the font's <a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a> structure.</p>
620 </td></tr>
621 <tr><td class="val" id="FT_SFNT_POST">FT_SFNT_POST</td><td class="desc">
622 <p>To access the font's <a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a> structure.</p>
623 </td></tr>
624 <tr><td class="val" id="FT_SFNT_PCLT">FT_SFNT_PCLT</td><td class="desc">
625 <p>To access the font's <a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a> structure.</p>
626 </td></tr>
627 </table>
628
629 <hr>
630 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
631
632 <div class="section">
633 <h3 id="FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</h3>
634 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
635 <pre>
636   FT_EXPORT( <span class="keyword">void</span>* )
637   <b>FT_Get_Sfnt_Table</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a>      face,
638                      <a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a>  tag );
639 </pre>
640
641 <p>Return a pointer to a given SFNT table stored within a face.</p>
642
643 <h4>input</h4>
644 <table class="fields">
645 <tr><td class="val" id="face">face</td><td class="desc">
646 <p>A handle to the source.</p>
647 </td></tr>
648 <tr><td class="val" id="tag">tag</td><td class="desc">
649 <p>The index of the SFNT table.</p>
650 </td></tr>
651 </table>
652
653 <h4>return</h4>
654 <p>A type-less pointer to the table. This will be NULL in case of error, or if the corresponding table was not found <b>OR</b> loaded from the file.</p>
655 <p>Use a typecast according to &lsquo;tag&rsquo; to access the structure elements.</p>
656
657 <h4>note</h4>
658 <p>The table is owned by the face object and disappears with it.</p>
659 <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>
660 <p>Here an example how to access the &lsquo;vhea&rsquo; table:</p>
661 <pre class="colored">
662   TT_VertHeader*  vert_header;
663
664
665   vert_header =
666     (TT_VertHeader*)FT_Get_Sfnt_Table( face, FT_SFNT_VHEA );
667 </pre>
668
669 <hr>
670 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
671
672 <div class="section">
673 <h3 id="FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</h3>
674 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
675 <pre>
676   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
677   <b>FT_Load_Sfnt_Table</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a>    face,
678                       <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>   tag,
679                       <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    offset,
680                       <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>*   buffer,
681                       <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>*  length );
682 </pre>
683
684 <p>Load any SFNT font table into client memory.</p>
685
686 <h4>input</h4>
687 <table class="fields">
688 <tr><td class="val" id="face">face</td><td class="desc">
689 <p>A handle to the source face.</p>
690 </td></tr>
691 <tr><td class="val" id="tag">tag</td><td class="desc">
692 <p>The four-byte tag of the table to load. Use 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>
693 </td></tr>
694 <tr><td class="val" id="offset">offset</td><td class="desc">
695 <p>The starting offset in the table (or file if tag&nbsp;==&nbsp;0).</p>
696 </td></tr>
697 </table>
698
699 <h4>output</h4>
700 <table class="fields">
701 <tr><td class="val" id="buffer">buffer</td><td class="desc">
702 <p>The target buffer address. The client must ensure that the memory array is big enough to hold the data.</p>
703 </td></tr>
704 </table>
705
706 <h4>inout</h4>
707 <table class="fields">
708 <tr><td class="val" id="length">length</td><td class="desc">
709 <p>If the &lsquo;length&rsquo; parameter is NULL, try to load the whole table. Return an error code if it fails.</p>
710 <p>Else, if &lsquo;*length&rsquo; is&nbsp;0, exit immediately while returning the table's (or file) full size in it.</p>
711 <p>Else the number of bytes to read from the table or file, from the starting offset.</p>
712 </td></tr>
713 </table>
714
715 <h4>return</h4>
716 <p>FreeType error code. 0&nbsp;means success.</p>
717
718 <h4>note</h4>
719 <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>
720 <pre class="colored">
721   FT_ULong  length = 0;
722
723
724   error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &amp;length );
725   if ( error ) { ... table does not exist ... }
726
727   buffer = malloc( length );
728   if ( buffer == NULL ) { ... not enough memory ... }
729
730   error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &amp;length );
731   if ( error ) { ... could not load table ... }
732 </pre>
733 <p>Note that structures like <a href="ft2-truetype_tables.html#TT_Header">TT_Header</a> or <a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a> can't be used with this function; they are limited to <a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a>. Reason is that those structures depend on the processor architecture, with varying size (e.g. 32bit vs. 64bit) or order (big endian vs. little endian).</p>
734
735 <hr>
736 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
737
738 <div class="section">
739 <h3 id="FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</h3>
740 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
741 <pre>
742   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
743   <b>FT_Sfnt_Table_Info</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a>    face,
744                       <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a>    table_index,
745                       <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  *tag,
746                       <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>  *length );
747 </pre>
748
749 <p>Return information on an SFNT table.</p>
750
751 <h4>input</h4>
752 <table class="fields">
753 <tr><td class="val" id="face">face</td><td class="desc">
754 <p>A handle to the source face.</p>
755 </td></tr>
756 <tr><td class="val" id="table_index">table_index</td><td class="desc">
757 <p>The index of an SFNT table. The function returns FT_Err_Table_Missing for an invalid value.</p>
758 </td></tr>
759 </table>
760
761 <h4>inout</h4>
762 <table class="fields">
763 <tr><td class="val" id="tag">tag</td><td class="desc">
764 <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>
765 </td></tr>
766 </table>
767
768 <h4>output</h4>
769 <table class="fields">
770 <tr><td class="val" id="length">length</td><td class="desc">
771 <p>The length of the SFNT table (or the number of SFNT tables, depending on &lsquo;tag&rsquo;).</p>
772 </td></tr>
773 </table>
774
775 <h4>return</h4>
776 <p>FreeType error code. 0&nbsp;means success.</p>
777
778 <h4>note</h4>
779 <p>While parsing fonts, FreeType handles SFNT tables with length zero as missing.</p>
780
781 <hr>
782 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
783
784 <div class="section">
785 <h3 id="FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</h3>
786 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
787 <pre>
788   FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> )
789   <b>FT_Get_CMap_Language_ID</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a>  charmap );
790 </pre>
791
792 <p>Return cmap language ID as specified in the OpenType standard. Definitions of language ID values are in file <a href="ft2-header_file_macros.html#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a>.</p>
793
794 <h4>input</h4>
795 <table class="fields">
796 <tr><td class="val" id="charmap">charmap</td><td class="desc">
797 <p>The target charmap.</p>
798 </td></tr>
799 </table>
800
801 <h4>return</h4>
802 <p>The language ID of &lsquo;charmap&rsquo;. If &lsquo;charmap&rsquo; doesn't belong to an SFNT face, just return&nbsp;0 as the default value.</p>
803 <p>For a format&nbsp;14 cmap (to access Unicode IVS), the return value is 0xFFFFFFFF.</p>
804
805 <hr>
806 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
807
808 <div class="section">
809 <h3 id="FT_Get_CMap_Format">FT_Get_CMap_Format</h3>
810 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
811 <pre>
812   FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> )
813   <b>FT_Get_CMap_Format</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a>  charmap );
814 </pre>
815
816 <p>Return the format of an SFNT &lsquo;cmap&rsquo; table.</p>
817
818 <h4>input</h4>
819 <table class="fields">
820 <tr><td class="val" id="charmap">charmap</td><td class="desc">
821 <p>The target charmap.</p>
822 </td></tr>
823 </table>
824
825 <h4>return</h4>
826 <p>The format of &lsquo;charmap&rsquo;. If &lsquo;charmap&rsquo; doesn't belong to an SFNT face, return -1.</p>
827
828 <hr>
829 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
830
831 <div class="section">
832 <h3 id="FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</h3>
833 <pre>
834 #define <b>FT_PARAM_TAG_UNPATENTED_HINTING</b> \
835           <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'u', 'n', 'p', 'a' )
836 </pre>
837
838 <p>Deprecated, no effect.</p>
839 <p>Previously: 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>
840
841 <hr>
842 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
843
844 <div class="section">
845 <h3 id="TT_PLATFORM_XXX">TT_PLATFORM_XXX</h3>
846 <p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
847 <pre>
848 #define <a href="ft2-truetype_tables.html#TT_PLATFORM_APPLE_UNICODE">TT_PLATFORM_APPLE_UNICODE</a>  0
849 #define <a href="ft2-truetype_tables.html#TT_PLATFORM_MACINTOSH">TT_PLATFORM_MACINTOSH</a>      1
850 #define <a href="ft2-truetype_tables.html#TT_PLATFORM_ISO">TT_PLATFORM_ISO</a>            2 /* deprecated */
851 #define <a href="ft2-truetype_tables.html#TT_PLATFORM_MICROSOFT">TT_PLATFORM_MICROSOFT</a>      3
852 #define <a href="ft2-truetype_tables.html#TT_PLATFORM_CUSTOM">TT_PLATFORM_CUSTOM</a>         4
853 #define <a href="ft2-truetype_tables.html#TT_PLATFORM_ADOBE">TT_PLATFORM_ADOBE</a>          7 /* artificial */
854 </pre>
855
856 <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>
857
858 <h4>values</h4>
859 <table class="fields">
860 <tr><td class="val" id="TT_PLATFORM_APPLE_UNICODE">TT_PLATFORM_APPLE_UNICODE</td><td class="desc">
861 <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>
862 </td></tr>
863 <tr><td class="val" id="TT_PLATFORM_MACINTOSH">TT_PLATFORM_MACINTOSH</td><td class="desc">
864 <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>
865 </td></tr>
866 <tr><td class="val" id="TT_PLATFORM_ISO">TT_PLATFORM_ISO</td><td class="desc">
867 <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>
868 </td></tr>
869 <tr><td class="val" id="TT_PLATFORM_MICROSOFT">TT_PLATFORM_MICROSOFT</td><td class="desc">
870 <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>
871 </td></tr>
872 <tr><td class="val" id="TT_PLATFORM_CUSTOM">TT_PLATFORM_CUSTOM</td><td class="desc">
873 <p>Used to indicate application-specific charmaps.</p>
874 </td></tr>
875 <tr><td class="val" id="TT_PLATFORM_ADOBE">TT_PLATFORM_ADOBE</td><td class="desc">
876 <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>
877 </td></tr>
878 </table>
879
880 <hr>
881 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
882
883 <div class="section">
884 <h3 id="TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</h3>
885 <p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
886 <pre>
887 #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_DEFAULT">TT_APPLE_ID_DEFAULT</a>           0 /* Unicode 1.0                   */
888 #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_UNICODE_1_1">TT_APPLE_ID_UNICODE_1_1</a>       1 /* specify Hangul at U+34xx      */
889 #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_ISO_10646">TT_APPLE_ID_ISO_10646</a>         2 /* deprecated                    */
890 #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_UNICODE_2_0">TT_APPLE_ID_UNICODE_2_0</a>       3 /* or later                      */
891 #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_UNICODE_32">TT_APPLE_ID_UNICODE_32</a>        4 /* 2.0 or later, full repertoire */
892 #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_VARIANT_SELECTOR">TT_APPLE_ID_VARIANT_SELECTOR</a>  5 /* variation selector data       */
893 #define <a href="ft2-truetype_tables.html#TT_APPLE_ID_FULL_UNICODE">TT_APPLE_ID_FULL_UNICODE</a>      6 /* used with type 13 cmaps       */
894 </pre>
895
896 <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>
897
898 <h4>values</h4>
899 <table class="fields">
900 <tr><td class="val" id="TT_APPLE_ID_DEFAULT">TT_APPLE_ID_DEFAULT</td><td class="desc">
901 <p>Unicode version 1.0.</p>
902 </td></tr>
903 <tr><td class="val" id="TT_APPLE_ID_UNICODE_1_1">TT_APPLE_ID_UNICODE_1_1</td><td class="desc">
904 <p>Unicode 1.1; specifies Hangul characters starting at U+34xx.</p>
905 </td></tr>
906 <tr><td class="val" id="TT_APPLE_ID_ISO_10646">TT_APPLE_ID_ISO_10646</td><td class="desc">
907 <p>Deprecated (identical to preceding).</p>
908 </td></tr>
909 <tr><td class="val" id="TT_APPLE_ID_UNICODE_2_0">TT_APPLE_ID_UNICODE_2_0</td><td class="desc">
910 <p>Unicode 2.0 and beyond (UTF-16 BMP only).</p>
911 </td></tr>
912 <tr><td class="val" id="TT_APPLE_ID_UNICODE_32">TT_APPLE_ID_UNICODE_32</td><td class="desc">
913 <p>Unicode 3.1 and beyond, using UTF-32.</p>
914 </td></tr>
915 <tr><td class="val" id="TT_APPLE_ID_VARIANT_SELECTOR">TT_APPLE_ID_VARIANT_SELECTOR</td><td class="desc">
916 <p>From Adobe, not Apple. Not a normal cmap. Specifies variations on a real cmap.</p>
917 </td></tr>
918 <tr><td class="val" id="TT_APPLE_ID_FULL_UNICODE">TT_APPLE_ID_FULL_UNICODE</td><td class="desc">
919 <p>Used for fallback fonts that provide complete Unicode coverage with a type&nbsp;13 cmap.</p>
920 </td></tr>
921 </table>
922
923 <hr>
924 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
925
926 <div class="section">
927 <h3 id="TT_MAC_ID_XXX">TT_MAC_ID_XXX</h3>
928 <p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
929 <pre>
930 #define TT_MAC_ID_ROMAN                 0
931 #define TT_MAC_ID_JAPANESE              1
932 #define TT_MAC_ID_TRADITIONAL_CHINESE   2
933 #define TT_MAC_ID_KOREAN                3
934 #define TT_MAC_ID_ARABIC                4
935 #define TT_MAC_ID_HEBREW                5
936 #define TT_MAC_ID_GREEK                 6
937 #define TT_MAC_ID_RUSSIAN               7
938 #define TT_MAC_ID_RSYMBOL               8
939 #define TT_MAC_ID_DEVANAGARI            9
940 #define TT_MAC_ID_GURMUKHI             10
941 #define TT_MAC_ID_GUJARATI             11
942 #define TT_MAC_ID_ORIYA                12
943 #define TT_MAC_ID_BENGALI              13
944 #define TT_MAC_ID_TAMIL                14
945 #define TT_MAC_ID_TELUGU               15
946 #define TT_MAC_ID_KANNADA              16
947 #define TT_MAC_ID_MALAYALAM            17
948 #define TT_MAC_ID_SINHALESE            18
949 #define TT_MAC_ID_BURMESE              19
950 #define TT_MAC_ID_KHMER                20
951 #define TT_MAC_ID_THAI                 21
952 #define TT_MAC_ID_LAOTIAN              22
953 #define TT_MAC_ID_GEORGIAN             23
954 #define TT_MAC_ID_ARMENIAN             24
955 #define TT_MAC_ID_MALDIVIAN            25
956 #define TT_MAC_ID_SIMPLIFIED_CHINESE   25
957 #define TT_MAC_ID_TIBETAN              26
958 #define TT_MAC_ID_MONGOLIAN            27
959 #define TT_MAC_ID_GEEZ                 28
960 #define TT_MAC_ID_SLAVIC               29
961 #define TT_MAC_ID_VIETNAMESE           30
962 #define TT_MAC_ID_SINDHI               31
963 #define TT_MAC_ID_UNINTERP             32
964 </pre>
965
966 <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>
967
968 <hr>
969 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
970
971 <div class="section">
972 <h3 id="TT_ISO_ID_XXX">TT_ISO_ID_XXX</h3>
973 <p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
974 <pre>
975 #define <a href="ft2-truetype_tables.html#TT_ISO_ID_7BIT_ASCII">TT_ISO_ID_7BIT_ASCII</a>  0
976 #define <a href="ft2-truetype_tables.html#TT_ISO_ID_10646">TT_ISO_ID_10646</a>       1
977 #define <a href="ft2-truetype_tables.html#TT_ISO_ID_8859_1">TT_ISO_ID_8859_1</a>      2
978 </pre>
979
980 <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>
981 <p>Their use is now deprecated.</p>
982
983 <h4>values</h4>
984 <table class="fields">
985 <tr><td class="val" id="TT_ISO_ID_7BIT_ASCII">TT_ISO_ID_7BIT_ASCII</td><td class="desc">
986 <p>ASCII.</p>
987 </td></tr>
988 <tr><td class="val" id="TT_ISO_ID_10646">TT_ISO_ID_10646</td><td class="desc">
989 <p>ISO/10646.</p>
990 </td></tr>
991 <tr><td class="val" id="TT_ISO_ID_8859_1">TT_ISO_ID_8859_1</td><td class="desc">
992 <p>Also known as Latin-1.</p>
993 </td></tr>
994 </table>
995
996 <hr>
997 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
998
999 <div class="section">
1000 <h3 id="TT_MS_ID_XXX">TT_MS_ID_XXX</h3>
1001 <p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
1002 <pre>
1003 #define <a href="ft2-truetype_tables.html#TT_MS_ID_SYMBOL_CS">TT_MS_ID_SYMBOL_CS</a>    0
1004 #define <a href="ft2-truetype_tables.html#TT_MS_ID_UNICODE_CS">TT_MS_ID_UNICODE_CS</a>   1
1005 #define <a href="ft2-truetype_tables.html#TT_MS_ID_SJIS">TT_MS_ID_SJIS</a>         2
1006 #define <a href="ft2-truetype_tables.html#TT_MS_ID_PRC">TT_MS_ID_PRC</a>          3
1007 #define <a href="ft2-truetype_tables.html#TT_MS_ID_BIG_5">TT_MS_ID_BIG_5</a>        4
1008 #define <a href="ft2-truetype_tables.html#TT_MS_ID_WANSUNG">TT_MS_ID_WANSUNG</a>      5
1009 #define <a href="ft2-truetype_tables.html#TT_MS_ID_JOHAB">TT_MS_ID_JOHAB</a>        6
1010 #define <a href="ft2-truetype_tables.html#TT_MS_ID_UCS_4">TT_MS_ID_UCS_4</a>       10
1011
1012   /* this value is deprecated */
1013 #define TT_MS_ID_GB2312  <a href="ft2-truetype_tables.html#TT_MS_ID_PRC">TT_MS_ID_PRC</a>
1014 </pre>
1015
1016 <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>
1017
1018 <h4>values</h4>
1019 <table class="fields">
1020 <tr><td class="val" id="TT_MS_ID_SYMBOL_CS">TT_MS_ID_SYMBOL_CS</td><td class="desc">
1021 <p>Microsoft symbol encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a>.</p>
1022 </td></tr>
1023 <tr><td class="val" id="TT_MS_ID_UNICODE_CS">TT_MS_ID_UNICODE_CS</td><td class="desc">
1024 <p>Microsoft WGL4 charmap, matching Unicode. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a>.</p>
1025 </td></tr>
1026 <tr><td class="val" id="TT_MS_ID_SJIS">TT_MS_ID_SJIS</td><td class="desc">
1027 <p>Shift JIS Japanese encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a>.</p>
1028 </td></tr>
1029 <tr><td class="val" id="TT_MS_ID_PRC">TT_MS_ID_PRC</td><td class="desc">
1030 <p>Chinese encodings as used in the People's Republic of China (PRC). This means the encodings GB&nbsp;2312 and its supersets GBK and GB&nbsp;18030. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_PRC</a>.</p>
1031 </td></tr>
1032 <tr><td class="val" id="TT_MS_ID_BIG_5">TT_MS_ID_BIG_5</td><td class="desc">
1033 <p>Traditional Chinese as used in Taiwan and Hong Kong. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a>.</p>
1034 </td></tr>
1035 <tr><td class="val" id="TT_MS_ID_WANSUNG">TT_MS_ID_WANSUNG</td><td class="desc">
1036 <p>Korean Extended Wansung encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a>.</p>
1037 </td></tr>
1038 <tr><td class="val" id="TT_MS_ID_JOHAB">TT_MS_ID_JOHAB</td><td class="desc">
1039 <p>Korean Johab encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a>.</p>
1040 </td></tr>
1041 <tr><td class="val" id="TT_MS_ID_UCS_4">TT_MS_ID_UCS_4</td><td class="desc">
1042 <p>UCS-4 or UTF-32 charmaps. This has been added to the OpenType specification version 1.4 (mid-2001).</p>
1043 </td></tr>
1044 </table>
1045
1046 <hr>
1047 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
1048
1049 <div class="section">
1050 <h3 id="TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</h3>
1051 <p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
1052 <pre>
1053 #define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_STANDARD">TT_ADOBE_ID_STANDARD</a>  0
1054 #define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_EXPERT">TT_ADOBE_ID_EXPERT</a>    1
1055 #define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_CUSTOM">TT_ADOBE_ID_CUSTOM</a>    2
1056 #define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_LATIN_1">TT_ADOBE_ID_LATIN_1</a>   3
1057 </pre>
1058
1059 <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>
1060
1061 <h4>values</h4>
1062 <table class="fields">
1063 <tr><td class="val" id="TT_ADOBE_ID_STANDARD">TT_ADOBE_ID_STANDARD</td><td class="desc">
1064 <p>Adobe standard encoding.</p>
1065 </td></tr>
1066 <tr><td class="val" id="TT_ADOBE_ID_EXPERT">TT_ADOBE_ID_EXPERT</td><td class="desc">
1067 <p>Adobe expert encoding.</p>
1068 </td></tr>
1069 <tr><td class="val" id="TT_ADOBE_ID_CUSTOM">TT_ADOBE_ID_CUSTOM</td><td class="desc">
1070 <p>Adobe custom encoding.</p>
1071 </td></tr>
1072 <tr><td class="val" id="TT_ADOBE_ID_LATIN_1">TT_ADOBE_ID_LATIN_1</td><td class="desc">
1073 <p>Adobe Latin&nbsp;1 encoding.</p>
1074 </td></tr>
1075 </table>
1076
1077 <hr>
1078 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
1079
1080 <div class="section">
1081 <h3 id="TT_MAC_LANGID_XXX">TT_MAC_LANGID_XXX</h3>
1082 <p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
1083 <pre>
1084 #define TT_MAC_LANGID_ENGLISH                       0
1085 #define TT_MAC_LANGID_FRENCH                        1
1086 #define TT_MAC_LANGID_GERMAN                        2
1087 #define TT_MAC_LANGID_ITALIAN                       3
1088 #define TT_MAC_LANGID_DUTCH                         4
1089 #define TT_MAC_LANGID_SWEDISH                       5
1090 #define TT_MAC_LANGID_SPANISH                       6
1091 #define TT_MAC_LANGID_DANISH                        7
1092 #define TT_MAC_LANGID_PORTUGUESE                    8
1093 #define TT_MAC_LANGID_NORWEGIAN                     9
1094 #define TT_MAC_LANGID_HEBREW                       10
1095 #define TT_MAC_LANGID_JAPANESE                     11
1096 #define TT_MAC_LANGID_ARABIC                       12
1097 #define TT_MAC_LANGID_FINNISH                      13
1098 #define TT_MAC_LANGID_GREEK                        14
1099 #define TT_MAC_LANGID_ICELANDIC                    15
1100 #define TT_MAC_LANGID_MALTESE                      16
1101 #define TT_MAC_LANGID_TURKISH                      17
1102 #define TT_MAC_LANGID_CROATIAN                     18
1103 #define TT_MAC_LANGID_CHINESE_TRADITIONAL          19
1104 #define TT_MAC_LANGID_URDU                         20
1105 #define TT_MAC_LANGID_HINDI                        21
1106 #define TT_MAC_LANGID_THAI                         22
1107 #define TT_MAC_LANGID_KOREAN                       23
1108 #define TT_MAC_LANGID_LITHUANIAN                   24
1109 #define TT_MAC_LANGID_POLISH                       25
1110 #define TT_MAC_LANGID_HUNGARIAN                    26
1111 #define TT_MAC_LANGID_ESTONIAN                     27
1112 #define TT_MAC_LANGID_LETTISH                      28
1113 #define TT_MAC_LANGID_SAAMISK                      29
1114 #define TT_MAC_LANGID_FAEROESE                     30
1115 #define TT_MAC_LANGID_FARSI                        31
1116 #define TT_MAC_LANGID_RUSSIAN                      32
1117 #define TT_MAC_LANGID_CHINESE_SIMPLIFIED           33
1118 #define TT_MAC_LANGID_FLEMISH                      34
1119 #define TT_MAC_LANGID_IRISH                        35
1120 #define TT_MAC_LANGID_ALBANIAN                     36
1121 #define TT_MAC_LANGID_ROMANIAN                     37
1122 #define TT_MAC_LANGID_CZECH                        38
1123 #define TT_MAC_LANGID_SLOVAK                       39
1124 #define TT_MAC_LANGID_SLOVENIAN                    40
1125 #define TT_MAC_LANGID_YIDDISH                      41
1126 #define TT_MAC_LANGID_SERBIAN                      42
1127 #define TT_MAC_LANGID_MACEDONIAN                   43
1128 #define TT_MAC_LANGID_BULGARIAN                    44
1129 #define TT_MAC_LANGID_UKRAINIAN                    45
1130 #define TT_MAC_LANGID_BYELORUSSIAN                 46
1131 #define TT_MAC_LANGID_UZBEK                        47
1132 #define TT_MAC_LANGID_KAZAKH                       48
1133 #define TT_MAC_LANGID_AZERBAIJANI                  49
1134 #define TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT  49
1135 #define TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT    50
1136 #define TT_MAC_LANGID_ARMENIAN                     51
1137 #define TT_MAC_LANGID_GEORGIAN                     52
1138 #define TT_MAC_LANGID_MOLDAVIAN                    53
1139 #define TT_MAC_LANGID_KIRGHIZ                      54
1140 #define TT_MAC_LANGID_TAJIKI                       55
1141 #define TT_MAC_LANGID_TURKMEN                      56
1142 #define TT_MAC_LANGID_MONGOLIAN                    57
1143 #define TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT   57
1144 #define TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT    58
1145 #define TT_MAC_LANGID_PASHTO                       59
1146 #define TT_MAC_LANGID_KURDISH                      60
1147 #define TT_MAC_LANGID_KASHMIRI                     61
1148 #define TT_MAC_LANGID_SINDHI                       62
1149 #define TT_MAC_LANGID_TIBETAN                      63
1150 #define TT_MAC_LANGID_NEPALI                       64
1151 #define TT_MAC_LANGID_SANSKRIT                     65
1152 #define TT_MAC_LANGID_MARATHI                      66
1153 #define TT_MAC_LANGID_BENGALI                      67
1154 #define TT_MAC_LANGID_ASSAMESE                     68
1155 #define TT_MAC_LANGID_GUJARATI                     69
1156 #define TT_MAC_LANGID_PUNJABI                      70
1157 #define TT_MAC_LANGID_ORIYA                        71
1158 #define TT_MAC_LANGID_MALAYALAM                    72
1159 #define TT_MAC_LANGID_KANNADA                      73
1160 #define TT_MAC_LANGID_TAMIL                        74
1161 #define TT_MAC_LANGID_TELUGU                       75
1162 #define TT_MAC_LANGID_SINHALESE                    76
1163 #define TT_MAC_LANGID_BURMESE                      77
1164 #define TT_MAC_LANGID_KHMER                        78
1165 #define TT_MAC_LANGID_LAO                          79
1166 #define TT_MAC_LANGID_VIETNAMESE                   80
1167 #define TT_MAC_LANGID_INDONESIAN                   81
1168 #define TT_MAC_LANGID_TAGALOG                      82
1169 #define TT_MAC_LANGID_MALAY_ROMAN_SCRIPT           83
1170 #define TT_MAC_LANGID_MALAY_ARABIC_SCRIPT          84
1171 #define TT_MAC_LANGID_AMHARIC                      85
1172 #define TT_MAC_LANGID_TIGRINYA                     86
1173 #define TT_MAC_LANGID_GALLA                        87
1174 #define TT_MAC_LANGID_SOMALI                       88
1175 #define TT_MAC_LANGID_SWAHILI                      89
1176 #define TT_MAC_LANGID_RUANDA                       90
1177 #define TT_MAC_LANGID_RUNDI                        91
1178 #define TT_MAC_LANGID_CHEWA                        92
1179 #define TT_MAC_LANGID_MALAGASY                     93
1180 #define TT_MAC_LANGID_ESPERANTO                    94
1181 #define TT_MAC_LANGID_WELSH                       128
1182 #define TT_MAC_LANGID_BASQUE                      129
1183 #define TT_MAC_LANGID_CATALAN                     130
1184 #define TT_MAC_LANGID_LATIN                       131
1185 #define TT_MAC_LANGID_QUECHUA                     132
1186 #define TT_MAC_LANGID_GUARANI                     133
1187 #define TT_MAC_LANGID_AYMARA                      134
1188 #define TT_MAC_LANGID_TATAR                       135
1189 #define TT_MAC_LANGID_UIGHUR                      136
1190 #define TT_MAC_LANGID_DZONGKHA                    137
1191 #define TT_MAC_LANGID_JAVANESE                    138
1192 #define TT_MAC_LANGID_SUNDANESE                   139
1193
1194   /* The following codes are new as of 2000-03-10 */
1195 #define TT_MAC_LANGID_GALICIAN                    140
1196 #define TT_MAC_LANGID_AFRIKAANS                   141
1197 #define TT_MAC_LANGID_BRETON                      142
1198 #define TT_MAC_LANGID_INUKTITUT                   143
1199 #define TT_MAC_LANGID_SCOTTISH_GAELIC             144
1200 #define TT_MAC_LANGID_MANX_GAELIC                 145
1201 #define TT_MAC_LANGID_IRISH_GAELIC                146
1202 #define TT_MAC_LANGID_TONGAN                      147
1203 #define TT_MAC_LANGID_GREEK_POLYTONIC             148
1204 #define TT_MAC_LANGID_GREELANDIC                  149
1205 #define TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT    150
1206 </pre>
1207
1208 <p>Possible values of the language identifier field in the name records of the SFNT &lsquo;name&rsquo; table if the &lsquo;platform&rsquo; identifier code is <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a>. These values are also used as return values for function <a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a>.</p>
1209 <p>The canonical source for Apple's IDs is</p>
1210 <p><a href="https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html">https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html</a></p>
1211
1212 <hr>
1213 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
1214
1215 <div class="section">
1216 <h3 id="TT_MS_LANGID_XXX">TT_MS_LANGID_XXX</h3>
1217 <p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
1218 <pre>
1219 #define TT_MS_LANGID_ARABIC_SAUDI_ARABIA               0x0401
1220 #define TT_MS_LANGID_ARABIC_IRAQ                       0x0801
1221 #define TT_MS_LANGID_ARABIC_EGYPT                      0x0C01
1222 #define TT_MS_LANGID_ARABIC_LIBYA                      0x1001
1223 #define TT_MS_LANGID_ARABIC_ALGERIA                    0x1401
1224 #define TT_MS_LANGID_ARABIC_MOROCCO                    0x1801
1225 #define TT_MS_LANGID_ARABIC_TUNISIA                    0x1C01
1226 #define TT_MS_LANGID_ARABIC_OMAN                       0x2001
1227 #define TT_MS_LANGID_ARABIC_YEMEN                      0x2401
1228 #define TT_MS_LANGID_ARABIC_SYRIA                      0x2801
1229 #define TT_MS_LANGID_ARABIC_JORDAN                     0x2C01
1230 #define TT_MS_LANGID_ARABIC_LEBANON                    0x3001
1231 #define TT_MS_LANGID_ARABIC_KUWAIT                     0x3401
1232 #define TT_MS_LANGID_ARABIC_UAE                        0x3801
1233 #define TT_MS_LANGID_ARABIC_BAHRAIN                    0x3C01
1234 #define TT_MS_LANGID_ARABIC_QATAR                      0x4001
1235 #define TT_MS_LANGID_BULGARIAN_BULGARIA                0x0402
1236 #define TT_MS_LANGID_CATALAN_CATALAN                   0x0403
1237 #define TT_MS_LANGID_CHINESE_TAIWAN                    0x0404
1238 #define TT_MS_LANGID_CHINESE_PRC                       0x0804
1239 #define TT_MS_LANGID_CHINESE_HONG_KONG                 0x0C04
1240 #define TT_MS_LANGID_CHINESE_SINGAPORE                 0x1004
1241 #define TT_MS_LANGID_CHINESE_MACAO                     0x1404
1242 #define TT_MS_LANGID_CZECH_CZECH_REPUBLIC              0x0405
1243 #define TT_MS_LANGID_DANISH_DENMARK                    0x0406
1244 #define TT_MS_LANGID_GERMAN_GERMANY                    0x0407
1245 #define TT_MS_LANGID_GERMAN_SWITZERLAND                0x0807
1246 #define TT_MS_LANGID_GERMAN_AUSTRIA                    0x0C07
1247 #define TT_MS_LANGID_GERMAN_LUXEMBOURG                 0x1007
1248 #define TT_MS_LANGID_GERMAN_LIECHTENSTEIN              0x1407
1249 #define TT_MS_LANGID_GREEK_GREECE                      0x0408
1250 #define TT_MS_LANGID_ENGLISH_UNITED_STATES             0x0409
1251 #define TT_MS_LANGID_ENGLISH_UNITED_KINGDOM            0x0809
1252 #define TT_MS_LANGID_ENGLISH_AUSTRALIA                 0x0C09
1253 #define TT_MS_LANGID_ENGLISH_CANADA                    0x1009
1254 #define TT_MS_LANGID_ENGLISH_NEW_ZEALAND               0x1409
1255 #define TT_MS_LANGID_ENGLISH_IRELAND                   0x1809
1256 #define TT_MS_LANGID_ENGLISH_SOUTH_AFRICA              0x1C09
1257 #define TT_MS_LANGID_ENGLISH_JAMAICA                   0x2009
1258 #define TT_MS_LANGID_ENGLISH_CARIBBEAN                 0x2409
1259 #define TT_MS_LANGID_ENGLISH_BELIZE                    0x2809
1260 #define TT_MS_LANGID_ENGLISH_TRINIDAD                  0x2C09
1261 #define TT_MS_LANGID_ENGLISH_ZIMBABWE                  0x3009
1262 #define TT_MS_LANGID_ENGLISH_PHILIPPINES               0x3409
1263 #define TT_MS_LANGID_ENGLISH_INDIA                     0x4009
1264 #define TT_MS_LANGID_ENGLISH_MALAYSIA                  0x4409
1265 #define TT_MS_LANGID_ENGLISH_SINGAPORE                 0x4809
1266 #define TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT    0x040A
1267 #define TT_MS_LANGID_SPANISH_MEXICO                    0x080A
1268 #define TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT         0x0C0A
1269 #define TT_MS_LANGID_SPANISH_GUATEMALA                 0x100A
1270 #define TT_MS_LANGID_SPANISH_COSTA_RICA                0x140A
1271 #define TT_MS_LANGID_SPANISH_PANAMA                    0x180A
1272 #define TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC        0x1C0A
1273 #define TT_MS_LANGID_SPANISH_VENEZUELA                 0x200A
1274 #define TT_MS_LANGID_SPANISH_COLOMBIA                  0x240A
1275 #define TT_MS_LANGID_SPANISH_PERU                      0x280A
1276 #define TT_MS_LANGID_SPANISH_ARGENTINA                 0x2C0A
1277 #define TT_MS_LANGID_SPANISH_ECUADOR                   0x300A
1278 #define TT_MS_LANGID_SPANISH_CHILE                     0x340A
1279 #define TT_MS_LANGID_SPANISH_URUGUAY                   0x380A
1280 #define TT_MS_LANGID_SPANISH_PARAGUAY                  0x3C0A
1281 #define TT_MS_LANGID_SPANISH_BOLIVIA                   0x400A
1282 #define TT_MS_LANGID_SPANISH_EL_SALVADOR               0x440A
1283 #define TT_MS_LANGID_SPANISH_HONDURAS                  0x480A
1284 #define TT_MS_LANGID_SPANISH_NICARAGUA                 0x4C0A
1285 #define TT_MS_LANGID_SPANISH_PUERTO_RICO               0x500A
1286 #define TT_MS_LANGID_SPANISH_UNITED_STATES             0x540A
1287 #define TT_MS_LANGID_FINNISH_FINLAND                   0x040B
1288 #define TT_MS_LANGID_FRENCH_FRANCE                     0x040C
1289 #define TT_MS_LANGID_FRENCH_BELGIUM                    0x080C
1290 #define TT_MS_LANGID_FRENCH_CANADA                     0x0C0C
1291 #define TT_MS_LANGID_FRENCH_SWITZERLAND                0x100C
1292 #define TT_MS_LANGID_FRENCH_LUXEMBOURG                 0x140C
1293 #define TT_MS_LANGID_FRENCH_MONACO                     0x180C
1294 #define TT_MS_LANGID_HEBREW_ISRAEL                     0x040D
1295 #define TT_MS_LANGID_HUNGARIAN_HUNGARY                 0x040E
1296 #define TT_MS_LANGID_ICELANDIC_ICELAND                 0x040F
1297 #define TT_MS_LANGID_ITALIAN_ITALY                     0x0410
1298 #define TT_MS_LANGID_ITALIAN_SWITZERLAND               0x0810
1299 #define TT_MS_LANGID_JAPANESE_JAPAN                    0x0411
1300 #define TT_MS_LANGID_KOREAN_KOREA                      0x0412
1301 #define TT_MS_LANGID_DUTCH_NETHERLANDS                 0x0413
1302 #define TT_MS_LANGID_DUTCH_BELGIUM                     0x0813
1303 #define TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL           0x0414
1304 #define TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK          0x0814
1305 #define TT_MS_LANGID_POLISH_POLAND                     0x0415
1306 #define TT_MS_LANGID_PORTUGUESE_BRAZIL                 0x0416
1307 #define TT_MS_LANGID_PORTUGUESE_PORTUGAL               0x0816
1308 #define TT_MS_LANGID_ROMANSH_SWITZERLAND               0x0417
1309 #define TT_MS_LANGID_ROMANIAN_ROMANIA                  0x0418
1310 #define TT_MS_LANGID_RUSSIAN_RUSSIA                    0x0419
1311 #define TT_MS_LANGID_CROATIAN_CROATIA                  0x041A
1312 #define TT_MS_LANGID_SERBIAN_SERBIA_LATIN              0x081A
1313 #define TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC           0x0C1A
1314 #define TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA       0x101A
1315 #define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA        0x141A
1316 #define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN         0x181A
1317 #define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC      0x1C1A
1318 #define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC      0x201A
1319 #define TT_MS_LANGID_SLOVAK_SLOVAKIA                   0x041B
1320 #define TT_MS_LANGID_ALBANIAN_ALBANIA                  0x041C
1321 #define TT_MS_LANGID_SWEDISH_SWEDEN                    0x041D
1322 #define TT_MS_LANGID_SWEDISH_FINLAND                   0x081D
1323 #define TT_MS_LANGID_THAI_THAILAND                     0x041E
1324 #define TT_MS_LANGID_TURKISH_TURKEY                    0x041F
1325 #define TT_MS_LANGID_URDU_PAKISTAN                     0x0420
1326 #define TT_MS_LANGID_INDONESIAN_INDONESIA              0x0421
1327 #define TT_MS_LANGID_UKRAINIAN_UKRAINE                 0x0422
1328 #define TT_MS_LANGID_BELARUSIAN_BELARUS                0x0423
1329 #define TT_MS_LANGID_SLOVENIAN_SLOVENIA                0x0424
1330 #define TT_MS_LANGID_ESTONIAN_ESTONIA                  0x0425
1331 #define TT_MS_LANGID_LATVIAN_LATVIA                    0x0426
1332 #define TT_MS_LANGID_LITHUANIAN_LITHUANIA              0x0427
1333 #define TT_MS_LANGID_TAJIK_TAJIKISTAN                  0x0428
1334 #define TT_MS_LANGID_VIETNAMESE_VIET_NAM               0x042A
1335 #define TT_MS_LANGID_ARMENIAN_ARMENIA                  0x042B
1336 #define TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN            0x042C
1337 #define TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC         0x082C
1338 #define TT_MS_LANGID_BASQUE_BASQUE                     0x042D
1339 #define TT_MS_LANGID_UPPER_SORBIAN_GERMANY             0x042E
1340 #define TT_MS_LANGID_LOWER_SORBIAN_GERMANY             0x082E
1341 #define TT_MS_LANGID_MACEDONIAN_MACEDONIA              0x042F
1342 #define TT_MS_LANGID_SETSWANA_SOUTH_AFRICA             0x0432
1343 #define TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA             0x0434
1344 #define TT_MS_LANGID_ISIZULU_SOUTH_AFRICA              0x0435
1345 #define TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA            0x0436
1346 #define TT_MS_LANGID_GEORGIAN_GEORGIA                  0x0437
1347 #define TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS           0x0438
1348 #define TT_MS_LANGID_HINDI_INDIA                       0x0439
1349 #define TT_MS_LANGID_MALTESE_MALTA                     0x043A
1350 #define TT_MS_LANGID_SAMI_NORTHERN_NORWAY              0x043B
1351 #define TT_MS_LANGID_SAMI_NORTHERN_SWEDEN              0x083B
1352 #define TT_MS_LANGID_SAMI_NORTHERN_FINLAND             0x0C3B
1353 #define TT_MS_LANGID_SAMI_LULE_NORWAY                  0x103B
1354 #define TT_MS_LANGID_SAMI_LULE_SWEDEN                  0x143B
1355 #define TT_MS_LANGID_SAMI_SOUTHERN_NORWAY              0x183B
1356 #define TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN              0x1C3B
1357 #define TT_MS_LANGID_SAMI_SKOLT_FINLAND                0x203B
1358 #define TT_MS_LANGID_SAMI_INARI_FINLAND                0x243B
1359 #define TT_MS_LANGID_IRISH_IRELAND                     0x083C
1360 #define TT_MS_LANGID_MALAY_MALAYSIA                    0x043E
1361 #define TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM           0x083E
1362 #define TT_MS_LANGID_KAZAKH_KAZAKHSTAN                 0x043F
1363 #define TT_MS_LANGID_KYRGYZ_KYRGYZSTAN /* Cyrillic*/   0x0440
1364 #define TT_MS_LANGID_KISWAHILI_KENYA                   0x0441
1365 #define TT_MS_LANGID_TURKMEN_TURKMENISTAN              0x0442
1366 #define TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN            0x0443
1367 #define TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC         0x0843
1368 #define TT_MS_LANGID_TATAR_RUSSIA                      0x0444
1369 #define TT_MS_LANGID_BENGALI_INDIA                     0x0445
1370 #define TT_MS_LANGID_BENGALI_BANGLADESH                0x0845
1371 #define TT_MS_LANGID_PUNJABI_INDIA                     0x0446
1372 #define TT_MS_LANGID_GUJARATI_INDIA                    0x0447
1373 #define TT_MS_LANGID_ODIA_INDIA                        0x0448
1374 #define TT_MS_LANGID_TAMIL_INDIA                       0x0449
1375 #define TT_MS_LANGID_TELUGU_INDIA                      0x044A
1376 #define TT_MS_LANGID_KANNADA_INDIA                     0x044B
1377 #define TT_MS_LANGID_MALAYALAM_INDIA                   0x044C
1378 #define TT_MS_LANGID_ASSAMESE_INDIA                    0x044D
1379 #define TT_MS_LANGID_MARATHI_INDIA                     0x044E
1380 #define TT_MS_LANGID_SANSKRIT_INDIA                    0x044F
1381 #define TT_MS_LANGID_MONGOLIAN_MONGOLIA /* Cyrillic */ 0x0450
1382 #define TT_MS_LANGID_MONGOLIAN_PRC                     0x0850
1383 #define TT_MS_LANGID_TIBETAN_PRC                       0x0451
1384 #define TT_MS_LANGID_WELSH_UNITED_KINGDOM              0x0452
1385 #define TT_MS_LANGID_KHMER_CAMBODIA                    0x0453
1386 #define TT_MS_LANGID_LAO_LAOS                          0x0454
1387 #define TT_MS_LANGID_GALICIAN_GALICIAN                 0x0456
1388 #define TT_MS_LANGID_KONKANI_INDIA                     0x0457
1389 #define TT_MS_LANGID_SYRIAC_SYRIA                      0x045A
1390 #define TT_MS_LANGID_SINHALA_SRI_LANKA                 0x045B
1391 #define TT_MS_LANGID_INUKTITUT_CANADA                  0x045D
1392 #define TT_MS_LANGID_INUKTITUT_CANADA_LATIN            0x085D
1393 #define TT_MS_LANGID_AMHARIC_ETHIOPIA                  0x045E
1394 #define TT_MS_LANGID_TAMAZIGHT_ALGERIA                 0x085F
1395 #define TT_MS_LANGID_NEPALI_NEPAL                      0x0461
1396 #define TT_MS_LANGID_FRISIAN_NETHERLANDS               0x0462
1397 #define TT_MS_LANGID_PASHTO_AFGHANISTAN                0x0463
1398 #define TT_MS_LANGID_FILIPINO_PHILIPPINES              0x0464
1399 #define TT_MS_LANGID_DHIVEHI_MALDIVES                  0x0465
1400 #define TT_MS_LANGID_HAUSA_NIGERIA                     0x0468
1401 #define TT_MS_LANGID_YORUBA_NIGERIA                    0x046A
1402 #define TT_MS_LANGID_QUECHUA_BOLIVIA                   0x046B
1403 #define TT_MS_LANGID_QUECHUA_ECUADOR                   0x086B
1404 #define TT_MS_LANGID_QUECHUA_PERU                      0x0C6B
1405 #define TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA     0x046C
1406 #define TT_MS_LANGID_BASHKIR_RUSSIA                    0x046D
1407 #define TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG          0x046E
1408 #define TT_MS_LANGID_GREENLANDIC_GREENLAND             0x046F
1409 #define TT_MS_LANGID_IGBO_NIGERIA                      0x0470
1410 #define TT_MS_LANGID_YI_PRC                            0x0478
1411 #define TT_MS_LANGID_MAPUDUNGUN_CHILE                  0x047A
1412 #define TT_MS_LANGID_MOHAWK_MOHAWK                     0x047C
1413 #define TT_MS_LANGID_BRETON_FRANCE                     0x047E
1414 #define TT_MS_LANGID_UIGHUR_PRC                        0x0480
1415 #define TT_MS_LANGID_MAORI_NEW_ZEALAND                 0x0481
1416 #define TT_MS_LANGID_OCCITAN_FRANCE                    0x0482
1417 #define TT_MS_LANGID_CORSICAN_FRANCE                   0x0483
1418 #define TT_MS_LANGID_ALSATIAN_FRANCE                   0x0484
1419 #define TT_MS_LANGID_YAKUT_RUSSIA                      0x0485
1420 #define TT_MS_LANGID_KICHE_GUATEMALA                   0x0486
1421 #define TT_MS_LANGID_KINYARWANDA_RWANDA                0x0487
1422 #define TT_MS_LANGID_WOLOF_SENEGAL                     0x0488
1423 #define TT_MS_LANGID_DARI_AFGHANISTAN                  0x048C
1424 </pre>
1425
1426 <p>Possible values of the language identifier field in the name records of the SFNT &lsquo;name&rsquo; table if the &lsquo;platform&rsquo; identifier code is <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a>. These values are also used as return values for function <a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a>.</p>
1427 <p>The canonical source for Microsoft's IDs is</p>
1428 <p><a href="https://www.microsoft.com/globaldev/reference/lcid-all.mspx">https://www.microsoft.com/globaldev/reference/lcid-all.mspx</a> ,</p>
1429 <p>however, we only provide macros for language identifiers present in the OpenType specification: Microsoft has abandoned the concept of LCIDs (language code identifiers), and format&nbsp;1 of the &lsquo;name&rsquo; table provides a better mechanism for languages not covered here.</p>
1430 <p>More legacy values not listed in the reference can be found in the <a href="ft2-header_file_macros.html#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a> header file.</p>
1431
1432 <hr>
1433 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
1434
1435 <div class="section">
1436 <h3 id="TT_NAME_ID_XXX">TT_NAME_ID_XXX</h3>
1437 <p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
1438 <pre>
1439 #define TT_NAME_ID_COPYRIGHT              0
1440 #define TT_NAME_ID_FONT_FAMILY            1
1441 #define TT_NAME_ID_FONT_SUBFAMILY         2
1442 #define TT_NAME_ID_UNIQUE_ID              3
1443 #define TT_NAME_ID_FULL_NAME              4
1444 #define TT_NAME_ID_VERSION_STRING         5
1445 #define TT_NAME_ID_PS_NAME                6
1446 #define TT_NAME_ID_TRADEMARK              7
1447
1448   /* the following values are from the OpenType spec */
1449 #define TT_NAME_ID_MANUFACTURER           8
1450 #define TT_NAME_ID_DESIGNER               9
1451 #define TT_NAME_ID_DESCRIPTION            10
1452 #define TT_NAME_ID_VENDOR_URL             11
1453 #define TT_NAME_ID_DESIGNER_URL           12
1454 #define TT_NAME_ID_LICENSE                13
1455 #define TT_NAME_ID_LICENSE_URL            14
1456   /* number 15 is reserved */
1457 #define TT_NAME_ID_TYPOGRAPHIC_FAMILY     16
1458 #define TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY  17
1459 #define TT_NAME_ID_MAC_FULL_NAME          18
1460
1461   /* The following code is new as of 2000-01-21 */
1462 #define TT_NAME_ID_SAMPLE_TEXT            19
1463
1464   /* This is new in OpenType 1.3 */
1465 #define TT_NAME_ID_CID_FINDFONT_NAME      20
1466
1467   /* This is new in OpenType 1.5 */
1468 #define TT_NAME_ID_WWS_FAMILY             21
1469 #define TT_NAME_ID_WWS_SUBFAMILY          22
1470
1471   /* This is new in OpenType 1.7 */
1472 #define TT_NAME_ID_LIGHT_BACKGROUND       23
1473 #define TT_NAME_ID_DARK_BACKGROUND        24
1474
1475   /* This is new in OpenType 1.8 */
1476 #define TT_NAME_ID_VARIATIONS_PREFIX      25
1477
1478   /* these two values are deprecated */
1479 #define TT_NAME_ID_PREFERRED_FAMILY     TT_NAME_ID_TYPOGRAPHIC_FAMILY
1480 #define TT_NAME_ID_PREFERRED_SUBFAMILY  TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY
1481 </pre>
1482
1483 <p>Possible values of the &lsquo;name&rsquo; identifier field in the name records of an SFNT &lsquo;name&rsquo; table. These values are platform independent.</p>
1484
1485 <hr>
1486 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
1487
1488 <div class="section">
1489 <h3 id="TT_UCR_XXX">TT_UCR_XXX</h3>
1490 <p>Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).</p>
1491 <pre>
1492   /* ulUnicodeRange1 */
1493   /* --------------- */
1494
1495   /* Bit  0   Basic Latin */
1496 #define TT_UCR_BASIC_LATIN                     (1L &lt;&lt;  0) /* U+0020-U+007E */
1497   /* Bit  1   C1 Controls and Latin-1 Supplement */
1498 #define TT_UCR_LATIN1_SUPPLEMENT               (1L &lt;&lt;  1) /* U+0080-U+00FF */
1499   /* Bit  2   Latin Extended-A */
1500 #define TT_UCR_LATIN_EXTENDED_A                (1L &lt;&lt;  2) /* U+0100-U+017F */
1501   /* Bit  3   Latin Extended-B */
1502 #define TT_UCR_LATIN_EXTENDED_B                (1L &lt;&lt;  3) /* U+0180-U+024F */
1503   /* Bit  4   IPA Extensions                 */
1504   /*          Phonetic Extensions            */
1505   /*          Phonetic Extensions Supplement */
1506 #define TT_UCR_IPA_EXTENSIONS                  (1L &lt;&lt;  4) /* U+0250-U+02AF */
1507                                                           /* U+1D00-U+1D7F */
1508                                                           /* U+1D80-U+1DBF */
1509   /* Bit  5   Spacing Modifier Letters */
1510   /*          Modifier Tone Letters    */
1511 #define TT_UCR_SPACING_MODIFIER                (1L &lt;&lt;  5) /* U+02B0-U+02FF */
1512                                                           /* U+A700-U+A71F */
1513   /* Bit  6   Combining Diacritical Marks            */
1514   /*          Combining Diacritical Marks Supplement */
1515 #define TT_UCR_COMBINING_DIACRITICAL_MARKS     (1L &lt;&lt;  6) /* U+0300-U+036F */
1516                                                           /* U+1DC0-U+1DFF */
1517   /* Bit  7   Greek and Coptic */
1518 #define TT_UCR_GREEK                           (1L &lt;&lt;  7) /* U+0370-U+03FF */
1519   /* Bit  8   Coptic */
1520 #define TT_UCR_COPTIC                          (1L &lt;&lt;  8) /* U+2C80-U+2CFF */
1521   /* Bit  9   Cyrillic            */
1522   /*          Cyrillic Supplement */
1523   /*          Cyrillic Extended-A */
1524   /*          Cyrillic Extended-B */
1525 #define TT_UCR_CYRILLIC                        (1L &lt;&lt;  9) /* U+0400-U+04FF */
1526                                                           /* U+0500-U+052F */
1527                                                           /* U+2DE0-U+2DFF */
1528                                                           /* U+A640-U+A69F */
1529   /* Bit 10   Armenian */
1530 #define TT_UCR_ARMENIAN                        (1L &lt;&lt; 10) /* U+0530-U+058F */
1531   /* Bit 11   Hebrew */
1532 #define TT_UCR_HEBREW                          (1L &lt;&lt; 11) /* U+0590-U+05FF */
1533   /* Bit 12   Vai */
1534 #define TT_UCR_VAI                             (1L &lt;&lt; 12) /* U+A500-U+A63F */
1535   /* Bit 13   Arabic            */
1536   /*          Arabic Supplement */
1537 #define TT_UCR_ARABIC                          (1L &lt;&lt; 13) /* U+0600-U+06FF */
1538                                                           /* U+0750-U+077F */
1539   /* Bit 14   NKo */
1540 #define TT_UCR_NKO                             (1L &lt;&lt; 14) /* U+07C0-U+07FF */
1541   /* Bit 15   Devanagari */
1542 #define TT_UCR_DEVANAGARI                      (1L &lt;&lt; 15) /* U+0900-U+097F */
1543   /* Bit 16   Bengali */
1544 #define TT_UCR_BENGALI                         (1L &lt;&lt; 16) /* U+0980-U+09FF */
1545   /* Bit 17   Gurmukhi */
1546 #define TT_UCR_GURMUKHI                        (1L &lt;&lt; 17) /* U+0A00-U+0A7F */
1547   /* Bit 18   Gujarati */
1548 #define TT_UCR_GUJARATI                        (1L &lt;&lt; 18) /* U+0A80-U+0AFF */
1549   /* Bit 19   Oriya */
1550 #define TT_UCR_ORIYA                           (1L &lt;&lt; 19) /* U+0B00-U+0B7F */
1551   /* Bit 20   Tamil */
1552 #define TT_UCR_TAMIL                           (1L &lt;&lt; 20) /* U+0B80-U+0BFF */
1553   /* Bit 21   Telugu */
1554 #define TT_UCR_TELUGU                          (1L &lt;&lt; 21) /* U+0C00-U+0C7F */
1555   /* Bit 22   Kannada */
1556 #define TT_UCR_KANNADA                         (1L &lt;&lt; 22) /* U+0C80-U+0CFF */
1557   /* Bit 23   Malayalam */
1558 #define TT_UCR_MALAYALAM                       (1L &lt;&lt; 23) /* U+0D00-U+0D7F */
1559   /* Bit 24   Thai */
1560 #define TT_UCR_THAI                            (1L &lt;&lt; 24) /* U+0E00-U+0E7F */
1561   /* Bit 25   Lao */
1562 #define TT_UCR_LAO                             (1L &lt;&lt; 25) /* U+0E80-U+0EFF */
1563   /* Bit 26   Georgian            */
1564   /*          Georgian Supplement */
1565 #define TT_UCR_GEORGIAN                        (1L &lt;&lt; 26) /* U+10A0-U+10FF */
1566                                                           /* U+2D00-U+2D2F */
1567   /* Bit 27   Balinese */
1568 #define TT_UCR_BALINESE                        (1L &lt;&lt; 27) /* U+1B00-U+1B7F */
1569   /* Bit 28   Hangul Jamo */
1570 #define TT_UCR_HANGUL_JAMO                     (1L &lt;&lt; 28) /* U+1100-U+11FF */
1571   /* Bit 29   Latin Extended Additional */
1572   /*          Latin Extended-C          */
1573   /*          Latin Extended-D          */
1574 #define TT_UCR_LATIN_EXTENDED_ADDITIONAL       (1L &lt;&lt; 29) /* U+1E00-U+1EFF */
1575                                                           /* U+2C60-U+2C7F */
1576                                                           /* U+A720-U+A7FF */
1577   /* Bit 30   Greek Extended */
1578 #define TT_UCR_GREEK_EXTENDED                  (1L &lt;&lt; 30) /* U+1F00-U+1FFF */
1579   /* Bit 31   General Punctuation      */
1580   /*          Supplemental Punctuation */
1581 #define TT_UCR_GENERAL_PUNCTUATION             (1L &lt;&lt; 31) /* U+2000-U+206F */
1582                                                           /* U+2E00-U+2E7F */
1583
1584   /* ulUnicodeRange2 */
1585   /* --------------- */
1586
1587   /* Bit 32   Superscripts And Subscripts */
1588 #define TT_UCR_SUPERSCRIPTS_SUBSCRIPTS         (1L &lt;&lt;  0) /* U+2070-U+209F */
1589   /* Bit 33   Currency Symbols */
1590 #define TT_UCR_CURRENCY_SYMBOLS                (1L &lt;&lt;  1) /* U+20A0-U+20CF */
1591   /* Bit 34   Combining Diacritical Marks For Symbols */
1592 #define TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB \
1593                                                (1L &lt;&lt;  2) /* U+20D0-U+20FF */
1594   /* Bit 35   Letterlike Symbols */
1595 #define TT_UCR_LETTERLIKE_SYMBOLS              (1L &lt;&lt;  3) /* U+2100-U+214F */
1596   /* Bit 36   Number Forms */
1597 #define TT_UCR_NUMBER_FORMS                    (1L &lt;&lt;  4) /* U+2150-U+218F */
1598   /* Bit 37   Arrows                           */
1599   /*          Supplemental Arrows-A            */
1600   /*          Supplemental Arrows-B            */
1601   /*          Miscellaneous Symbols and Arrows */
1602 #define TT_UCR_ARROWS                          (1L &lt;&lt;  5) /* U+2190-U+21FF */
1603                                                           /* U+27F0-U+27FF */
1604                                                           /* U+2900-U+297F */
1605                                                           /* U+2B00-U+2BFF */
1606   /* Bit 38   Mathematical Operators               */
1607   /*          Supplemental Mathematical Operators  */
1608   /*          Miscellaneous Mathematical Symbols-A */
1609   /*          Miscellaneous Mathematical Symbols-B */
1610 #define TT_UCR_MATHEMATICAL_OPERATORS          (1L &lt;&lt;  6) /* U+2200-U+22FF */
1611                                                           /* U+2A00-U+2AFF */
1612                                                           /* U+27C0-U+27EF */
1613                                                           /* U+2980-U+29FF */
1614   /* Bit 39 Miscellaneous Technical */
1615 #define TT_UCR_MISCELLANEOUS_TECHNICAL         (1L &lt;&lt;  7) /* U+2300-U+23FF */
1616   /* Bit 40   Control Pictures */
1617 #define TT_UCR_CONTROL_PICTURES                (1L &lt;&lt;  8) /* U+2400-U+243F */
1618   /* Bit 41   Optical Character Recognition */
1619 #define TT_UCR_OCR                             (1L &lt;&lt;  9) /* U+2440-U+245F */
1620   /* Bit 42   Enclosed Alphanumerics */
1621 #define TT_UCR_ENCLOSED_ALPHANUMERICS          (1L &lt;&lt; 10) /* U+2460-U+24FF */
1622   /* Bit 43   Box Drawing */
1623 #define TT_UCR_BOX_DRAWING                     (1L &lt;&lt; 11) /* U+2500-U+257F */
1624   /* Bit 44   Block Elements */
1625 #define TT_UCR_BLOCK_ELEMENTS                  (1L &lt;&lt; 12) /* U+2580-U+259F */
1626   /* Bit 45   Geometric Shapes */
1627 #define TT_UCR_GEOMETRIC_SHAPES                (1L &lt;&lt; 13) /* U+25A0-U+25FF */
1628   /* Bit 46   Miscellaneous Symbols */
1629 #define TT_UCR_MISCELLANEOUS_SYMBOLS           (1L &lt;&lt; 14) /* U+2600-U+26FF */
1630   /* Bit 47   Dingbats */
1631 #define TT_UCR_DINGBATS                        (1L &lt;&lt; 15) /* U+2700-U+27BF */
1632   /* Bit 48   CJK Symbols and Punctuation */
1633 #define TT_UCR_CJK_SYMBOLS                     (1L &lt;&lt; 16) /* U+3000-U+303F */
1634   /* Bit 49   Hiragana */
1635 #define TT_UCR_HIRAGANA                        (1L &lt;&lt; 17) /* U+3040-U+309F */
1636   /* Bit 50   Katakana                     */
1637   /*          Katakana Phonetic Extensions */
1638 #define TT_UCR_KATAKANA                        (1L &lt;&lt; 18) /* U+30A0-U+30FF */
1639                                                           /* U+31F0-U+31FF */
1640   /* Bit 51   Bopomofo          */
1641   /*          Bopomofo Extended */
1642 #define TT_UCR_BOPOMOFO                        (1L &lt;&lt; 19) /* U+3100-U+312F */
1643                                                           /* U+31A0-U+31BF */
1644   /* Bit 52   Hangul Compatibility Jamo */
1645 #define TT_UCR_HANGUL_COMPATIBILITY_JAMO       (1L &lt;&lt; 20) /* U+3130-U+318F */
1646   /* Bit 53   Phags-Pa */
1647 #define TT_UCR_CJK_MISC                        (1L &lt;&lt; 21) /* U+A840-U+A87F */
1648 #define TT_UCR_KANBUN  TT_UCR_CJK_MISC /* deprecated */
1649 #define TT_UCR_PHAGSPA
1650   /* Bit 54   Enclosed CJK Letters and Months */
1651 #define TT_UCR_ENCLOSED_CJK_LETTERS_MONTHS     (1L &lt;&lt; 22) /* U+3200-U+32FF */
1652   /* Bit 55   CJK Compatibility */
1653 #define TT_UCR_CJK_COMPATIBILITY               (1L &lt;&lt; 23) /* U+3300-U+33FF */
1654   /* Bit 56   Hangul Syllables */
1655 #define TT_UCR_HANGUL                          (1L &lt;&lt; 24) /* U+AC00-U+D7A3 */
1656   /* Bit 57   High Surrogates              */
1657   /*          High Private Use Surrogates  */
1658   /*          Low Surrogates               */
1659
1660   /* According to OpenType specs v.1.3+,   */
1661   /* setting bit 57 implies that there is  */
1662   /* at least one codepoint beyond the     */
1663   /* Basic Multilingual Plane that is      */
1664   /* supported by this font.  So it really */
1665   /* means &gt;= U+10000.                     */
1666 #define TT_UCR_SURROGATES                      (1L &lt;&lt; 25) /* U+D800-U+DB7F */
1667                                                           /* U+DB80-U+DBFF */
1668                                                           /* U+DC00-U+DFFF */
1669 #define TT_UCR_NON_PLANE_0  TT_UCR_SURROGATES
1670   /* Bit 58  Phoenician */
1671 #define TT_UCR_PHOENICIAN                      (1L &lt;&lt; 26) /*U+10900-U+1091F*/
1672   /* Bit 59   CJK Unified Ideographs             */
1673   /*          CJK Radicals Supplement            */
1674   /*          Kangxi Radicals                    */
1675   /*          Ideographic Description Characters */
1676   /*          CJK Unified Ideographs Extension A */
1677   /*          CJK Unified Ideographs Extension B */
1678   /*          Kanbun                             */
1679 #define TT_UCR_CJK_UNIFIED_IDEOGRAPHS          (1L &lt;&lt; 27) /* U+4E00-U+9FFF */
1680                                                           /* U+2E80-U+2EFF */
1681                                                           /* U+2F00-U+2FDF */
1682                                                           /* U+2FF0-U+2FFF */
1683                                                           /* U+3400-U+4DB5 */
1684                                                           /*U+20000-U+2A6DF*/
1685                                                           /* U+3190-U+319F */
1686   /* Bit 60   Private Use */
1687 #define TT_UCR_PRIVATE_USE                     (1L &lt;&lt; 28) /* U+E000-U+F8FF */
1688   /* Bit 61   CJK Strokes                             */
1689   /*          CJK Compatibility Ideographs            */
1690   /*          CJK Compatibility Ideographs Supplement */
1691 #define TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS    (1L &lt;&lt; 29) /* U+31C0-U+31EF */
1692                                                           /* U+F900-U+FAFF */
1693                                                           /*U+2F800-U+2FA1F*/
1694   /* Bit 62   Alphabetic Presentation Forms */
1695 #define TT_UCR_ALPHABETIC_PRESENTATION_FORMS   (1L &lt;&lt; 30) /* U+FB00-U+FB4F */
1696   /* Bit 63   Arabic Presentation Forms-A */
1697 #define TT_UCR_ARABIC_PRESENTATION_FORMS_A     (1L &lt;&lt; 31) /* U+FB50-U+FDFF */
1698
1699   /* ulUnicodeRange3 */
1700   /* --------------- */
1701
1702   /* Bit 64   Combining Half Marks */
1703 #define TT_UCR_COMBINING_HALF_MARKS            (1L &lt;&lt;  0) /* U+FE20-U+FE2F */
1704   /* Bit 65   Vertical forms          */
1705   /*          CJK Compatibility Forms */
1706 #define TT_UCR_CJK_COMPATIBILITY_FORMS         (1L &lt;&lt;  1) /* U+FE10-U+FE1F */
1707                                                           /* U+FE30-U+FE4F */
1708   /* Bit 66   Small Form Variants */
1709 #define TT_UCR_SMALL_FORM_VARIANTS             (1L &lt;&lt;  2) /* U+FE50-U+FE6F */
1710   /* Bit 67   Arabic Presentation Forms-B */
1711 #define TT_UCR_ARABIC_PRESENTATION_FORMS_B     (1L &lt;&lt;  3) /* U+FE70-U+FEFE */
1712   /* Bit 68   Halfwidth and Fullwidth Forms */
1713 #define TT_UCR_HALFWIDTH_FULLWIDTH_FORMS       (1L &lt;&lt;  4) /* U+FF00-U+FFEF */
1714   /* Bit 69   Specials */
1715 #define TT_UCR_SPECIALS                        (1L &lt;&lt;  5) /* U+FFF0-U+FFFD */
1716   /* Bit 70   Tibetan */
1717 #define TT_UCR_TIBETAN                         (1L &lt;&lt;  6) /* U+0F00-U+0FFF */
1718   /* Bit 71   Syriac */
1719 #define TT_UCR_SYRIAC                          (1L &lt;&lt;  7) /* U+0700-U+074F */
1720   /* Bit 72   Thaana */
1721 #define TT_UCR_THAANA                          (1L &lt;&lt;  8) /* U+0780-U+07BF */
1722   /* Bit 73   Sinhala */
1723 #define TT_UCR_SINHALA                         (1L &lt;&lt;  9) /* U+0D80-U+0DFF */
1724   /* Bit 74   Myanmar */
1725 #define TT_UCR_MYANMAR                         (1L &lt;&lt; 10) /* U+1000-U+109F */
1726   /* Bit 75   Ethiopic            */
1727   /*          Ethiopic Supplement */
1728   /*          Ethiopic Extended   */
1729 #define TT_UCR_ETHIOPIC                        (1L &lt;&lt; 11) /* U+1200-U+137F */
1730                                                           /* U+1380-U+139F */
1731                                                           /* U+2D80-U+2DDF */
1732   /* Bit 76   Cherokee */
1733 #define TT_UCR_CHEROKEE                        (1L &lt;&lt; 12) /* U+13A0-U+13FF */
1734   /* Bit 77   Unified Canadian Aboriginal Syllabics */
1735 #define TT_UCR_CANADIAN_ABORIGINAL_SYLLABICS   (1L &lt;&lt; 13) /* U+1400-U+167F */
1736   /* Bit 78   Ogham */
1737 #define TT_UCR_OGHAM                           (1L &lt;&lt; 14) /* U+1680-U+169F */
1738   /* Bit 79   Runic */
1739 #define TT_UCR_RUNIC                           (1L &lt;&lt; 15) /* U+16A0-U+16FF */
1740   /* Bit 80   Khmer         */
1741   /*          Khmer Symbols */
1742 #define TT_UCR_KHMER                           (1L &lt;&lt; 16) /* U+1780-U+17FF */
1743                                                           /* U+19E0-U+19FF */
1744   /* Bit 81   Mongolian */
1745 #define TT_UCR_MONGOLIAN                       (1L &lt;&lt; 17) /* U+1800-U+18AF */
1746   /* Bit 82   Braille Patterns */
1747 #define TT_UCR_BRAILLE                         (1L &lt;&lt; 18) /* U+2800-U+28FF */
1748   /* Bit 83   Yi Syllables */
1749   /*          Yi Radicals  */
1750 #define TT_UCR_YI                              (1L &lt;&lt; 19) /* U+A000-U+A48F */
1751                                                           /* U+A490-U+A4CF */
1752   /* Bit 84   Tagalog  */
1753   /*          Hanunoo  */
1754   /*          Buhid    */
1755   /*          Tagbanwa */
1756 #define TT_UCR_PHILIPPINE                      (1L &lt;&lt; 20) /* U+1700-U+171F */
1757                                                           /* U+1720-U+173F */
1758                                                           /* U+1740-U+175F */
1759                                                           /* U+1760-U+177F */
1760   /* Bit 85   Old Italic */
1761 #define TT_UCR_OLD_ITALIC                      (1L &lt;&lt; 21) /*U+10300-U+1032F*/
1762   /* Bit 86   Gothic */
1763 #define TT_UCR_GOTHIC                          (1L &lt;&lt; 22) /*U+10330-U+1034F*/
1764   /* Bit 87   Deseret */
1765 #define TT_UCR_DESERET                         (1L &lt;&lt; 23) /*U+10400-U+1044F*/
1766   /* Bit 88   Byzantine Musical Symbols      */
1767   /*          Musical Symbols                */
1768   /*          Ancient Greek Musical Notation */
1769 #define TT_UCR_MUSICAL_SYMBOLS                 (1L &lt;&lt; 24) /*U+1D000-U+1D0FF*/
1770                                                           /*U+1D100-U+1D1FF*/
1771                                                           /*U+1D200-U+1D24F*/
1772   /* Bit 89   Mathematical Alphanumeric Symbols */
1773 #define TT_UCR_MATH_ALPHANUMERIC_SYMBOLS       (1L &lt;&lt; 25) /*U+1D400-U+1D7FF*/
1774   /* Bit 90   Private Use (plane 15) */
1775   /*          Private Use (plane 16) */
1776 #define TT_UCR_PRIVATE_USE_SUPPLEMENTARY       (1L &lt;&lt; 26) /*U+F0000-U+FFFFD*/
1777                                                         /*U+100000-U+10FFFD*/
1778   /* Bit 91   Variation Selectors            */
1779   /*          Variation Selectors Supplement */
1780 #define TT_UCR_VARIATION_SELECTORS             (1L &lt;&lt; 27) /* U+FE00-U+FE0F */
1781                                                           /*U+E0100-U+E01EF*/
1782   /* Bit 92   Tags */
1783 #define TT_UCR_TAGS                            (1L &lt;&lt; 28) /*U+E0000-U+E007F*/
1784   /* Bit 93   Limbu */
1785 #define TT_UCR_LIMBU                           (1L &lt;&lt; 29) /* U+1900-U+194F */
1786   /* Bit 94   Tai Le */
1787 #define TT_UCR_TAI_LE                          (1L &lt;&lt; 30) /* U+1950-U+197F */
1788   /* Bit 95   New Tai Lue */
1789 #define TT_UCR_NEW_TAI_LUE                     (1L &lt;&lt; 31) /* U+1980-U+19DF */
1790
1791   /* ulUnicodeRange4 */
1792   /* --------------- */
1793
1794   /* Bit 96   Buginese */
1795 #define TT_UCR_BUGINESE                        (1L &lt;&lt;  0) /* U+1A00-U+1A1F */
1796   /* Bit 97   Glagolitic */
1797 #define TT_UCR_GLAGOLITIC                      (1L &lt;&lt;  1) /* U+2C00-U+2C5F */
1798   /* Bit 98   Tifinagh */
1799 #define TT_UCR_TIFINAGH                        (1L &lt;&lt;  2) /* U+2D30-U+2D7F */
1800   /* Bit 99   Yijing Hexagram Symbols */
1801 #define TT_UCR_YIJING                          (1L &lt;&lt;  3) /* U+4DC0-U+4DFF */
1802   /* Bit 100  Syloti Nagri */
1803 #define TT_UCR_SYLOTI_NAGRI                    (1L &lt;&lt;  4) /* U+A800-U+A82F */
1804   /* Bit 101  Linear B Syllabary */
1805   /*          Linear B Ideograms */
1806   /*          Aegean Numbers     */
1807 #define TT_UCR_LINEAR_B                        (1L &lt;&lt;  5) /*U+10000-U+1007F*/
1808                                                           /*U+10080-U+100FF*/
1809                                                           /*U+10100-U+1013F*/
1810   /* Bit 102  Ancient Greek Numbers */
1811 #define TT_UCR_ANCIENT_GREEK_NUMBERS           (1L &lt;&lt;  6) /*U+10140-U+1018F*/
1812   /* Bit 103  Ugaritic */
1813 #define TT_UCR_UGARITIC                        (1L &lt;&lt;  7) /*U+10380-U+1039F*/
1814   /* Bit 104  Old Persian */
1815 #define TT_UCR_OLD_PERSIAN                     (1L &lt;&lt;  8) /*U+103A0-U+103DF*/
1816   /* Bit 105  Shavian */
1817 #define TT_UCR_SHAVIAN                         (1L &lt;&lt;  9) /*U+10450-U+1047F*/
1818   /* Bit 106  Osmanya */
1819 #define TT_UCR_OSMANYA                         (1L &lt;&lt; 10) /*U+10480-U+104AF*/
1820   /* Bit 107  Cypriot Syllabary */
1821 #define TT_UCR_CYPRIOT_SYLLABARY               (1L &lt;&lt; 11) /*U+10800-U+1083F*/
1822   /* Bit 108  Kharoshthi */
1823 #define TT_UCR_KHAROSHTHI                      (1L &lt;&lt; 12) /*U+10A00-U+10A5F*/
1824   /* Bit 109  Tai Xuan Jing Symbols */
1825 #define TT_UCR_TAI_XUAN_JING                   (1L &lt;&lt; 13) /*U+1D300-U+1D35F*/
1826   /* Bit 110  Cuneiform                         */
1827   /*          Cuneiform Numbers and Punctuation */
1828 #define TT_UCR_CUNEIFORM                       (1L &lt;&lt; 14) /*U+12000-U+123FF*/
1829                                                           /*U+12400-U+1247F*/
1830   /* Bit 111  Counting Rod Numerals */
1831 #define TT_UCR_COUNTING_ROD_NUMERALS           (1L &lt;&lt; 15) /*U+1D360-U+1D37F*/
1832   /* Bit 112  Sundanese */
1833 #define TT_UCR_SUNDANESE                       (1L &lt;&lt; 16) /* U+1B80-U+1BBF */
1834   /* Bit 113  Lepcha */
1835 #define TT_UCR_LEPCHA                          (1L &lt;&lt; 17) /* U+1C00-U+1C4F */
1836   /* Bit 114  Ol Chiki */
1837 #define TT_UCR_OL_CHIKI                        (1L &lt;&lt; 18) /* U+1C50-U+1C7F */
1838   /* Bit 115  Saurashtra */
1839 #define TT_UCR_SAURASHTRA                      (1L &lt;&lt; 19) /* U+A880-U+A8DF */
1840   /* Bit 116  Kayah Li */
1841 #define TT_UCR_KAYAH_LI                        (1L &lt;&lt; 20) /* U+A900-U+A92F */
1842   /* Bit 117  Rejang */
1843 #define TT_UCR_REJANG                          (1L &lt;&lt; 21) /* U+A930-U+A95F */
1844   /* Bit 118  Cham */
1845 #define TT_UCR_CHAM                            (1L &lt;&lt; 22) /* U+AA00-U+AA5F */
1846   /* Bit 119  Ancient Symbols */
1847 #define TT_UCR_ANCIENT_SYMBOLS                 (1L &lt;&lt; 23) /*U+10190-U+101CF*/
1848   /* Bit 120  Phaistos Disc */
1849 #define TT_UCR_PHAISTOS_DISC                   (1L &lt;&lt; 24) /*U+101D0-U+101FF*/
1850   /* Bit 121  Carian */
1851   /*          Lycian */
1852   /*          Lydian */
1853 #define TT_UCR_OLD_ANATOLIAN                   (1L &lt;&lt; 25) /*U+102A0-U+102DF*/
1854                                                           /*U+10280-U+1029F*/
1855                                                           /*U+10920-U+1093F*/
1856   /* Bit 122  Domino Tiles  */
1857   /*          Mahjong Tiles */
1858 #define TT_UCR_GAME_TILES                      (1L &lt;&lt; 26) /*U+1F030-U+1F09F*/
1859                                                           /*U+1F000-U+1F02F*/
1860   /* Bit 123-127 Reserved for process-internal usage */
1861 </pre>
1862
1863 <p>Possible bit mask values for the &lsquo;ulUnicodeRangeX&rsquo; fields in an SFNT &lsquo;OS/2&rsquo; table.</p>
1864
1865 <hr>
1866 <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
1867
1868 </body>
1869 </html>