Upload tizen 2.0 beta source
[framework/graphics/freetype.git] / docs / reference / ft2-type1_tables.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
3 <html>
4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6 <title>FreeType-2.4.9 API Reference</title>
7 <style type="text/css">
8   body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
9          color: #000000;
10          background: #FFFFFF; }
11
12   p { text-align: justify; }
13   h1 { text-align: center; }
14   li { text-align: justify; }
15   td { padding: 0 0.5em 0 0.5em; }
16   td.left { padding: 0 0.5em 0 0.5em;
17             text-align: left; }
18
19   a:link { color: #0000EF; }
20   a:visited { color: #51188E; }
21   a:hover { color: #FF0000; }
22
23   span.keyword { font-family: monospace;
24                  text-align: left;
25                  white-space: pre;
26                  color: darkblue; }
27
28   pre.colored { color: blue; }
29
30   ul.empty { list-style-type: none; }
31 </style>
32 </head>
33 <body>
34
35 <table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
36 <td width="100%"></td>
37 <td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
38 <center><h1>FreeType-2.4.9 API Reference</h1></center>
39
40 <center><h1>
41 Type 1 Tables
42 </h1></center>
43 <h2>Synopsis</h2>
44 <table align=center cellspacing=5 cellpadding=0 border=0>
45 <tr><td></td><td><a href="#PS_FontInfoRec">PS_FontInfoRec</a></td><td></td><td><a href="#T1_Blend_Flags">T1_Blend_Flags</a></td><td></td><td><a href="#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td></tr>
46 <tr><td></td><td><a href="#PS_FontInfo">PS_FontInfo</a></td><td></td><td><a href="#CID_FaceDictRec">CID_FaceDictRec</a></td><td></td><td><a href="#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td></tr>
47 <tr><td></td><td><a href="#T1_FontInfo">T1_FontInfo</a></td><td></td><td><a href="#CID_FaceDict">CID_FaceDict</a></td><td></td><td><a href="#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td></tr>
48 <tr><td></td><td><a href="#PS_PrivateRec">PS_PrivateRec</a></td><td></td><td><a href="#CID_FaceInfoRec">CID_FaceInfoRec</a></td><td></td><td><a href="#T1_EncodingType">T1_EncodingType</a></td></tr>
49 <tr><td></td><td><a href="#PS_Private">PS_Private</a></td><td></td><td><a href="#CID_FaceInfo">CID_FaceInfo</a></td><td></td><td><a href="#PS_Dict_Keys">PS_Dict_Keys</a></td></tr>
50 <tr><td></td><td><a href="#T1_Private">T1_Private</a></td><td></td><td><a href="#CID_Info">CID_Info</a></td><td></td><td><a href="#FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a></td></tr>
51 </table><br><br>
52
53 <table align=center width="87%"><tr><td>
54 <p>This section contains the definition of Type 1-specific tables, including structures related to other PostScript font formats.</p>
55 </td></tr></table><br>
56 <table align=center width="75%"><tr><td>
57 <h4><a name="PS_FontInfoRec">PS_FontInfoRec</a></h4>
58 <table align=center width="87%"><tr><td>
59 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
60 </td></tr></table><br>
61 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
62
63   <span class="keyword">typedef</span> <span class="keyword">struct</span>  PS_FontInfoRec_
64   {
65     <a href="ft2-basic_types.html#FT_String">FT_String</a>*  version;
66     <a href="ft2-basic_types.html#FT_String">FT_String</a>*  notice;
67     <a href="ft2-basic_types.html#FT_String">FT_String</a>*  full_name;
68     <a href="ft2-basic_types.html#FT_String">FT_String</a>*  family_name;
69     <a href="ft2-basic_types.html#FT_String">FT_String</a>*  weight;
70     <a href="ft2-basic_types.html#FT_Long">FT_Long</a>     italic_angle;
71     <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>     is_fixed_pitch;
72     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>    underline_position;
73     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>   underline_thickness;
74
75   } <b>PS_FontInfoRec</b>;
76
77 </pre></table><br>
78 <table align=center width="87%"><tr><td>
79 <p>A structure used to model a Type&nbsp;1 or Type&nbsp;2 FontInfo dictionary. Note that for Multiple Master fonts, each instance has its own FontInfo dictionary.</p>
80 </td></tr></table><br>
81 </td></tr></table>
82 <hr width="75%">
83 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
84 <td width="100%"></td>
85 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
86
87 <table align=center width="75%"><tr><td>
88 <h4><a name="PS_FontInfo">PS_FontInfo</a></h4>
89 <table align=center width="87%"><tr><td>
90 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
91 </td></tr></table><br>
92 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
93
94   <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_FontInfoRec_*  <b>PS_FontInfo</b>;
95
96 </pre></table><br>
97 <table align=center width="87%"><tr><td>
98 <p>A handle to a <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure.</p>
99 </td></tr></table><br>
100 </td></tr></table>
101 <hr width="75%">
102 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
103 <td width="100%"></td>
104 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
105
106 <table align=center width="75%"><tr><td>
107 <h4><a name="T1_FontInfo">T1_FontInfo</a></h4>
108 <table align=center width="87%"><tr><td>
109 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
110 </td></tr></table><br>
111 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
112
113   <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a>  <b>T1_FontInfo</b>;
114
115 </pre></table><br>
116 <table align=center width="87%"><tr><td>
117 <p>This type is equivalent to <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p>
118 </td></tr></table><br>
119 </td></tr></table>
120 <hr width="75%">
121 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
122 <td width="100%"></td>
123 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
124
125 <table align=center width="75%"><tr><td>
126 <h4><a name="PS_PrivateRec">PS_PrivateRec</a></h4>
127 <table align=center width="87%"><tr><td>
128 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
129 </td></tr></table><br>
130 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
131
132   <span class="keyword">typedef</span> <span class="keyword">struct</span>  PS_PrivateRec_
133   {
134     <a href="ft2-basic_types.html#FT_Int">FT_Int</a>     unique_id;
135     <a href="ft2-basic_types.html#FT_Int">FT_Int</a>     lenIV;
136
137     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    num_blue_values;
138     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    num_other_blues;
139     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    num_family_blues;
140     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    num_family_other_blues;
141
142     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   blue_values[14];
143     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   other_blues[10];
144
145     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   family_blues      [14];
146     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   family_other_blues[10];
147
148     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   blue_scale;
149     <a href="ft2-basic_types.html#FT_Int">FT_Int</a>     blue_shift;
150     <a href="ft2-basic_types.html#FT_Int">FT_Int</a>     blue_fuzz;
151
152     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  standard_width[1];
153     <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  standard_height[1];
154
155     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    num_snap_widths;
156     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    num_snap_heights;
157     <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>    force_bold;
158     <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>    round_stem_up;
159
160     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   snap_widths [13];  /* including std width  */
161     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   snap_heights[13];  /* including std height */
162
163     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   expansion_factor;
164
165     <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    language_group;
166     <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    password;
167
168     <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   min_feature[2];
169
170   } <b>PS_PrivateRec</b>;
171
172 </pre></table><br>
173 <table align=center width="87%"><tr><td>
174 <p>A structure used to model a Type&nbsp;1 or Type&nbsp;2 private dictionary. Note that for Multiple Master fonts, each instance has its own Private dictionary.</p>
175 </td></tr></table><br>
176 </td></tr></table>
177 <hr width="75%">
178 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
179 <td width="100%"></td>
180 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
181
182 <table align=center width="75%"><tr><td>
183 <h4><a name="PS_Private">PS_Private</a></h4>
184 <table align=center width="87%"><tr><td>
185 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
186 </td></tr></table><br>
187 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
188
189   <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_PrivateRec_*  <b>PS_Private</b>;
190
191 </pre></table><br>
192 <table align=center width="87%"><tr><td>
193 <p>A handle to a <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure.</p>
194 </td></tr></table><br>
195 </td></tr></table>
196 <hr width="75%">
197 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
198 <td width="100%"></td>
199 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
200
201 <table align=center width="75%"><tr><td>
202 <h4><a name="T1_Private">T1_Private</a></h4>
203 <table align=center width="87%"><tr><td>
204 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
205 </td></tr></table><br>
206 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
207
208   <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a>  <b>T1_Private</b>;
209
210 </pre></table><br>
211 <table align=center width="87%"><tr><td>
212 <p>This type is equivalent to <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p>
213 </td></tr></table><br>
214 </td></tr></table>
215 <hr width="75%">
216 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
217 <td width="100%"></td>
218 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
219
220 <table align=center width="75%"><tr><td>
221 <h4><a name="T1_Blend_Flags">T1_Blend_Flags</a></h4>
222 <table align=center width="87%"><tr><td>
223 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
224 </td></tr></table><br>
225 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
226
227   <span class="keyword">typedef</span> <span class="keyword">enum</span>  T1_Blend_Flags_
228   {
229     /*# required fields in a FontInfo blend dictionary */
230     T1_BLEND_UNDERLINE_POSITION = 0,
231     T1_BLEND_UNDERLINE_THICKNESS,
232     T1_BLEND_ITALIC_ANGLE,
233
234     /*# required fields in a Private blend dictionary */
235     T1_BLEND_BLUE_VALUES,
236     T1_BLEND_OTHER_BLUES,
237     T1_BLEND_STANDARD_WIDTH,
238     T1_BLEND_STANDARD_HEIGHT,
239     T1_BLEND_STEM_SNAP_WIDTHS,
240     T1_BLEND_STEM_SNAP_HEIGHTS,
241     T1_BLEND_BLUE_SCALE,
242     T1_BLEND_BLUE_SHIFT,
243     T1_BLEND_FAMILY_BLUES,
244     T1_BLEND_FAMILY_OTHER_BLUES,
245     T1_BLEND_FORCE_BOLD,
246
247     /*# never remove */
248     T1_BLEND_MAX
249
250   } <b>T1_Blend_Flags</b>;
251
252 </pre></table><br>
253 <table align=center width="87%"><tr><td>
254 <p>A set of flags used to indicate which fields are present in a given blend dictionary (font info or private). Used to support Multiple Masters fonts.</p>
255 </td></tr></table><br>
256 </td></tr></table>
257 <hr width="75%">
258 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
259 <td width="100%"></td>
260 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
261
262 <table align=center width="75%"><tr><td>
263 <h4><a name="CID_FaceDictRec">CID_FaceDictRec</a></h4>
264 <table align=center width="87%"><tr><td>
265 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
266 </td></tr></table><br>
267 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
268
269   <span class="keyword">typedef</span> <span class="keyword">struct</span>  CID_FaceDictRec_
270   {
271     <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a>  private_dict;
272
273     <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a>        len_buildchar;
274     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>       forcebold_threshold;
275     <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a>         stroke_width;
276     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>       expansion_factor;
277
278     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>        paint_type;
279     <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>        font_type;
280     <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>      font_matrix;
281     <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>      font_offset;
282
283     <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a>        num_subrs;
284     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>       subrmap_offset;
285     <a href="ft2-basic_types.html#FT_Int">FT_Int</a>         sd_bytes;
286
287   } <b>CID_FaceDictRec</b>;
288
289 </pre></table><br>
290 <table align=center width="87%"><tr><td>
291 <p>A structure used to represent data in a CID top-level dictionary.</p>
292 </td></tr></table><br>
293 </td></tr></table>
294 <hr width="75%">
295 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
296 <td width="100%"></td>
297 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
298
299 <table align=center width="75%"><tr><td>
300 <h4><a name="CID_FaceDict">CID_FaceDict</a></h4>
301 <table align=center width="87%"><tr><td>
302 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
303 </td></tr></table><br>
304 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
305
306   <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceDictRec_*  <b>CID_FaceDict</b>;
307
308 </pre></table><br>
309 <table align=center width="87%"><tr><td>
310 <p>A handle to a <a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a> structure.</p>
311 </td></tr></table><br>
312 </td></tr></table>
313 <hr width="75%">
314 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
315 <td width="100%"></td>
316 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
317
318 <table align=center width="75%"><tr><td>
319 <h4><a name="CID_FaceInfoRec">CID_FaceInfoRec</a></h4>
320 <table align=center width="87%"><tr><td>
321 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
322 </td></tr></table><br>
323 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
324
325   <span class="keyword">typedef</span> <span class="keyword">struct</span>  CID_FaceInfoRec_
326   {
327     <a href="ft2-basic_types.html#FT_String">FT_String</a>*      cid_font_name;
328     <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>        cid_version;
329     <a href="ft2-basic_types.html#FT_Int">FT_Int</a>          cid_font_type;
330
331     <a href="ft2-basic_types.html#FT_String">FT_String</a>*      registry;
332     <a href="ft2-basic_types.html#FT_String">FT_String</a>*      ordering;
333     <a href="ft2-basic_types.html#FT_Int">FT_Int</a>          supplement;
334
335     <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a>  font_info;
336     <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a>         font_bbox;
337     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>        uid_base;
338
339     <a href="ft2-basic_types.html#FT_Int">FT_Int</a>          num_xuid;
340     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>        xuid[16];
341
342     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>        cidmap_offset;
343     <a href="ft2-basic_types.html#FT_Int">FT_Int</a>          fd_bytes;
344     <a href="ft2-basic_types.html#FT_Int">FT_Int</a>          gd_bytes;
345     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>        cid_count;
346
347     <a href="ft2-basic_types.html#FT_Int">FT_Int</a>          num_dicts;
348     <a href="ft2-type1_tables.html#CID_FaceDict">CID_FaceDict</a>    font_dicts;
349
350     <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>        data_offset;
351
352   } <b>CID_FaceInfoRec</b>;
353
354 </pre></table><br>
355 <table align=center width="87%"><tr><td>
356 <p>A structure used to represent CID Face information.</p>
357 </td></tr></table><br>
358 </td></tr></table>
359 <hr width="75%">
360 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
361 <td width="100%"></td>
362 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
363
364 <table align=center width="75%"><tr><td>
365 <h4><a name="CID_FaceInfo">CID_FaceInfo</a></h4>
366 <table align=center width="87%"><tr><td>
367 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
368 </td></tr></table><br>
369 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
370
371   <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceInfoRec_*  <b>CID_FaceInfo</b>;
372
373 </pre></table><br>
374 <table align=center width="87%"><tr><td>
375 <p>A handle to a <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a> structure.</p>
376 </td></tr></table><br>
377 </td></tr></table>
378 <hr width="75%">
379 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
380 <td width="100%"></td>
381 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
382
383 <table align=center width="75%"><tr><td>
384 <h4><a name="CID_Info">CID_Info</a></h4>
385 <table align=center width="87%"><tr><td>
386 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
387 </td></tr></table><br>
388 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
389
390   <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a>  <b>CID_Info</b>;
391
392 </pre></table><br>
393 <table align=center width="87%"><tr><td>
394 <p>This type is equivalent to <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p>
395 </td></tr></table><br>
396 </td></tr></table>
397 <hr width="75%">
398 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
399 <td width="100%"></td>
400 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
401
402 <table align=center width="75%"><tr><td>
403 <h4><a name="FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></h4>
404 <table align=center width="87%"><tr><td>
405 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
406 </td></tr></table><br>
407 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
408
409   FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> )
410   <b>FT_Has_PS_Glyph_Names</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a>  face );
411
412 </pre></table><br>
413 <table align=center width="87%"><tr><td>
414 <p>Return true if a given face provides reliable PostScript glyph names. This is similar to using the <a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a> macro, except that certain fonts (mostly TrueType) contain incorrect glyph name tables.</p>
415 <p>When this function returns true, the caller is sure that the glyph names returned by <a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a> are reliable.</p>
416 </td></tr></table><br>
417 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
418 <p></p>
419 <table cellpadding=3 border=0>
420 <tr valign=top><td><b>face</b></td><td>
421 <p>face handle</p>
422 </td></tr>
423 </table>
424 </td></tr></table>
425 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
426 <p>Boolean. True if glyph names are reliable.</p>
427 </td></tr></table>
428 </td></tr></table>
429 <hr width="75%">
430 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
431 <td width="100%"></td>
432 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
433
434 <table align=center width="75%"><tr><td>
435 <h4><a name="FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></h4>
436 <table align=center width="87%"><tr><td>
437 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
438 </td></tr></table><br>
439 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
440
441   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
442   <b>FT_Get_PS_Font_Info</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a>      face,
443                        <a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a>  afont_info );
444
445 </pre></table><br>
446 <table align=center width="87%"><tr><td>
447 <p>Retrieve the <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure corresponding to a given PostScript font.</p>
448 </td></tr></table><br>
449 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
450 <p></p>
451 <table cellpadding=3 border=0>
452 <tr valign=top><td><b>face</b></td><td>
453 <p>PostScript face handle.</p>
454 </td></tr>
455 </table>
456 </td></tr></table>
457 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
458 <p></p>
459 <table cellpadding=3 border=0>
460 <tr valign=top><td><b>afont_info</b></td><td>
461 <p>Output font info structure pointer.</p>
462 </td></tr>
463 </table>
464 </td></tr></table>
465 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
466 <p>FreeType error code. 0&nbsp;means success.</p>
467 </td></tr></table>
468 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
469 <p>The string pointers within the font info structure are owned by the face and don't need to be freed by the caller.</p>
470 <p>If the font's format is not PostScript-based, this function will return the &lsquo;FT_Err_Invalid_Argument&rsquo; error code.</p>
471 </td></tr></table>
472 </td></tr></table>
473 <hr width="75%">
474 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
475 <td width="100%"></td>
476 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
477
478 <table align=center width="75%"><tr><td>
479 <h4><a name="FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></h4>
480 <table align=center width="87%"><tr><td>
481 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
482 </td></tr></table><br>
483 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
484
485   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
486   <b>FT_Get_PS_Font_Private</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a>     face,
487                           <a href="ft2-type1_tables.html#PS_Private">PS_Private</a>  afont_private );
488
489 </pre></table><br>
490 <table align=center width="87%"><tr><td>
491 <p>Retrieve the <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure corresponding to a given PostScript font.</p>
492 </td></tr></table><br>
493 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
494 <p></p>
495 <table cellpadding=3 border=0>
496 <tr valign=top><td><b>face</b></td><td>
497 <p>PostScript face handle.</p>
498 </td></tr>
499 </table>
500 </td></tr></table>
501 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
502 <p></p>
503 <table cellpadding=3 border=0>
504 <tr valign=top><td><b>afont_private</b></td><td>
505 <p>Output private dictionary structure pointer.</p>
506 </td></tr>
507 </table>
508 </td></tr></table>
509 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
510 <p>FreeType error code. 0&nbsp;means success.</p>
511 </td></tr></table>
512 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
513 <p>The string pointers within the <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure are owned by the face and don't need to be freed by the caller.</p>
514 <p>If the font's format is not PostScript-based, this function returns the &lsquo;FT_Err_Invalid_Argument&rsquo; error code.</p>
515 </td></tr></table>
516 </td></tr></table>
517 <hr width="75%">
518 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
519 <td width="100%"></td>
520 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
521
522 <table align=center width="75%"><tr><td>
523 <h4><a name="T1_EncodingType">T1_EncodingType</a></h4>
524 <table align=center width="87%"><tr><td>
525 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
526 </td></tr></table><br>
527 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
528
529   <span class="keyword">typedef</span> <span class="keyword">enum</span>  T1_EncodingType_
530   {
531     T1_ENCODING_TYPE_NONE = 0,
532     T1_ENCODING_TYPE_ARRAY,
533     T1_ENCODING_TYPE_STANDARD,
534     T1_ENCODING_TYPE_ISOLATIN1,
535     T1_ENCODING_TYPE_EXPERT
536
537   } <b>T1_EncodingType</b>;
538
539 </pre></table><br>
540 <table align=center width="87%"><tr><td>
541 <p>An enumeration describing the &lsquo;Encoding&rsquo; entry in a Type 1 dictionary.</p>
542 </td></tr></table><br>
543 </td></tr></table>
544 <hr width="75%">
545 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
546 <td width="100%"></td>
547 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
548
549 <table align=center width="75%"><tr><td>
550 <h4><a name="PS_Dict_Keys">PS_Dict_Keys</a></h4>
551 <table align=center width="87%"><tr><td>
552 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
553 </td></tr></table><br>
554 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
555
556   <span class="keyword">typedef</span> <span class="keyword">enum</span>  PS_Dict_Keys_
557   {
558     /* conventionally in the font dictionary */
559     PS_DICT_FONT_TYPE,              /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>         */
560     PS_DICT_FONT_MATRIX,            /* <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>        */
561     PS_DICT_FONT_BBOX,              /* <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>        */
562     PS_DICT_PAINT_TYPE,             /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>         */
563     PS_DICT_FONT_NAME,              /* <a href="ft2-basic_types.html#FT_String">FT_String</a>*      */
564     PS_DICT_UNIQUE_ID,              /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a>          */
565     PS_DICT_NUM_CHAR_STRINGS,       /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a>          */
566     PS_DICT_CHAR_STRING_KEY,        /* <a href="ft2-basic_types.html#FT_String">FT_String</a>*      */
567     PS_DICT_CHAR_STRING,            /* <a href="ft2-basic_types.html#FT_String">FT_String</a>*      */
568     PS_DICT_ENCODING_TYPE,          /* <a href="ft2-type1_tables.html#T1_EncodingType">T1_EncodingType</a> */
569     PS_DICT_ENCODING_ENTRY,         /* <a href="ft2-basic_types.html#FT_String">FT_String</a>*      */
570
571     /* conventionally in the font Private dictionary */
572     PS_DICT_NUM_SUBRS,              /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a>     */
573     PS_DICT_SUBR,                   /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */
574     PS_DICT_STD_HW,                 /* <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  */
575     PS_DICT_STD_VW,                 /* <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  */
576     PS_DICT_NUM_BLUE_VALUES,        /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    */
577     PS_DICT_BLUE_VALUE,             /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   */
578     PS_DICT_BLUE_FUZZ,              /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a>     */
579     PS_DICT_NUM_OTHER_BLUES,        /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    */
580     PS_DICT_OTHER_BLUE,             /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   */
581     PS_DICT_NUM_FAMILY_BLUES,       /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    */
582     PS_DICT_FAMILY_BLUE,            /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   */
583     PS_DICT_NUM_FAMILY_OTHER_BLUES, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    */
584     PS_DICT_FAMILY_OTHER_BLUE,      /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   */
585     PS_DICT_BLUE_SCALE,             /* <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>   */
586     PS_DICT_BLUE_SHIFT,             /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a>     */
587     PS_DICT_NUM_STEM_SNAP_H,        /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    */
588     PS_DICT_STEM_SNAP_H,            /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   */
589     PS_DICT_NUM_STEM_SNAP_V,        /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>    */
590     PS_DICT_STEM_SNAP_V,            /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   */
591     PS_DICT_FORCE_BOLD,             /* <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>    */
592     PS_DICT_RND_STEM_UP,            /* <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>    */
593     PS_DICT_MIN_FEATURE,            /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   */
594     PS_DICT_LEN_IV,                 /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a>     */
595     PS_DICT_PASSWORD,               /* <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    */
596     PS_DICT_LANGUAGE_GROUP,         /* <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    */
597
598     /* conventionally in the font FontInfo dictionary */
599     PS_DICT_VERSION,                /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */
600     PS_DICT_NOTICE,                 /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */
601     PS_DICT_FULL_NAME,              /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */
602     PS_DICT_FAMILY_NAME,            /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */
603     PS_DICT_WEIGHT,                 /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */
604     PS_DICT_IS_FIXED_PITCH,         /* <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>    */
605     PS_DICT_UNDERLINE_POSITION,     /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a>   */
606     PS_DICT_UNDERLINE_THICKNESS,    /* <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  */
607     PS_DICT_FS_TYPE,                /* <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a>  */
608     PS_DICT_ITALIC_ANGLE,           /* <a href="ft2-basic_types.html#FT_Long">FT_Long</a>    */
609
610     PS_DICT_MAX = PS_DICT_ITALIC_ANGLE
611
612   } <b>PS_Dict_Keys</b>;
613
614 </pre></table><br>
615 <table align=center width="87%"><tr><td>
616 <p>An enumeration used in calls to <a href="ft2-type1_tables.html#FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a> to identify the Type&nbsp;1 dictionary entry to retrieve.</p>
617 </td></tr></table><br>
618 </td></tr></table>
619 <hr width="75%">
620 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
621 <td width="100%"></td>
622 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
623
624 <table align=center width="75%"><tr><td>
625 <h4><a name="FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a></h4>
626 <table align=center width="87%"><tr><td>
627 Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
628 </td></tr></table><br>
629 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
630
631   FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> )
632   <b>FT_Get_PS_Font_Value</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a>       face,
633                         <a href="ft2-type1_tables.html#PS_Dict_Keys">PS_Dict_Keys</a>  key,
634                         <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a>       idx,
635                         <span class="keyword">void</span>         *value,
636                         <a href="ft2-basic_types.html#FT_Long">FT_Long</a>       value_len );
637
638 </pre></table><br>
639 <table align=center width="87%"><tr><td>
640 <p>Retrieve the value for the supplied key from a PostScript font.</p>
641 </td></tr></table><br>
642 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
643 <p></p>
644 <table cellpadding=3 border=0>
645 <tr valign=top><td><b>face</b></td><td>
646 <p>PostScript face handle.</p>
647 </td></tr>
648 <tr valign=top><td><b>key</b></td><td>
649 <p>An enumeration value representing the dictionary key to retrieve.</p>
650 </td></tr>
651 <tr valign=top><td><b>idx</b></td><td>
652 <p>For array values, this specifies the index to be returned.</p>
653 </td></tr>
654 <tr valign=top><td><b>value</b></td><td>
655 <p>A pointer to memory into which to write the value.</p>
656 </td></tr>
657 <tr valign=top><td><b>valen_len</b></td><td>
658 <p>The size, in bytes, of the memory supplied for the value.</p>
659 </td></tr>
660 </table>
661 </td></tr></table>
662 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
663 <p></p>
664 <table cellpadding=3 border=0>
665 <tr valign=top><td><b>value</b></td><td>
666 <p>The value matching the above key, if it exists.</p>
667 </td></tr>
668 </table>
669 </td></tr></table>
670 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
671 <p>The amount of memory (in bytes) required to hold the requested value (if it exists, -1 otherwise).</p>
672 </td></tr></table>
673 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
674 <p>The values returned are not pointers into the internal structures of the face, but are &lsquo;fresh&rsquo; copies, so that the memory containing them belongs to the calling application. This also enforces the &lsquo;read-only&rsquo; nature of these values, i.e., this function cannot be used to manipulate the face.</p>
675 <p>&lsquo;value&rsquo; is a void pointer because the values returned can be of various types.</p>
676 <p>If either &lsquo;value&rsquo; is NULL or &lsquo;value_len&rsquo; is too small, just the required memory size for the requested entry is returned.</p>
677 <p>The &lsquo;idx&rsquo; parameter is used, not only to retrieve elements of, for example, the FontMatrix or FontBBox, but also to retrieve name keys from the CharStrings dictionary, and the charstrings themselves. It is ignored for atomic values.</p>
678 <p>PS_DICT_BLUE_SCALE returns a value that is scaled up by 1000. To get the value as in the font stream, you need to divide by 65536000.0 (to remove the FT_Fixed scale, and the x1000 scale).</p>
679 <p>IMPORTANT: Only key/value pairs read by the FreeType interpreter can be retrieved. So, for example, PostScript procedures such as NP, ND, and RD are not available. Arbitrary keys are, obviously, not be available either.</p>
680 <p>If the font's format is not PostScript-based, this function returns the &lsquo;FT_Err_Invalid_Argument&rsquo; error code.</p>
681 </td></tr></table>
682 </td></tr></table>
683 <hr width="75%">
684 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
685 <td width="100%"></td>
686 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
687
688 </body>
689 </html>