1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
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;
10 background: #FFFFFF; }
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;
19 a:link { color: #0000EF; }
20 a:visited { color: #51188E; }
21 a:hover { color: #FF0000; }
23 span.keyword { font-family: monospace;
28 pre.colored { color: blue; }
30 ul.empty { list-style-type: none; }
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>
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>
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>
63 <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_FontInfoRec_
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;
75 } <b>PS_FontInfoRec</b>;
78 <table align=center width="87%"><tr><td>
79 <p>A structure used to model a Type 1 or Type 2 FontInfo dictionary. Note that for Multiple Master fonts, each instance has its own FontInfo dictionary.</p>
80 </td></tr></table><br>
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>
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>
94 <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_FontInfoRec_* <b>PS_FontInfo</b>;
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>
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>
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>
113 <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> <b>T1_FontInfo</b>;
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>
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>
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>
132 <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_PrivateRec_
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;
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;
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];
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];
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;
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];
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;
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 */
163 <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> expansion_factor;
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;
168 <a href="ft2-basic_types.html#FT_Short">FT_Short</a> min_feature[2];
170 } <b>PS_PrivateRec</b>;
173 <table align=center width="87%"><tr><td>
174 <p>A structure used to model a Type 1 or Type 2 private dictionary. Note that for Multiple Master fonts, each instance has its own Private dictionary.</p>
175 </td></tr></table><br>
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>
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>
189 <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_PrivateRec_* <b>PS_Private</b>;
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>
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>
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>
208 <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> <b>T1_Private</b>;
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>
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>
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>
227 <span class="keyword">typedef</span> <span class="keyword">enum</span> T1_Blend_Flags_
229 /*# required fields in a FontInfo blend dictionary */
230 T1_BLEND_UNDERLINE_POSITION = 0,
231 T1_BLEND_UNDERLINE_THICKNESS,
232 T1_BLEND_ITALIC_ANGLE,
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,
243 T1_BLEND_FAMILY_BLUES,
244 T1_BLEND_FAMILY_OTHER_BLUES,
250 } <b>T1_Blend_Flags</b>;
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>
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>
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>
269 <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceDictRec_
271 <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> private_dict;
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;
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;
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;
287 } <b>CID_FaceDictRec</b>;
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>
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>
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>
306 <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceDictRec_* <b>CID_FaceDict</b>;
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>
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>
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>
325 <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceInfoRec_
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;
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;
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;
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];
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;
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;
350 <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> data_offset;
352 } <b>CID_FaceInfoRec</b>;
355 <table align=center width="87%"><tr><td>
356 <p>A structure used to represent CID Face information.</p>
357 </td></tr></table><br>
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>
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>
371 <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceInfoRec_* <b>CID_FaceInfo</b>;
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>
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>
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>
390 <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a> <b>CID_Info</b>;
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>
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>
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>
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 );
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>
419 <table cellpadding=3 border=0>
420 <tr valign=top><td><b>face</b></td><td>
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>
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>
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>
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 );
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>
451 <table cellpadding=3 border=0>
452 <tr valign=top><td><b>face</b></td><td>
453 <p>PostScript face handle.</p>
457 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
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>
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 means success.</p>
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 ‘FT_Err_Invalid_Argument’ error code.</p>
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>
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>
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 );
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>
495 <table cellpadding=3 border=0>
496 <tr valign=top><td><b>face</b></td><td>
497 <p>PostScript face handle.</p>
501 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
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>
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 means success.</p>
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 ‘FT_Err_Invalid_Argument’ error code.</p>
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>
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>
529 <span class="keyword">typedef</span> <span class="keyword">enum</span> T1_EncodingType_
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
537 } <b>T1_EncodingType</b>;
540 <table align=center width="87%"><tr><td>
541 <p>An enumeration describing the ‘Encoding’ entry in a Type 1 dictionary.</p>
542 </td></tr></table><br>
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>
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>
556 <span class="keyword">typedef</span> <span class="keyword">enum</span> PS_Dict_Keys_
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>* */
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> */
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> */
610 PS_DICT_MAX = PS_DICT_ITALIC_ANGLE
612 } <b>PS_Dict_Keys</b>;
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 1 dictionary entry to retrieve.</p>
617 </td></tr></table><br>
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>
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>
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 );
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>
644 <table cellpadding=3 border=0>
645 <tr valign=top><td><b>face</b></td><td>
646 <p>PostScript face handle.</p>
648 <tr valign=top><td><b>key</b></td><td>
649 <p>An enumeration value representing the dictionary key to retrieve.</p>
651 <tr valign=top><td><b>idx</b></td><td>
652 <p>For array values, this specifies the index to be returned.</p>
654 <tr valign=top><td><b>value</b></td><td>
655 <p>A pointer to memory into which to write the value.</p>
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>
662 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
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>
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>
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 ‘fresh’ copies, so that the memory containing them belongs to the calling application. This also enforces the ‘read-only’ nature of these values, i.e., this function cannot be used to manipulate the face.</p>
675 <p>‘value’ is a void pointer because the values returned can be of various types.</p>
676 <p>If either ‘value’ is NULL or ‘value_len’ is too small, just the required memory size for the requested entry is returned.</p>
677 <p>The ‘idx’ 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 ‘FT_Err_Invalid_Argument’ error code.</p>
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>