1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "https://www.w3.org/TR/html4/loose.dtd">
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; }
12 body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
18 div.section { width: 75%;
20 div.section hr { margin: 4ex 0 1ex 0; }
21 div.section h4 { background-color: #EEEEFF;
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;
37 margin: 1.5ex 0 1.5ex 0; }
39 h1 { text-align: center; }
40 h3 { font-size: medium;
41 margin: 4ex 0 1.5ex 0; }
43 p { text-align: justify; }
45 pre.colored { color: blue; }
47 span.keyword { font-family: monospace;
52 table.fields td.val { font-weight: bold;
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;
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%;
70 margin: 1ex 0 1ex 0; }
71 table.index-toc-link td.left { padding: 0 0.5em 0 0.5em;
74 table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em;
77 table.index-toc-link td.right { padding: 0 0.5em 0 0.5em;
80 table.synopsis { margin: 6ex auto 6ex auto;
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%;
88 vertical-align: baseline;
89 padding: 1ex 1em 1ex 0; }
90 table.toc td.desc { vertical-align: baseline;
91 padding: 1ex 0 1ex 1em;
93 table.toc td.desc p:first-child { margin: 0;
95 table.toc td.desc p { margin: 1.5ex 0 0 0;
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>
105 <h1 id="truetype_tables">TrueType Tables</h1>
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> </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> </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> </td><td> </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>
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>
123 <div class="section">
124 <h3 id="TT_Header">TT_Header</h3>
125 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
127 <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_Header_
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;
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;
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;
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];
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;
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;
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;
156 <p>A structure to model a TrueType font header table. All fields follow the OpenType specification.</p>
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>
161 <div class="section">
162 <h3 id="TT_HoriHeader">TT_HoriHeader</h3>
163 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
165 <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_HoriHeader_
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;
172 <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> advance_Width_Max; /* advance width maximum */
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;
181 <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Reserved[4];
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;
186 /* The following fields are not defined by the OpenType specification */
187 /* but they are used to connect the metrics header to the relevant */
190 <span class="keyword">void</span>* long_metrics;
191 <span class="keyword">void</span>* short_metrics;
193 } <b>TT_HoriHeader</b>;
196 <p>A structure to model a TrueType horizontal header, the ‘hhea’ table, as well as the corresponding horizontal metrics table, ‘hmtx’.</p>
199 <table class="fields">
200 <tr><td class="val" id="Version">Version</td><td class="desc">
201 <p>The table version.</p>
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 ‘sTypoAscender’ field of the ‘OS/2’ table instead if you want the correct one.</p>
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 ‘sTypoDescender’ field of the ‘OS/2’ table instead if you want the correct one.</p>
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>
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>
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>
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>
225 <tr><td class="val" id="xMax_Extent">xMax_Extent</td><td class="desc">
226 <p>The maximum horizontal extent (i.e., the ‘width’ of a glyph's bounding box) for all glyphs in the font.</p>
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>
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>
234 <tr><td class="val" id="caret_Offset">caret_Offset</td><td class="desc">
235 <p>The cursor's offset for slanted fonts.</p>
237 <tr><td class="val" id="Reserved">Reserved</td><td class="desc">
238 <p>8 reserved bytes.</p>
240 <tr><td class="val" id="metric_Data_Format">metric_Data_Format</td><td class="desc">
241 <p>Always 0.</p>
243 <tr><td class="val" id="number_Of_HMetrics">number_Of_HMetrics</td><td class="desc">
244 <p>Number of HMetrics entries in the ‘hmtx’ table -- this value can be smaller than the total number of glyphs in the font.</p>
246 <tr><td class="val" id="long_metrics">long_metrics</td><td class="desc">
247 <p>A pointer into the ‘hmtx’ table.</p>
249 <tr><td class="val" id="short_metrics">short_metrics</td><td class="desc">
250 <p>A pointer into the ‘hmtx’ table.</p>
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 ‘MVAR’ table: ‘caret_Slope_Rise’, ‘caret_Slope_Run’, and ‘caret_Offset’.</p>
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>
260 <div class="section">
261 <h3 id="TT_VertHeader">TT_VertHeader</h3>
262 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
264 <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_VertHeader_
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;
271 <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> advance_Height_Max; /* advance height maximum */
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;
280 <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Reserved[4];
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;
285 /* The following fields are not defined by the OpenType specification */
286 /* but they are used to connect the metrics header to the relevant */
289 <span class="keyword">void</span>* long_metrics;
290 <span class="keyword">void</span>* short_metrics;
292 } <b>TT_VertHeader</b>;
295 <p>A structure used to model a TrueType vertical header, the ‘vhea’ table, as well as the corresponding vertical metrics table, ‘vmtx’.</p>
298 <table class="fields">
299 <tr><td class="val" id="Version">Version</td><td class="desc">
300 <p>The table version.</p>
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 ‘sTypoAscender’ field of the ‘OS/2’ table instead if you want the correct one.</p>
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 ‘sTypoDescender’ field of the ‘OS/2’ table instead if you want the correct one.</p>
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>
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>
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>
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>
324 <tr><td class="val" id="yMax_Extent">yMax_Extent</td><td class="desc">
325 <p>The maximum vertical extent (i.e., the ‘height’ of a glyph's bounding box) for all glyphs in the font.</p>
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>
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>
333 <tr><td class="val" id="caret_Offset">caret_Offset</td><td class="desc">
334 <p>The cursor's offset for slanted fonts.</p>
336 <tr><td class="val" id="Reserved">Reserved</td><td class="desc">
337 <p>8 reserved bytes.</p>
339 <tr><td class="val" id="metric_Data_Format">metric_Data_Format</td><td class="desc">
340 <p>Always 0.</p>
342 <tr><td class="val" id="number_Of_VMetrics">number_Of_VMetrics</td><td class="desc">
343 <p>Number of VMetrics entries in the ‘vmtx’ table -- this value can be smaller than the total number of glyphs in the font.</p>
345 <tr><td class="val" id="long_metrics">long_metrics</td><td class="desc">
346 <p>A pointer into the ‘vmtx’ table.</p>
348 <tr><td class="val" id="short_metrics">short_metrics</td><td class="desc">
349 <p>A pointer into the ‘vmtx’ table.</p>
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 ‘MVAR’ table: ‘Ascender’, ‘Descender’, ‘Line_Gap’, ‘caret_Slope_Rise’, ‘caret_Slope_Run’, and ‘caret_Offset’.</p>
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>
359 <div class="section">
360 <h3 id="TT_OS2">TT_OS2</h3>
361 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
363 <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_OS2_
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;
382 <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> panose[10];
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 */
389 <a href="ft2-basic_types.html#FT_Char">FT_Char</a> achVendID[4];
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;
400 /* only version 1 and higher: */
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 */
405 /* only version 2 and higher: */
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;
413 /* only version 5 and higher: */
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) */
421 <p>A structure to model a TrueType ‘OS/2’ table. All fields comply to the OpenType specification.</p>
422 <p>Note that we now support old Mac fonts that do not include an ‘OS/2’ table. In this case, the ‘version’ field is always set to 0xFFFF.</p>
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 ‘MVAR’ table: ‘sCapHeight’, ‘sTypoAscender’, ‘sTypoDescender’, ‘sTypoLineGap’, ‘sxHeight’, ‘usWinAscent’, ‘usWinDescent’, ‘yStrikeoutPosition’, ‘yStrikeoutSize’, ‘ySubscriptXOffset’, ‘ySubScriptXSize’, ‘ySubscriptYOffset’, ‘ySubscriptYSize’, ‘ySuperscriptXOffset’, ‘ySuperscriptXSize’, ‘ySuperscriptYOffset’, and ‘ySuperscriptYSize’.</p>
426 <p>Possible values for bits in the ‘ulUnicodeRangeX’ fields are given by the <a href="ft2-truetype_tables.html#TT_UCR_XXX">TT_UCR_XXX</a> macros.</p>
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>
431 <div class="section">
432 <h3 id="TT_Postscript">TT_Postscript</h3>
433 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
435 <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_Postscript_
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;
447 /* Glyph names follow in the `post' table, but we don't */
448 /* load them by default. */
450 } <b>TT_Postscript</b>;
453 <p>A structure to model a TrueType ‘post’ 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>
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 ‘MVAR’ table: ‘underlinePosition’ and ‘underlineThickness’.</p>
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>
461 <div class="section">
462 <h3 id="TT_PCLT">TT_PCLT</h3>
463 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
465 <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_PCLT_
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;
486 <p>A structure to model a TrueType ‘PCLT’ table. All fields comply to the OpenType specification.</p>
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>
491 <div class="section">
492 <h3 id="TT_MaxProfile">TT_MaxProfile</h3>
493 <p>Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).</p>
495 <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_MaxProfile_
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;
513 } <b>TT_MaxProfile</b>;
516 <p>The maximum profile (‘maxp’) table contains many max values, which can be used to pre-allocate arrays for speeding up glyph loading and hinting.</p>
519 <table class="fields">
520 <tr><td class="val" id="version">version</td><td class="desc">
521 <p>The version number.</p>
523 <tr><td class="val" id="numGlyphs">numGlyphs</td><td class="desc">
524 <p>The number of glyphs in this TrueType font.</p>
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 ‘maxCompositePoints’.</p>
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 ‘maxCompositeContours’.</p>
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 ‘maxPoints’.</p>
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 ‘maxContours’.</p>
538 <tr><td class="val" id="maxZones">maxZones</td><td class="desc">
539 <p>The maximum number of zones used for glyph hinting.</p>
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>
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>
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>
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>
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>
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>
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>
562 <tr><td class="val" id="maxComponentDepth">maxComponentDepth</td><td class="desc">
563 <p>The maximum nesting depth of composite glyphs.</p>
568 <p>This structure is only used during font loading.</p>
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>
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>
577 <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Sfnt_Tag_
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>,
589 } <b>FT_Sfnt_Tag</b>;
591 /* these constants are deprecated; use the corresponding `<b>FT_Sfnt_Tag</b>' */
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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 );
641 <p>Return a pointer to a given SFNT table stored within a face.</p>
644 <table class="fields">
645 <tr><td class="val" id="face">face</td><td class="desc">
646 <p>A handle to the source.</p>
648 <tr><td class="val" id="tag">tag</td><td class="desc">
649 <p>The index of the SFNT table.</p>
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 ‘tag’ to access the structure elements.</p>
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 ‘vhea’ table:</p>
661 <pre class="colored">
662 TT_VertHeader* vert_header;
666 (TT_VertHeader*)FT_Get_Sfnt_Table( face, FT_SFNT_VHEA );
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>
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>
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 );
684 <p>Load any SFNT font table into client memory.</p>
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>
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 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>
694 <tr><td class="val" id="offset">offset</td><td class="desc">
695 <p>The starting offset in the table (or file if tag == 0).</p>
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>
707 <table class="fields">
708 <tr><td class="val" id="length">length</td><td class="desc">
709 <p>If the ‘length’ parameter is NULL, try to load the whole table. Return an error code if it fails.</p>
710 <p>Else, if ‘*length’ is 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>
716 <p>FreeType error code. 0 means success.</p>
719 <p>If you need to determine the table's length you should first call this function with ‘*length’ set to 0, as in the following example:</p>
720 <pre class="colored">
724 error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length );
725 if ( error ) { ... table does not exist ... }
727 buffer = malloc( length );
728 if ( buffer == NULL ) { ... not enough memory ... }
730 error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &length );
731 if ( error ) { ... could not load table ... }
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>
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>
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>
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 );
749 <p>Return information on an SFNT table.</p>
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>
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>
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, ‘table_index’ is ignored, and ‘length’ returns the number of SFNT tables in the font.</p>
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 ‘tag’).</p>
776 <p>FreeType error code. 0 means success.</p>
779 <p>While parsing fonts, FreeType handles SFNT tables with length zero as missing.</p>
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>
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>
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 );
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>
795 <table class="fields">
796 <tr><td class="val" id="charmap">charmap</td><td class="desc">
797 <p>The target charmap.</p>
802 <p>The language ID of ‘charmap’. If ‘charmap’ doesn't belong to an SFNT face, just return 0 as the default value.</p>
803 <p>For a format 14 cmap (to access Unicode IVS), the return value is 0xFFFFFFFF.</p>
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>
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>
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 );
816 <p>Return the format of an SFNT ‘cmap’ table.</p>
819 <table class="fields">
820 <tr><td class="val" id="charmap">charmap</td><td class="desc">
821 <p>The target charmap.</p>
826 <p>The format of ‘charmap’. If ‘charmap’ doesn't belong to an SFNT face, return -1.</p>
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>
831 <div class="section">
832 <h3 id="FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</h3>
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' )
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>
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>
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>
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 */
856 <p>A list of valid values for the ‘platform_id’ 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>
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 ‘encoding_id’ values. Note that name entries in this format are coded as big-endian UCS-2 character codes <i>only</i>.</p>
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 ‘encoding_id’ 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>
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 ‘encoding_id’ values.</p>
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 ‘encoding_id’ 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>
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>
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>
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>
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>
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 */
896 <p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a> charmaps and name entries.</p>
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>
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>
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>
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>
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>
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>
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 13 cmap.</p>
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>
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>
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
966 <p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> charmaps and name entries.</p>
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>
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>
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
980 <p>A list of valid values for the ‘encoding_id’ 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>
984 <table class="fields">
985 <tr><td class="val" id="TT_ISO_ID_7BIT_ASCII">TT_ISO_ID_7BIT_ASCII</td><td class="desc">
988 <tr><td class="val" id="TT_ISO_ID_10646">TT_ISO_ID_10646</td><td class="desc">
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>
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>
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>
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
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>
1016 <p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a> charmaps and name entries.</p>
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>
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>
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>
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 2312 and its supersets GBK and GB 18030. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_PRC</a>.</p>
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>
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>
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>
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>
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>
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>
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
1059 <p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a> charmaps. This is a FreeType-specific extension!</p>
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>
1066 <tr><td class="val" id="TT_ADOBE_ID_EXPERT">TT_ADOBE_ID_EXPERT</td><td class="desc">
1067 <p>Adobe expert encoding.</p>
1069 <tr><td class="val" id="TT_ADOBE_ID_CUSTOM">TT_ADOBE_ID_CUSTOM</td><td class="desc">
1070 <p>Adobe custom encoding.</p>
1072 <tr><td class="val" id="TT_ADOBE_ID_LATIN_1">TT_ADOBE_ID_LATIN_1</td><td class="desc">
1073 <p>Adobe Latin 1 encoding.</p>
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>
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>
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
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
1208 <p>Possible values of the language identifier field in the name records of the SFNT ‘name’ table if the ‘platform’ 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>
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>
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>
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
1426 <p>Possible values of the language identifier field in the name records of the SFNT ‘name’ table if the ‘platform’ 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 1 of the ‘name’ 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>
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>
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>
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
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
1461 /* The following code is new as of 2000-01-21 */
1462 #define TT_NAME_ID_SAMPLE_TEXT 19
1464 /* This is new in OpenType 1.3 */
1465 #define TT_NAME_ID_CID_FINDFONT_NAME 20
1467 /* This is new in OpenType 1.5 */
1468 #define TT_NAME_ID_WWS_FAMILY 21
1469 #define TT_NAME_ID_WWS_SUBFAMILY 22
1471 /* This is new in OpenType 1.7 */
1472 #define TT_NAME_ID_LIGHT_BACKGROUND 23
1473 #define TT_NAME_ID_DARK_BACKGROUND 24
1475 /* This is new in OpenType 1.8 */
1476 #define TT_NAME_ID_VARIATIONS_PREFIX 25
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
1483 <p>Possible values of the ‘name’ identifier field in the name records of an SFNT ‘name’ table. These values are platform independent.</p>
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>
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>
1492 /* ulUnicodeRange1 */
1493 /* --------------- */
1495 /* Bit 0 Basic Latin */
1496 #define TT_UCR_BASIC_LATIN (1L << 0) /* U+0020-U+007E */
1497 /* Bit 1 C1 Controls and Latin-1 Supplement */
1498 #define TT_UCR_LATIN1_SUPPLEMENT (1L << 1) /* U+0080-U+00FF */
1499 /* Bit 2 Latin Extended-A */
1500 #define TT_UCR_LATIN_EXTENDED_A (1L << 2) /* U+0100-U+017F */
1501 /* Bit 3 Latin Extended-B */
1502 #define TT_UCR_LATIN_EXTENDED_B (1L << 3) /* U+0180-U+024F */
1503 /* Bit 4 IPA Extensions */
1504 /* Phonetic Extensions */
1505 /* Phonetic Extensions Supplement */
1506 #define TT_UCR_IPA_EXTENSIONS (1L << 4) /* U+0250-U+02AF */
1509 /* Bit 5 Spacing Modifier Letters */
1510 /* Modifier Tone Letters */
1511 #define TT_UCR_SPACING_MODIFIER (1L << 5) /* U+02B0-U+02FF */
1513 /* Bit 6 Combining Diacritical Marks */
1514 /* Combining Diacritical Marks Supplement */
1515 #define TT_UCR_COMBINING_DIACRITICAL_MARKS (1L << 6) /* U+0300-U+036F */
1517 /* Bit 7 Greek and Coptic */
1518 #define TT_UCR_GREEK (1L << 7) /* U+0370-U+03FF */
1520 #define TT_UCR_COPTIC (1L << 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 << 9) /* U+0400-U+04FF */
1529 /* Bit 10 Armenian */
1530 #define TT_UCR_ARMENIAN (1L << 10) /* U+0530-U+058F */
1532 #define TT_UCR_HEBREW (1L << 11) /* U+0590-U+05FF */
1534 #define TT_UCR_VAI (1L << 12) /* U+A500-U+A63F */
1536 /* Arabic Supplement */
1537 #define TT_UCR_ARABIC (1L << 13) /* U+0600-U+06FF */
1540 #define TT_UCR_NKO (1L << 14) /* U+07C0-U+07FF */
1541 /* Bit 15 Devanagari */
1542 #define TT_UCR_DEVANAGARI (1L << 15) /* U+0900-U+097F */
1543 /* Bit 16 Bengali */
1544 #define TT_UCR_BENGALI (1L << 16) /* U+0980-U+09FF */
1545 /* Bit 17 Gurmukhi */
1546 #define TT_UCR_GURMUKHI (1L << 17) /* U+0A00-U+0A7F */
1547 /* Bit 18 Gujarati */
1548 #define TT_UCR_GUJARATI (1L << 18) /* U+0A80-U+0AFF */
1550 #define TT_UCR_ORIYA (1L << 19) /* U+0B00-U+0B7F */
1552 #define TT_UCR_TAMIL (1L << 20) /* U+0B80-U+0BFF */
1554 #define TT_UCR_TELUGU (1L << 21) /* U+0C00-U+0C7F */
1555 /* Bit 22 Kannada */
1556 #define TT_UCR_KANNADA (1L << 22) /* U+0C80-U+0CFF */
1557 /* Bit 23 Malayalam */
1558 #define TT_UCR_MALAYALAM (1L << 23) /* U+0D00-U+0D7F */
1560 #define TT_UCR_THAI (1L << 24) /* U+0E00-U+0E7F */
1562 #define TT_UCR_LAO (1L << 25) /* U+0E80-U+0EFF */
1563 /* Bit 26 Georgian */
1564 /* Georgian Supplement */
1565 #define TT_UCR_GEORGIAN (1L << 26) /* U+10A0-U+10FF */
1567 /* Bit 27 Balinese */
1568 #define TT_UCR_BALINESE (1L << 27) /* U+1B00-U+1B7F */
1569 /* Bit 28 Hangul Jamo */
1570 #define TT_UCR_HANGUL_JAMO (1L << 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 << 29) /* U+1E00-U+1EFF */
1577 /* Bit 30 Greek Extended */
1578 #define TT_UCR_GREEK_EXTENDED (1L << 30) /* U+1F00-U+1FFF */
1579 /* Bit 31 General Punctuation */
1580 /* Supplemental Punctuation */
1581 #define TT_UCR_GENERAL_PUNCTUATION (1L << 31) /* U+2000-U+206F */
1584 /* ulUnicodeRange2 */
1585 /* --------------- */
1587 /* Bit 32 Superscripts And Subscripts */
1588 #define TT_UCR_SUPERSCRIPTS_SUBSCRIPTS (1L << 0) /* U+2070-U+209F */
1589 /* Bit 33 Currency Symbols */
1590 #define TT_UCR_CURRENCY_SYMBOLS (1L << 1) /* U+20A0-U+20CF */
1591 /* Bit 34 Combining Diacritical Marks For Symbols */
1592 #define TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB \
1593 (1L << 2) /* U+20D0-U+20FF */
1594 /* Bit 35 Letterlike Symbols */
1595 #define TT_UCR_LETTERLIKE_SYMBOLS (1L << 3) /* U+2100-U+214F */
1596 /* Bit 36 Number Forms */
1597 #define TT_UCR_NUMBER_FORMS (1L << 4) /* U+2150-U+218F */
1599 /* Supplemental Arrows-A */
1600 /* Supplemental Arrows-B */
1601 /* Miscellaneous Symbols and Arrows */
1602 #define TT_UCR_ARROWS (1L << 5) /* U+2190-U+21FF */
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 << 6) /* U+2200-U+22FF */
1614 /* Bit 39 Miscellaneous Technical */
1615 #define TT_UCR_MISCELLANEOUS_TECHNICAL (1L << 7) /* U+2300-U+23FF */
1616 /* Bit 40 Control Pictures */
1617 #define TT_UCR_CONTROL_PICTURES (1L << 8) /* U+2400-U+243F */
1618 /* Bit 41 Optical Character Recognition */
1619 #define TT_UCR_OCR (1L << 9) /* U+2440-U+245F */
1620 /* Bit 42 Enclosed Alphanumerics */
1621 #define TT_UCR_ENCLOSED_ALPHANUMERICS (1L << 10) /* U+2460-U+24FF */
1622 /* Bit 43 Box Drawing */
1623 #define TT_UCR_BOX_DRAWING (1L << 11) /* U+2500-U+257F */
1624 /* Bit 44 Block Elements */
1625 #define TT_UCR_BLOCK_ELEMENTS (1L << 12) /* U+2580-U+259F */
1626 /* Bit 45 Geometric Shapes */
1627 #define TT_UCR_GEOMETRIC_SHAPES (1L << 13) /* U+25A0-U+25FF */
1628 /* Bit 46 Miscellaneous Symbols */
1629 #define TT_UCR_MISCELLANEOUS_SYMBOLS (1L << 14) /* U+2600-U+26FF */
1630 /* Bit 47 Dingbats */
1631 #define TT_UCR_DINGBATS (1L << 15) /* U+2700-U+27BF */
1632 /* Bit 48 CJK Symbols and Punctuation */
1633 #define TT_UCR_CJK_SYMBOLS (1L << 16) /* U+3000-U+303F */
1634 /* Bit 49 Hiragana */
1635 #define TT_UCR_HIRAGANA (1L << 17) /* U+3040-U+309F */
1636 /* Bit 50 Katakana */
1637 /* Katakana Phonetic Extensions */
1638 #define TT_UCR_KATAKANA (1L << 18) /* U+30A0-U+30FF */
1640 /* Bit 51 Bopomofo */
1641 /* Bopomofo Extended */
1642 #define TT_UCR_BOPOMOFO (1L << 19) /* U+3100-U+312F */
1644 /* Bit 52 Hangul Compatibility Jamo */
1645 #define TT_UCR_HANGUL_COMPATIBILITY_JAMO (1L << 20) /* U+3130-U+318F */
1646 /* Bit 53 Phags-Pa */
1647 #define TT_UCR_CJK_MISC (1L << 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 << 22) /* U+3200-U+32FF */
1652 /* Bit 55 CJK Compatibility */
1653 #define TT_UCR_CJK_COMPATIBILITY (1L << 23) /* U+3300-U+33FF */
1654 /* Bit 56 Hangul Syllables */
1655 #define TT_UCR_HANGUL (1L << 24) /* U+AC00-U+D7A3 */
1656 /* Bit 57 High Surrogates */
1657 /* High Private Use Surrogates */
1658 /* Low Surrogates */
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 >= U+10000. */
1666 #define TT_UCR_SURROGATES (1L << 25) /* U+D800-U+DB7F */
1669 #define TT_UCR_NON_PLANE_0 TT_UCR_SURROGATES
1670 /* Bit 58 Phoenician */
1671 #define TT_UCR_PHOENICIAN (1L << 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 */
1679 #define TT_UCR_CJK_UNIFIED_IDEOGRAPHS (1L << 27) /* U+4E00-U+9FFF */
1686 /* Bit 60 Private Use */
1687 #define TT_UCR_PRIVATE_USE (1L << 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 << 29) /* U+31C0-U+31EF */
1694 /* Bit 62 Alphabetic Presentation Forms */
1695 #define TT_UCR_ALPHABETIC_PRESENTATION_FORMS (1L << 30) /* U+FB00-U+FB4F */
1696 /* Bit 63 Arabic Presentation Forms-A */
1697 #define TT_UCR_ARABIC_PRESENTATION_FORMS_A (1L << 31) /* U+FB50-U+FDFF */
1699 /* ulUnicodeRange3 */
1700 /* --------------- */
1702 /* Bit 64 Combining Half Marks */
1703 #define TT_UCR_COMBINING_HALF_MARKS (1L << 0) /* U+FE20-U+FE2F */
1704 /* Bit 65 Vertical forms */
1705 /* CJK Compatibility Forms */
1706 #define TT_UCR_CJK_COMPATIBILITY_FORMS (1L << 1) /* U+FE10-U+FE1F */
1708 /* Bit 66 Small Form Variants */
1709 #define TT_UCR_SMALL_FORM_VARIANTS (1L << 2) /* U+FE50-U+FE6F */
1710 /* Bit 67 Arabic Presentation Forms-B */
1711 #define TT_UCR_ARABIC_PRESENTATION_FORMS_B (1L << 3) /* U+FE70-U+FEFE */
1712 /* Bit 68 Halfwidth and Fullwidth Forms */
1713 #define TT_UCR_HALFWIDTH_FULLWIDTH_FORMS (1L << 4) /* U+FF00-U+FFEF */
1714 /* Bit 69 Specials */
1715 #define TT_UCR_SPECIALS (1L << 5) /* U+FFF0-U+FFFD */
1716 /* Bit 70 Tibetan */
1717 #define TT_UCR_TIBETAN (1L << 6) /* U+0F00-U+0FFF */
1719 #define TT_UCR_SYRIAC (1L << 7) /* U+0700-U+074F */
1721 #define TT_UCR_THAANA (1L << 8) /* U+0780-U+07BF */
1722 /* Bit 73 Sinhala */
1723 #define TT_UCR_SINHALA (1L << 9) /* U+0D80-U+0DFF */
1724 /* Bit 74 Myanmar */
1725 #define TT_UCR_MYANMAR (1L << 10) /* U+1000-U+109F */
1726 /* Bit 75 Ethiopic */
1727 /* Ethiopic Supplement */
1728 /* Ethiopic Extended */
1729 #define TT_UCR_ETHIOPIC (1L << 11) /* U+1200-U+137F */
1732 /* Bit 76 Cherokee */
1733 #define TT_UCR_CHEROKEE (1L << 12) /* U+13A0-U+13FF */
1734 /* Bit 77 Unified Canadian Aboriginal Syllabics */
1735 #define TT_UCR_CANADIAN_ABORIGINAL_SYLLABICS (1L << 13) /* U+1400-U+167F */
1737 #define TT_UCR_OGHAM (1L << 14) /* U+1680-U+169F */
1739 #define TT_UCR_RUNIC (1L << 15) /* U+16A0-U+16FF */
1742 #define TT_UCR_KHMER (1L << 16) /* U+1780-U+17FF */
1744 /* Bit 81 Mongolian */
1745 #define TT_UCR_MONGOLIAN (1L << 17) /* U+1800-U+18AF */
1746 /* Bit 82 Braille Patterns */
1747 #define TT_UCR_BRAILLE (1L << 18) /* U+2800-U+28FF */
1748 /* Bit 83 Yi Syllables */
1750 #define TT_UCR_YI (1L << 19) /* U+A000-U+A48F */
1752 /* Bit 84 Tagalog */
1756 #define TT_UCR_PHILIPPINE (1L << 20) /* U+1700-U+171F */
1760 /* Bit 85 Old Italic */
1761 #define TT_UCR_OLD_ITALIC (1L << 21) /*U+10300-U+1032F*/
1763 #define TT_UCR_GOTHIC (1L << 22) /*U+10330-U+1034F*/
1764 /* Bit 87 Deseret */
1765 #define TT_UCR_DESERET (1L << 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 << 24) /*U+1D000-U+1D0FF*/
1772 /* Bit 89 Mathematical Alphanumeric Symbols */
1773 #define TT_UCR_MATH_ALPHANUMERIC_SYMBOLS (1L << 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 << 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 << 27) /* U+FE00-U+FE0F */
1783 #define TT_UCR_TAGS (1L << 28) /*U+E0000-U+E007F*/
1785 #define TT_UCR_LIMBU (1L << 29) /* U+1900-U+194F */
1787 #define TT_UCR_TAI_LE (1L << 30) /* U+1950-U+197F */
1788 /* Bit 95 New Tai Lue */
1789 #define TT_UCR_NEW_TAI_LUE (1L << 31) /* U+1980-U+19DF */
1791 /* ulUnicodeRange4 */
1792 /* --------------- */
1794 /* Bit 96 Buginese */
1795 #define TT_UCR_BUGINESE (1L << 0) /* U+1A00-U+1A1F */
1796 /* Bit 97 Glagolitic */
1797 #define TT_UCR_GLAGOLITIC (1L << 1) /* U+2C00-U+2C5F */
1798 /* Bit 98 Tifinagh */
1799 #define TT_UCR_TIFINAGH (1L << 2) /* U+2D30-U+2D7F */
1800 /* Bit 99 Yijing Hexagram Symbols */
1801 #define TT_UCR_YIJING (1L << 3) /* U+4DC0-U+4DFF */
1802 /* Bit 100 Syloti Nagri */
1803 #define TT_UCR_SYLOTI_NAGRI (1L << 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 << 5) /*U+10000-U+1007F*/
1810 /* Bit 102 Ancient Greek Numbers */
1811 #define TT_UCR_ANCIENT_GREEK_NUMBERS (1L << 6) /*U+10140-U+1018F*/
1812 /* Bit 103 Ugaritic */
1813 #define TT_UCR_UGARITIC (1L << 7) /*U+10380-U+1039F*/
1814 /* Bit 104 Old Persian */
1815 #define TT_UCR_OLD_PERSIAN (1L << 8) /*U+103A0-U+103DF*/
1816 /* Bit 105 Shavian */
1817 #define TT_UCR_SHAVIAN (1L << 9) /*U+10450-U+1047F*/
1818 /* Bit 106 Osmanya */
1819 #define TT_UCR_OSMANYA (1L << 10) /*U+10480-U+104AF*/
1820 /* Bit 107 Cypriot Syllabary */
1821 #define TT_UCR_CYPRIOT_SYLLABARY (1L << 11) /*U+10800-U+1083F*/
1822 /* Bit 108 Kharoshthi */
1823 #define TT_UCR_KHAROSHTHI (1L << 12) /*U+10A00-U+10A5F*/
1824 /* Bit 109 Tai Xuan Jing Symbols */
1825 #define TT_UCR_TAI_XUAN_JING (1L << 13) /*U+1D300-U+1D35F*/
1826 /* Bit 110 Cuneiform */
1827 /* Cuneiform Numbers and Punctuation */
1828 #define TT_UCR_CUNEIFORM (1L << 14) /*U+12000-U+123FF*/
1830 /* Bit 111 Counting Rod Numerals */
1831 #define TT_UCR_COUNTING_ROD_NUMERALS (1L << 15) /*U+1D360-U+1D37F*/
1832 /* Bit 112 Sundanese */
1833 #define TT_UCR_SUNDANESE (1L << 16) /* U+1B80-U+1BBF */
1834 /* Bit 113 Lepcha */
1835 #define TT_UCR_LEPCHA (1L << 17) /* U+1C00-U+1C4F */
1836 /* Bit 114 Ol Chiki */
1837 #define TT_UCR_OL_CHIKI (1L << 18) /* U+1C50-U+1C7F */
1838 /* Bit 115 Saurashtra */
1839 #define TT_UCR_SAURASHTRA (1L << 19) /* U+A880-U+A8DF */
1840 /* Bit 116 Kayah Li */
1841 #define TT_UCR_KAYAH_LI (1L << 20) /* U+A900-U+A92F */
1842 /* Bit 117 Rejang */
1843 #define TT_UCR_REJANG (1L << 21) /* U+A930-U+A95F */
1845 #define TT_UCR_CHAM (1L << 22) /* U+AA00-U+AA5F */
1846 /* Bit 119 Ancient Symbols */
1847 #define TT_UCR_ANCIENT_SYMBOLS (1L << 23) /*U+10190-U+101CF*/
1848 /* Bit 120 Phaistos Disc */
1849 #define TT_UCR_PHAISTOS_DISC (1L << 24) /*U+101D0-U+101FF*/
1850 /* Bit 121 Carian */
1853 #define TT_UCR_OLD_ANATOLIAN (1L << 25) /*U+102A0-U+102DF*/
1856 /* Bit 122 Domino Tiles */
1858 #define TT_UCR_GAME_TILES (1L << 26) /*U+1F030-U+1F09F*/
1860 /* Bit 123-127 Reserved for process-internal usage */
1863 <p>Possible bit mask values for the ‘ulUnicodeRangeX’ fields in an SFNT ‘OS/2’ table.</p>
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>