rev |
line source |
nuclear@0
|
1 /***************************************************************************/
|
nuclear@0
|
2 /* */
|
nuclear@0
|
3 /* t1tables.h */
|
nuclear@0
|
4 /* */
|
nuclear@0
|
5 /* Basic Type 1/Type 2 tables definitions and interface (specification */
|
nuclear@0
|
6 /* only). */
|
nuclear@0
|
7 /* */
|
nuclear@0
|
8 /* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008, 2009 by */
|
nuclear@0
|
9 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
nuclear@0
|
10 /* */
|
nuclear@0
|
11 /* This file is part of the FreeType project, and may only be used, */
|
nuclear@0
|
12 /* modified, and distributed under the terms of the FreeType project */
|
nuclear@0
|
13 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
nuclear@0
|
14 /* this file you indicate that you have read the license and */
|
nuclear@0
|
15 /* understand and accept it fully. */
|
nuclear@0
|
16 /* */
|
nuclear@0
|
17 /***************************************************************************/
|
nuclear@0
|
18
|
nuclear@0
|
19
|
nuclear@0
|
20 #ifndef __T1TABLES_H__
|
nuclear@0
|
21 #define __T1TABLES_H__
|
nuclear@0
|
22
|
nuclear@0
|
23
|
nuclear@0
|
24 #include <ft2build.h>
|
nuclear@0
|
25 #include FT_FREETYPE_H
|
nuclear@0
|
26
|
nuclear@0
|
27 #ifdef FREETYPE_H
|
nuclear@0
|
28 #error "freetype.h of FreeType 1 has been loaded!"
|
nuclear@0
|
29 #error "Please fix the directory search order for header files"
|
nuclear@0
|
30 #error "so that freetype.h of FreeType 2 is found first."
|
nuclear@0
|
31 #endif
|
nuclear@0
|
32
|
nuclear@0
|
33
|
nuclear@0
|
34 FT_BEGIN_HEADER
|
nuclear@0
|
35
|
nuclear@0
|
36
|
nuclear@0
|
37 /*************************************************************************/
|
nuclear@0
|
38 /* */
|
nuclear@0
|
39 /* <Section> */
|
nuclear@0
|
40 /* type1_tables */
|
nuclear@0
|
41 /* */
|
nuclear@0
|
42 /* <Title> */
|
nuclear@0
|
43 /* Type 1 Tables */
|
nuclear@0
|
44 /* */
|
nuclear@0
|
45 /* <Abstract> */
|
nuclear@0
|
46 /* Type~1 (PostScript) specific font tables. */
|
nuclear@0
|
47 /* */
|
nuclear@0
|
48 /* <Description> */
|
nuclear@0
|
49 /* This section contains the definition of Type 1-specific tables, */
|
nuclear@0
|
50 /* including structures related to other PostScript font formats. */
|
nuclear@0
|
51 /* */
|
nuclear@0
|
52 /*************************************************************************/
|
nuclear@0
|
53
|
nuclear@0
|
54
|
nuclear@0
|
55 /* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */
|
nuclear@0
|
56 /* structures in order to support Multiple Master fonts. */
|
nuclear@0
|
57
|
nuclear@0
|
58
|
nuclear@0
|
59 /*************************************************************************/
|
nuclear@0
|
60 /* */
|
nuclear@0
|
61 /* <Struct> */
|
nuclear@0
|
62 /* PS_FontInfoRec */
|
nuclear@0
|
63 /* */
|
nuclear@0
|
64 /* <Description> */
|
nuclear@0
|
65 /* A structure used to model a Type~1 or Type~2 FontInfo dictionary. */
|
nuclear@0
|
66 /* Note that for Multiple Master fonts, each instance has its own */
|
nuclear@0
|
67 /* FontInfo dictionary. */
|
nuclear@0
|
68 /* */
|
nuclear@0
|
69 typedef struct PS_FontInfoRec_
|
nuclear@0
|
70 {
|
nuclear@0
|
71 FT_String* version;
|
nuclear@0
|
72 FT_String* notice;
|
nuclear@0
|
73 FT_String* full_name;
|
nuclear@0
|
74 FT_String* family_name;
|
nuclear@0
|
75 FT_String* weight;
|
nuclear@0
|
76 FT_Long italic_angle;
|
nuclear@0
|
77 FT_Bool is_fixed_pitch;
|
nuclear@0
|
78 FT_Short underline_position;
|
nuclear@0
|
79 FT_UShort underline_thickness;
|
nuclear@0
|
80
|
nuclear@0
|
81 } PS_FontInfoRec;
|
nuclear@0
|
82
|
nuclear@0
|
83
|
nuclear@0
|
84 /*************************************************************************/
|
nuclear@0
|
85 /* */
|
nuclear@0
|
86 /* <Struct> */
|
nuclear@0
|
87 /* PS_FontInfo */
|
nuclear@0
|
88 /* */
|
nuclear@0
|
89 /* <Description> */
|
nuclear@0
|
90 /* A handle to a @PS_FontInfoRec structure. */
|
nuclear@0
|
91 /* */
|
nuclear@0
|
92 typedef struct PS_FontInfoRec_* PS_FontInfo;
|
nuclear@0
|
93
|
nuclear@0
|
94
|
nuclear@0
|
95 /*************************************************************************/
|
nuclear@0
|
96 /* */
|
nuclear@0
|
97 /* <Struct> */
|
nuclear@0
|
98 /* T1_FontInfo */
|
nuclear@0
|
99 /* */
|
nuclear@0
|
100 /* <Description> */
|
nuclear@0
|
101 /* This type is equivalent to @PS_FontInfoRec. It is deprecated but */
|
nuclear@0
|
102 /* kept to maintain source compatibility between various versions of */
|
nuclear@0
|
103 /* FreeType. */
|
nuclear@0
|
104 /* */
|
nuclear@0
|
105 typedef PS_FontInfoRec T1_FontInfo;
|
nuclear@0
|
106
|
nuclear@0
|
107
|
nuclear@0
|
108 /*************************************************************************/
|
nuclear@0
|
109 /* */
|
nuclear@0
|
110 /* <Struct> */
|
nuclear@0
|
111 /* PS_PrivateRec */
|
nuclear@0
|
112 /* */
|
nuclear@0
|
113 /* <Description> */
|
nuclear@0
|
114 /* A structure used to model a Type~1 or Type~2 private dictionary. */
|
nuclear@0
|
115 /* Note that for Multiple Master fonts, each instance has its own */
|
nuclear@0
|
116 /* Private dictionary. */
|
nuclear@0
|
117 /* */
|
nuclear@0
|
118 typedef struct PS_PrivateRec_
|
nuclear@0
|
119 {
|
nuclear@0
|
120 FT_Int unique_id;
|
nuclear@0
|
121 FT_Int lenIV;
|
nuclear@0
|
122
|
nuclear@0
|
123 FT_Byte num_blue_values;
|
nuclear@0
|
124 FT_Byte num_other_blues;
|
nuclear@0
|
125 FT_Byte num_family_blues;
|
nuclear@0
|
126 FT_Byte num_family_other_blues;
|
nuclear@0
|
127
|
nuclear@0
|
128 FT_Short blue_values[14];
|
nuclear@0
|
129 FT_Short other_blues[10];
|
nuclear@0
|
130
|
nuclear@0
|
131 FT_Short family_blues [14];
|
nuclear@0
|
132 FT_Short family_other_blues[10];
|
nuclear@0
|
133
|
nuclear@0
|
134 FT_Fixed blue_scale;
|
nuclear@0
|
135 FT_Int blue_shift;
|
nuclear@0
|
136 FT_Int blue_fuzz;
|
nuclear@0
|
137
|
nuclear@0
|
138 FT_UShort standard_width[1];
|
nuclear@0
|
139 FT_UShort standard_height[1];
|
nuclear@0
|
140
|
nuclear@0
|
141 FT_Byte num_snap_widths;
|
nuclear@0
|
142 FT_Byte num_snap_heights;
|
nuclear@0
|
143 FT_Bool force_bold;
|
nuclear@0
|
144 FT_Bool round_stem_up;
|
nuclear@0
|
145
|
nuclear@0
|
146 FT_Short snap_widths [13]; /* including std width */
|
nuclear@0
|
147 FT_Short snap_heights[13]; /* including std height */
|
nuclear@0
|
148
|
nuclear@0
|
149 FT_Fixed expansion_factor;
|
nuclear@0
|
150
|
nuclear@0
|
151 FT_Long language_group;
|
nuclear@0
|
152 FT_Long password;
|
nuclear@0
|
153
|
nuclear@0
|
154 FT_Short min_feature[2];
|
nuclear@0
|
155
|
nuclear@0
|
156 } PS_PrivateRec;
|
nuclear@0
|
157
|
nuclear@0
|
158
|
nuclear@0
|
159 /*************************************************************************/
|
nuclear@0
|
160 /* */
|
nuclear@0
|
161 /* <Struct> */
|
nuclear@0
|
162 /* PS_Private */
|
nuclear@0
|
163 /* */
|
nuclear@0
|
164 /* <Description> */
|
nuclear@0
|
165 /* A handle to a @PS_PrivateRec structure. */
|
nuclear@0
|
166 /* */
|
nuclear@0
|
167 typedef struct PS_PrivateRec_* PS_Private;
|
nuclear@0
|
168
|
nuclear@0
|
169
|
nuclear@0
|
170 /*************************************************************************/
|
nuclear@0
|
171 /* */
|
nuclear@0
|
172 /* <Struct> */
|
nuclear@0
|
173 /* T1_Private */
|
nuclear@0
|
174 /* */
|
nuclear@0
|
175 /* <Description> */
|
nuclear@0
|
176 /* This type is equivalent to @PS_PrivateRec. It is deprecated but */
|
nuclear@0
|
177 /* kept to maintain source compatibility between various versions of */
|
nuclear@0
|
178 /* FreeType. */
|
nuclear@0
|
179 /* */
|
nuclear@0
|
180 typedef PS_PrivateRec T1_Private;
|
nuclear@0
|
181
|
nuclear@0
|
182
|
nuclear@0
|
183 /*************************************************************************/
|
nuclear@0
|
184 /* */
|
nuclear@0
|
185 /* <Enum> */
|
nuclear@0
|
186 /* T1_Blend_Flags */
|
nuclear@0
|
187 /* */
|
nuclear@0
|
188 /* <Description> */
|
nuclear@0
|
189 /* A set of flags used to indicate which fields are present in a */
|
nuclear@0
|
190 /* given blend dictionary (font info or private). Used to support */
|
nuclear@0
|
191 /* Multiple Masters fonts. */
|
nuclear@0
|
192 /* */
|
nuclear@0
|
193 typedef enum T1_Blend_Flags_
|
nuclear@0
|
194 {
|
nuclear@0
|
195 /*# required fields in a FontInfo blend dictionary */
|
nuclear@0
|
196 T1_BLEND_UNDERLINE_POSITION = 0,
|
nuclear@0
|
197 T1_BLEND_UNDERLINE_THICKNESS,
|
nuclear@0
|
198 T1_BLEND_ITALIC_ANGLE,
|
nuclear@0
|
199
|
nuclear@0
|
200 /*# required fields in a Private blend dictionary */
|
nuclear@0
|
201 T1_BLEND_BLUE_VALUES,
|
nuclear@0
|
202 T1_BLEND_OTHER_BLUES,
|
nuclear@0
|
203 T1_BLEND_STANDARD_WIDTH,
|
nuclear@0
|
204 T1_BLEND_STANDARD_HEIGHT,
|
nuclear@0
|
205 T1_BLEND_STEM_SNAP_WIDTHS,
|
nuclear@0
|
206 T1_BLEND_STEM_SNAP_HEIGHTS,
|
nuclear@0
|
207 T1_BLEND_BLUE_SCALE,
|
nuclear@0
|
208 T1_BLEND_BLUE_SHIFT,
|
nuclear@0
|
209 T1_BLEND_FAMILY_BLUES,
|
nuclear@0
|
210 T1_BLEND_FAMILY_OTHER_BLUES,
|
nuclear@0
|
211 T1_BLEND_FORCE_BOLD,
|
nuclear@0
|
212
|
nuclear@0
|
213 /*# never remove */
|
nuclear@0
|
214 T1_BLEND_MAX
|
nuclear@0
|
215
|
nuclear@0
|
216 } T1_Blend_Flags;
|
nuclear@0
|
217
|
nuclear@0
|
218 /* */
|
nuclear@0
|
219
|
nuclear@0
|
220
|
nuclear@0
|
221 /*# backwards compatible definitions */
|
nuclear@0
|
222 #define t1_blend_underline_position T1_BLEND_UNDERLINE_POSITION
|
nuclear@0
|
223 #define t1_blend_underline_thickness T1_BLEND_UNDERLINE_THICKNESS
|
nuclear@0
|
224 #define t1_blend_italic_angle T1_BLEND_ITALIC_ANGLE
|
nuclear@0
|
225 #define t1_blend_blue_values T1_BLEND_BLUE_VALUES
|
nuclear@0
|
226 #define t1_blend_other_blues T1_BLEND_OTHER_BLUES
|
nuclear@0
|
227 #define t1_blend_standard_widths T1_BLEND_STANDARD_WIDTH
|
nuclear@0
|
228 #define t1_blend_standard_height T1_BLEND_STANDARD_HEIGHT
|
nuclear@0
|
229 #define t1_blend_stem_snap_widths T1_BLEND_STEM_SNAP_WIDTHS
|
nuclear@0
|
230 #define t1_blend_stem_snap_heights T1_BLEND_STEM_SNAP_HEIGHTS
|
nuclear@0
|
231 #define t1_blend_blue_scale T1_BLEND_BLUE_SCALE
|
nuclear@0
|
232 #define t1_blend_blue_shift T1_BLEND_BLUE_SHIFT
|
nuclear@0
|
233 #define t1_blend_family_blues T1_BLEND_FAMILY_BLUES
|
nuclear@0
|
234 #define t1_blend_family_other_blues T1_BLEND_FAMILY_OTHER_BLUES
|
nuclear@0
|
235 #define t1_blend_force_bold T1_BLEND_FORCE_BOLD
|
nuclear@0
|
236 #define t1_blend_max T1_BLEND_MAX
|
nuclear@0
|
237
|
nuclear@0
|
238
|
nuclear@0
|
239 /* maximum number of Multiple Masters designs, as defined in the spec */
|
nuclear@0
|
240 #define T1_MAX_MM_DESIGNS 16
|
nuclear@0
|
241
|
nuclear@0
|
242 /* maximum number of Multiple Masters axes, as defined in the spec */
|
nuclear@0
|
243 #define T1_MAX_MM_AXIS 4
|
nuclear@0
|
244
|
nuclear@0
|
245 /* maximum number of elements in a design map */
|
nuclear@0
|
246 #define T1_MAX_MM_MAP_POINTS 20
|
nuclear@0
|
247
|
nuclear@0
|
248
|
nuclear@0
|
249 /* this structure is used to store the BlendDesignMap entry for an axis */
|
nuclear@0
|
250 typedef struct PS_DesignMap_
|
nuclear@0
|
251 {
|
nuclear@0
|
252 FT_Byte num_points;
|
nuclear@0
|
253 FT_Long* design_points;
|
nuclear@0
|
254 FT_Fixed* blend_points;
|
nuclear@0
|
255
|
nuclear@0
|
256 } PS_DesignMapRec, *PS_DesignMap;
|
nuclear@0
|
257
|
nuclear@0
|
258 /* backwards-compatible definition */
|
nuclear@0
|
259 typedef PS_DesignMapRec T1_DesignMap;
|
nuclear@0
|
260
|
nuclear@0
|
261
|
nuclear@0
|
262 typedef struct PS_BlendRec_
|
nuclear@0
|
263 {
|
nuclear@0
|
264 FT_UInt num_designs;
|
nuclear@0
|
265 FT_UInt num_axis;
|
nuclear@0
|
266
|
nuclear@0
|
267 FT_String* axis_names[T1_MAX_MM_AXIS];
|
nuclear@0
|
268 FT_Fixed* design_pos[T1_MAX_MM_DESIGNS];
|
nuclear@0
|
269 PS_DesignMapRec design_map[T1_MAX_MM_AXIS];
|
nuclear@0
|
270
|
nuclear@0
|
271 FT_Fixed* weight_vector;
|
nuclear@0
|
272 FT_Fixed* default_weight_vector;
|
nuclear@0
|
273
|
nuclear@0
|
274 PS_FontInfo font_infos[T1_MAX_MM_DESIGNS + 1];
|
nuclear@0
|
275 PS_Private privates [T1_MAX_MM_DESIGNS + 1];
|
nuclear@0
|
276
|
nuclear@0
|
277 FT_ULong blend_bitflags;
|
nuclear@0
|
278
|
nuclear@0
|
279 FT_BBox* bboxes [T1_MAX_MM_DESIGNS + 1];
|
nuclear@0
|
280
|
nuclear@0
|
281 /* since 2.3.0 */
|
nuclear@0
|
282
|
nuclear@0
|
283 /* undocumented, optional: the default design instance; */
|
nuclear@0
|
284 /* corresponds to default_weight_vector -- */
|
nuclear@0
|
285 /* num_default_design_vector == 0 means it is not present */
|
nuclear@0
|
286 /* in the font and associated metrics files */
|
nuclear@0
|
287 FT_UInt default_design_vector[T1_MAX_MM_DESIGNS];
|
nuclear@0
|
288 FT_UInt num_default_design_vector;
|
nuclear@0
|
289
|
nuclear@0
|
290 } PS_BlendRec, *PS_Blend;
|
nuclear@0
|
291
|
nuclear@0
|
292
|
nuclear@0
|
293 /* backwards-compatible definition */
|
nuclear@0
|
294 typedef PS_BlendRec T1_Blend;
|
nuclear@0
|
295
|
nuclear@0
|
296
|
nuclear@0
|
297 /*************************************************************************/
|
nuclear@0
|
298 /* */
|
nuclear@0
|
299 /* <Struct> */
|
nuclear@0
|
300 /* CID_FaceDictRec */
|
nuclear@0
|
301 /* */
|
nuclear@0
|
302 /* <Description> */
|
nuclear@0
|
303 /* A structure used to represent data in a CID top-level dictionary. */
|
nuclear@0
|
304 /* */
|
nuclear@0
|
305 typedef struct CID_FaceDictRec_
|
nuclear@0
|
306 {
|
nuclear@0
|
307 PS_PrivateRec private_dict;
|
nuclear@0
|
308
|
nuclear@0
|
309 FT_UInt len_buildchar;
|
nuclear@0
|
310 FT_Fixed forcebold_threshold;
|
nuclear@0
|
311 FT_Pos stroke_width;
|
nuclear@0
|
312 FT_Fixed expansion_factor;
|
nuclear@0
|
313
|
nuclear@0
|
314 FT_Byte paint_type;
|
nuclear@0
|
315 FT_Byte font_type;
|
nuclear@0
|
316 FT_Matrix font_matrix;
|
nuclear@0
|
317 FT_Vector font_offset;
|
nuclear@0
|
318
|
nuclear@0
|
319 FT_UInt num_subrs;
|
nuclear@0
|
320 FT_ULong subrmap_offset;
|
nuclear@0
|
321 FT_Int sd_bytes;
|
nuclear@0
|
322
|
nuclear@0
|
323 } CID_FaceDictRec;
|
nuclear@0
|
324
|
nuclear@0
|
325
|
nuclear@0
|
326 /*************************************************************************/
|
nuclear@0
|
327 /* */
|
nuclear@0
|
328 /* <Struct> */
|
nuclear@0
|
329 /* CID_FaceDict */
|
nuclear@0
|
330 /* */
|
nuclear@0
|
331 /* <Description> */
|
nuclear@0
|
332 /* A handle to a @CID_FaceDictRec structure. */
|
nuclear@0
|
333 /* */
|
nuclear@0
|
334 typedef struct CID_FaceDictRec_* CID_FaceDict;
|
nuclear@0
|
335
|
nuclear@0
|
336 /* */
|
nuclear@0
|
337
|
nuclear@0
|
338
|
nuclear@0
|
339 /* backwards-compatible definition */
|
nuclear@0
|
340 typedef CID_FaceDictRec CID_FontDict;
|
nuclear@0
|
341
|
nuclear@0
|
342
|
nuclear@0
|
343 /*************************************************************************/
|
nuclear@0
|
344 /* */
|
nuclear@0
|
345 /* <Struct> */
|
nuclear@0
|
346 /* CID_FaceInfoRec */
|
nuclear@0
|
347 /* */
|
nuclear@0
|
348 /* <Description> */
|
nuclear@0
|
349 /* A structure used to represent CID Face information. */
|
nuclear@0
|
350 /* */
|
nuclear@0
|
351 typedef struct CID_FaceInfoRec_
|
nuclear@0
|
352 {
|
nuclear@0
|
353 FT_String* cid_font_name;
|
nuclear@0
|
354 FT_Fixed cid_version;
|
nuclear@0
|
355 FT_Int cid_font_type;
|
nuclear@0
|
356
|
nuclear@0
|
357 FT_String* registry;
|
nuclear@0
|
358 FT_String* ordering;
|
nuclear@0
|
359 FT_Int supplement;
|
nuclear@0
|
360
|
nuclear@0
|
361 PS_FontInfoRec font_info;
|
nuclear@0
|
362 FT_BBox font_bbox;
|
nuclear@0
|
363 FT_ULong uid_base;
|
nuclear@0
|
364
|
nuclear@0
|
365 FT_Int num_xuid;
|
nuclear@0
|
366 FT_ULong xuid[16];
|
nuclear@0
|
367
|
nuclear@0
|
368 FT_ULong cidmap_offset;
|
nuclear@0
|
369 FT_Int fd_bytes;
|
nuclear@0
|
370 FT_Int gd_bytes;
|
nuclear@0
|
371 FT_ULong cid_count;
|
nuclear@0
|
372
|
nuclear@0
|
373 FT_Int num_dicts;
|
nuclear@0
|
374 CID_FaceDict font_dicts;
|
nuclear@0
|
375
|
nuclear@0
|
376 FT_ULong data_offset;
|
nuclear@0
|
377
|
nuclear@0
|
378 } CID_FaceInfoRec;
|
nuclear@0
|
379
|
nuclear@0
|
380
|
nuclear@0
|
381 /*************************************************************************/
|
nuclear@0
|
382 /* */
|
nuclear@0
|
383 /* <Struct> */
|
nuclear@0
|
384 /* CID_FaceInfo */
|
nuclear@0
|
385 /* */
|
nuclear@0
|
386 /* <Description> */
|
nuclear@0
|
387 /* A handle to a @CID_FaceInfoRec structure. */
|
nuclear@0
|
388 /* */
|
nuclear@0
|
389 typedef struct CID_FaceInfoRec_* CID_FaceInfo;
|
nuclear@0
|
390
|
nuclear@0
|
391
|
nuclear@0
|
392 /*************************************************************************/
|
nuclear@0
|
393 /* */
|
nuclear@0
|
394 /* <Struct> */
|
nuclear@0
|
395 /* CID_Info */
|
nuclear@0
|
396 /* */
|
nuclear@0
|
397 /* <Description> */
|
nuclear@0
|
398 /* This type is equivalent to @CID_FaceInfoRec. It is deprecated but */
|
nuclear@0
|
399 /* kept to maintain source compatibility between various versions of */
|
nuclear@0
|
400 /* FreeType. */
|
nuclear@0
|
401 /* */
|
nuclear@0
|
402 typedef CID_FaceInfoRec CID_Info;
|
nuclear@0
|
403
|
nuclear@0
|
404
|
nuclear@0
|
405 /************************************************************************
|
nuclear@0
|
406 *
|
nuclear@0
|
407 * @function:
|
nuclear@0
|
408 * FT_Has_PS_Glyph_Names
|
nuclear@0
|
409 *
|
nuclear@0
|
410 * @description:
|
nuclear@0
|
411 * Return true if a given face provides reliable PostScript glyph
|
nuclear@0
|
412 * names. This is similar to using the @FT_HAS_GLYPH_NAMES macro,
|
nuclear@0
|
413 * except that certain fonts (mostly TrueType) contain incorrect
|
nuclear@0
|
414 * glyph name tables.
|
nuclear@0
|
415 *
|
nuclear@0
|
416 * When this function returns true, the caller is sure that the glyph
|
nuclear@0
|
417 * names returned by @FT_Get_Glyph_Name are reliable.
|
nuclear@0
|
418 *
|
nuclear@0
|
419 * @input:
|
nuclear@0
|
420 * face ::
|
nuclear@0
|
421 * face handle
|
nuclear@0
|
422 *
|
nuclear@0
|
423 * @return:
|
nuclear@0
|
424 * Boolean. True if glyph names are reliable.
|
nuclear@0
|
425 *
|
nuclear@0
|
426 */
|
nuclear@0
|
427 FT_EXPORT( FT_Int )
|
nuclear@0
|
428 FT_Has_PS_Glyph_Names( FT_Face face );
|
nuclear@0
|
429
|
nuclear@0
|
430
|
nuclear@0
|
431 /************************************************************************
|
nuclear@0
|
432 *
|
nuclear@0
|
433 * @function:
|
nuclear@0
|
434 * FT_Get_PS_Font_Info
|
nuclear@0
|
435 *
|
nuclear@0
|
436 * @description:
|
nuclear@0
|
437 * Retrieve the @PS_FontInfoRec structure corresponding to a given
|
nuclear@0
|
438 * PostScript font.
|
nuclear@0
|
439 *
|
nuclear@0
|
440 * @input:
|
nuclear@0
|
441 * face ::
|
nuclear@0
|
442 * PostScript face handle.
|
nuclear@0
|
443 *
|
nuclear@0
|
444 * @output:
|
nuclear@0
|
445 * afont_info ::
|
nuclear@0
|
446 * Output font info structure pointer.
|
nuclear@0
|
447 *
|
nuclear@0
|
448 * @return:
|
nuclear@0
|
449 * FreeType error code. 0~means success.
|
nuclear@0
|
450 *
|
nuclear@0
|
451 * @note:
|
nuclear@0
|
452 * The string pointers within the font info structure are owned by
|
nuclear@0
|
453 * the face and don't need to be freed by the caller.
|
nuclear@0
|
454 *
|
nuclear@0
|
455 * If the font's format is not PostScript-based, this function will
|
nuclear@0
|
456 * return the `FT_Err_Invalid_Argument' error code.
|
nuclear@0
|
457 *
|
nuclear@0
|
458 */
|
nuclear@0
|
459 FT_EXPORT( FT_Error )
|
nuclear@0
|
460 FT_Get_PS_Font_Info( FT_Face face,
|
nuclear@0
|
461 PS_FontInfo afont_info );
|
nuclear@0
|
462
|
nuclear@0
|
463
|
nuclear@0
|
464 /************************************************************************
|
nuclear@0
|
465 *
|
nuclear@0
|
466 * @function:
|
nuclear@0
|
467 * FT_Get_PS_Font_Private
|
nuclear@0
|
468 *
|
nuclear@0
|
469 * @description:
|
nuclear@0
|
470 * Retrieve the @PS_PrivateRec structure corresponding to a given
|
nuclear@0
|
471 * PostScript font.
|
nuclear@0
|
472 *
|
nuclear@0
|
473 * @input:
|
nuclear@0
|
474 * face ::
|
nuclear@0
|
475 * PostScript face handle.
|
nuclear@0
|
476 *
|
nuclear@0
|
477 * @output:
|
nuclear@0
|
478 * afont_private ::
|
nuclear@0
|
479 * Output private dictionary structure pointer.
|
nuclear@0
|
480 *
|
nuclear@0
|
481 * @return:
|
nuclear@0
|
482 * FreeType error code. 0~means success.
|
nuclear@0
|
483 *
|
nuclear@0
|
484 * @note:
|
nuclear@0
|
485 * The string pointers within the @PS_PrivateRec structure are owned by
|
nuclear@0
|
486 * the face and don't need to be freed by the caller.
|
nuclear@0
|
487 *
|
nuclear@0
|
488 * If the font's format is not PostScript-based, this function returns
|
nuclear@0
|
489 * the `FT_Err_Invalid_Argument' error code.
|
nuclear@0
|
490 *
|
nuclear@0
|
491 */
|
nuclear@0
|
492 FT_EXPORT( FT_Error )
|
nuclear@0
|
493 FT_Get_PS_Font_Private( FT_Face face,
|
nuclear@0
|
494 PS_Private afont_private );
|
nuclear@0
|
495
|
nuclear@0
|
496 /* */
|
nuclear@0
|
497
|
nuclear@0
|
498
|
nuclear@0
|
499 FT_END_HEADER
|
nuclear@0
|
500
|
nuclear@0
|
501 #endif /* __T1TABLES_H__ */
|
nuclear@0
|
502
|
nuclear@0
|
503
|
nuclear@0
|
504 /* END */
|