ReactOS 0.4.16-dev-2380-gf63df20
t1tables.h
Go to the documentation of this file.
1/****************************************************************************
2 *
3 * t1tables.h
4 *
5 * Basic Type 1/Type 2 tables definitions and interface (specification
6 * only).
7 *
8 * Copyright (C) 1996-2020 by
9 * David Turner, Robert Wilhelm, and Werner Lemberg.
10 *
11 * This file is part of the FreeType project, and may only be used,
12 * modified, and distributed under the terms of the FreeType project
13 * license, LICENSE.TXT. By continuing to use, modify, or distribute
14 * this file you indicate that you have read the license and
15 * understand and accept it fully.
16 *
17 */
18
19
20#ifndef T1TABLES_H_
21#define T1TABLES_H_
22
23
24#include <freetype/freetype.h>
25
26#ifdef FREETYPE_H
27#error "freetype.h of FreeType 1 has been loaded!"
28#error "Please fix the directory search order for header files"
29#error "so that freetype.h of FreeType 2 is found first."
30#endif
31
32
34
35
36 /**************************************************************************
37 *
38 * @section:
39 * type1_tables
40 *
41 * @title:
42 * Type 1 Tables
43 *
44 * @abstract:
45 * Type~1-specific font tables.
46 *
47 * @description:
48 * This section contains the definition of Type~1-specific tables,
49 * including structures related to other PostScript font formats.
50 *
51 * @order:
52 * PS_FontInfoRec
53 * PS_FontInfo
54 * PS_PrivateRec
55 * PS_Private
56 *
57 * CID_FaceDictRec
58 * CID_FaceDict
59 * CID_FaceInfoRec
60 * CID_FaceInfo
61 *
62 * FT_Has_PS_Glyph_Names
63 * FT_Get_PS_Font_Info
64 * FT_Get_PS_Font_Private
65 * FT_Get_PS_Font_Value
66 *
67 * T1_Blend_Flags
68 * T1_EncodingType
69 * PS_Dict_Keys
70 *
71 */
72
73
74 /* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */
75 /* structures in order to support Multiple Master fonts. */
76
77
78 /**************************************************************************
79 *
80 * @struct:
81 * PS_FontInfoRec
82 *
83 * @description:
84 * A structure used to model a Type~1 or Type~2 FontInfo dictionary.
85 * Note that for Multiple Master fonts, each instance has its own
86 * FontInfo dictionary.
87 */
88 typedef struct PS_FontInfoRec_
89 {
99
101
102
103 /**************************************************************************
104 *
105 * @struct:
106 * PS_FontInfo
107 *
108 * @description:
109 * A handle to a @PS_FontInfoRec structure.
110 */
112
113
114 /**************************************************************************
115 *
116 * @struct:
117 * T1_FontInfo
118 *
119 * @description:
120 * This type is equivalent to @PS_FontInfoRec. It is deprecated but kept
121 * to maintain source compatibility between various versions of FreeType.
122 */
124
125
126 /**************************************************************************
127 *
128 * @struct:
129 * PS_PrivateRec
130 *
131 * @description:
132 * A structure used to model a Type~1 or Type~2 private dictionary. Note
133 * that for Multiple Master fonts, each instance has its own Private
134 * dictionary.
135 */
136 typedef struct PS_PrivateRec_
137 {
140
145
148
151
155
158
163
164 FT_Short snap_widths [13]; /* including std width */
165 FT_Short snap_heights[13]; /* including std height */
166
168
171
173
175
176
177 /**************************************************************************
178 *
179 * @struct:
180 * PS_Private
181 *
182 * @description:
183 * A handle to a @PS_PrivateRec structure.
184 */
185 typedef struct PS_PrivateRec_* PS_Private;
186
187
188 /**************************************************************************
189 *
190 * @struct:
191 * T1_Private
192 *
193 * @description:
194 * This type is equivalent to @PS_PrivateRec. It is deprecated but kept
195 * to maintain source compatibility between various versions of FreeType.
196 */
198
199
200 /**************************************************************************
201 *
202 * @enum:
203 * T1_Blend_Flags
204 *
205 * @description:
206 * A set of flags used to indicate which fields are present in a given
207 * blend dictionary (font info or private). Used to support Multiple
208 * Masters fonts.
209 *
210 * @values:
211 * T1_BLEND_UNDERLINE_POSITION ::
212 * T1_BLEND_UNDERLINE_THICKNESS ::
213 * T1_BLEND_ITALIC_ANGLE ::
214 * T1_BLEND_BLUE_VALUES ::
215 * T1_BLEND_OTHER_BLUES ::
216 * T1_BLEND_STANDARD_WIDTH ::
217 * T1_BLEND_STANDARD_HEIGHT ::
218 * T1_BLEND_STEM_SNAP_WIDTHS ::
219 * T1_BLEND_STEM_SNAP_HEIGHTS ::
220 * T1_BLEND_BLUE_SCALE ::
221 * T1_BLEND_BLUE_SHIFT ::
222 * T1_BLEND_FAMILY_BLUES ::
223 * T1_BLEND_FAMILY_OTHER_BLUES ::
224 * T1_BLEND_FORCE_BOLD ::
225 */
226 typedef enum T1_Blend_Flags_
227 {
228 /* required fields in a FontInfo blend dictionary */
232
233 /* required fields in a Private blend dictionary */
245
246 T1_BLEND_MAX /* do not remove */
247
249
250
251 /* these constants are deprecated; use the corresponding */
252 /* `T1_Blend_Flags` values instead */
253#define t1_blend_underline_position T1_BLEND_UNDERLINE_POSITION
254#define t1_blend_underline_thickness T1_BLEND_UNDERLINE_THICKNESS
255#define t1_blend_italic_angle T1_BLEND_ITALIC_ANGLE
256#define t1_blend_blue_values T1_BLEND_BLUE_VALUES
257#define t1_blend_other_blues T1_BLEND_OTHER_BLUES
258#define t1_blend_standard_widths T1_BLEND_STANDARD_WIDTH
259#define t1_blend_standard_height T1_BLEND_STANDARD_HEIGHT
260#define t1_blend_stem_snap_widths T1_BLEND_STEM_SNAP_WIDTHS
261#define t1_blend_stem_snap_heights T1_BLEND_STEM_SNAP_HEIGHTS
262#define t1_blend_blue_scale T1_BLEND_BLUE_SCALE
263#define t1_blend_blue_shift T1_BLEND_BLUE_SHIFT
264#define t1_blend_family_blues T1_BLEND_FAMILY_BLUES
265#define t1_blend_family_other_blues T1_BLEND_FAMILY_OTHER_BLUES
266#define t1_blend_force_bold T1_BLEND_FORCE_BOLD
267#define t1_blend_max T1_BLEND_MAX
268
269 /* */
270
271
272 /* maximum number of Multiple Masters designs, as defined in the spec */
273#define T1_MAX_MM_DESIGNS 16
274
275 /* maximum number of Multiple Masters axes, as defined in the spec */
276#define T1_MAX_MM_AXIS 4
277
278 /* maximum number of elements in a design map */
279#define T1_MAX_MM_MAP_POINTS 20
280
281
282 /* this structure is used to store the BlendDesignMap entry for an axis */
283 typedef struct PS_DesignMap_
284 {
288
290
291 /* backward compatible definition */
293
294
295 typedef struct PS_BlendRec_
296 {
299
303
306
309
311
313
314 /* since 2.3.0 */
315
316 /* undocumented, optional: the default design instance; */
317 /* corresponds to default_weight_vector -- */
318 /* num_default_design_vector == 0 means it is not present */
319 /* in the font and associated metrics files */
322
324
325
326 /* backward compatible definition */
328
329
330 /**************************************************************************
331 *
332 * @struct:
333 * CID_FaceDictRec
334 *
335 * @description:
336 * A structure used to represent data in a CID top-level dictionary. In
337 * most cases, they are part of the font's '/FDArray' array. Within a
338 * CID font file, such (internal) subfont dictionaries are enclosed by
339 * '%ADOBeginFontDict' and '%ADOEndFontDict' comments.
340 *
341 * Note that `CID_FaceDictRec` misses a field for the '/FontName'
342 * keyword, specifying the subfont's name (the top-level font name is
343 * given by the '/CIDFontName' keyword). This is an oversight, but it
344 * doesn't limit the 'cid' font module's functionality because FreeType
345 * neither needs this entry nor gives access to CID subfonts.
346 */
347 typedef struct CID_FaceDictRec_
348 {
350
354 FT_Fixed expansion_factor; /* this is a duplicate of */
355 /* `private_dict->expansion_factor' */
360
364
366
367
368 /**************************************************************************
369 *
370 * @struct:
371 * CID_FaceDict
372 *
373 * @description:
374 * A handle to a @CID_FaceDictRec structure.
375 */
377
378
379 /**************************************************************************
380 *
381 * @struct:
382 * CID_FontDict
383 *
384 * @description:
385 * This type is equivalent to @CID_FaceDictRec. It is deprecated but
386 * kept to maintain source compatibility between various versions of
387 * FreeType.
388 */
390
391
392 /**************************************************************************
393 *
394 * @struct:
395 * CID_FaceInfoRec
396 *
397 * @description:
398 * A structure used to represent CID Face information.
399 */
400 typedef struct CID_FaceInfoRec_
401 {
405
409
413
416
421
424
426
428
429
430 /**************************************************************************
431 *
432 * @struct:
433 * CID_FaceInfo
434 *
435 * @description:
436 * A handle to a @CID_FaceInfoRec structure.
437 */
439
440
441 /**************************************************************************
442 *
443 * @struct:
444 * CID_Info
445 *
446 * @description:
447 * This type is equivalent to @CID_FaceInfoRec. It is deprecated but kept
448 * to maintain source compatibility between various versions of FreeType.
449 */
451
452
453 /**************************************************************************
454 *
455 * @function:
456 * FT_Has_PS_Glyph_Names
457 *
458 * @description:
459 * Return true if a given face provides reliable PostScript glyph names.
460 * This is similar to using the @FT_HAS_GLYPH_NAMES macro, except that
461 * certain fonts (mostly TrueType) contain incorrect glyph name tables.
462 *
463 * When this function returns true, the caller is sure that the glyph
464 * names returned by @FT_Get_Glyph_Name are reliable.
465 *
466 * @input:
467 * face ::
468 * face handle
469 *
470 * @return:
471 * Boolean. True if glyph names are reliable.
472 *
473 */
476
477
478 /**************************************************************************
479 *
480 * @function:
481 * FT_Get_PS_Font_Info
482 *
483 * @description:
484 * Retrieve the @PS_FontInfoRec structure corresponding to a given
485 * PostScript font.
486 *
487 * @input:
488 * face ::
489 * PostScript face handle.
490 *
491 * @output:
492 * afont_info ::
493 * Output font info structure pointer.
494 *
495 * @return:
496 * FreeType error code. 0~means success.
497 *
498 * @note:
499 * String pointers within the @PS_FontInfoRec structure are owned by the
500 * face and don't need to be freed by the caller. Missing entries in
501 * the font's FontInfo dictionary are represented by `NULL` pointers.
502 *
503 * If the font's format is not PostScript-based, this function will
504 * return the `FT_Err_Invalid_Argument` error code.
505 *
506 */
509 PS_FontInfo afont_info );
510
511
512 /**************************************************************************
513 *
514 * @function:
515 * FT_Get_PS_Font_Private
516 *
517 * @description:
518 * Retrieve the @PS_PrivateRec structure corresponding to a given
519 * PostScript font.
520 *
521 * @input:
522 * face ::
523 * PostScript face handle.
524 *
525 * @output:
526 * afont_private ::
527 * Output private dictionary structure pointer.
528 *
529 * @return:
530 * FreeType error code. 0~means success.
531 *
532 * @note:
533 * The string pointers within the @PS_PrivateRec structure are owned by
534 * the face and don't need to be freed by the caller.
535 *
536 * If the font's format is not PostScript-based, this function returns
537 * the `FT_Err_Invalid_Argument` error code.
538 *
539 */
542 PS_Private afont_private );
543
544
545 /**************************************************************************
546 *
547 * @enum:
548 * T1_EncodingType
549 *
550 * @description:
551 * An enumeration describing the 'Encoding' entry in a Type 1 dictionary.
552 *
553 * @values:
554 * T1_ENCODING_TYPE_NONE ::
555 * T1_ENCODING_TYPE_ARRAY ::
556 * T1_ENCODING_TYPE_STANDARD ::
557 * T1_ENCODING_TYPE_ISOLATIN1 ::
558 * T1_ENCODING_TYPE_EXPERT ::
559 *
560 * @since:
561 * 2.4.8
562 */
564 {
570
572
573
574 /**************************************************************************
575 *
576 * @enum:
577 * PS_Dict_Keys
578 *
579 * @description:
580 * An enumeration used in calls to @FT_Get_PS_Font_Value to identify the
581 * Type~1 dictionary entry to retrieve.
582 *
583 * @values:
584 * PS_DICT_FONT_TYPE ::
585 * PS_DICT_FONT_MATRIX ::
586 * PS_DICT_FONT_BBOX ::
587 * PS_DICT_PAINT_TYPE ::
588 * PS_DICT_FONT_NAME ::
589 * PS_DICT_UNIQUE_ID ::
590 * PS_DICT_NUM_CHAR_STRINGS ::
591 * PS_DICT_CHAR_STRING_KEY ::
592 * PS_DICT_CHAR_STRING ::
593 * PS_DICT_ENCODING_TYPE ::
594 * PS_DICT_ENCODING_ENTRY ::
595 * PS_DICT_NUM_SUBRS ::
596 * PS_DICT_SUBR ::
597 * PS_DICT_STD_HW ::
598 * PS_DICT_STD_VW ::
599 * PS_DICT_NUM_BLUE_VALUES ::
600 * PS_DICT_BLUE_VALUE ::
601 * PS_DICT_BLUE_FUZZ ::
602 * PS_DICT_NUM_OTHER_BLUES ::
603 * PS_DICT_OTHER_BLUE ::
604 * PS_DICT_NUM_FAMILY_BLUES ::
605 * PS_DICT_FAMILY_BLUE ::
606 * PS_DICT_NUM_FAMILY_OTHER_BLUES ::
607 * PS_DICT_FAMILY_OTHER_BLUE ::
608 * PS_DICT_BLUE_SCALE ::
609 * PS_DICT_BLUE_SHIFT ::
610 * PS_DICT_NUM_STEM_SNAP_H ::
611 * PS_DICT_STEM_SNAP_H ::
612 * PS_DICT_NUM_STEM_SNAP_V ::
613 * PS_DICT_STEM_SNAP_V ::
614 * PS_DICT_FORCE_BOLD ::
615 * PS_DICT_RND_STEM_UP ::
616 * PS_DICT_MIN_FEATURE ::
617 * PS_DICT_LEN_IV ::
618 * PS_DICT_PASSWORD ::
619 * PS_DICT_LANGUAGE_GROUP ::
620 * PS_DICT_VERSION ::
621 * PS_DICT_NOTICE ::
622 * PS_DICT_FULL_NAME ::
623 * PS_DICT_FAMILY_NAME ::
624 * PS_DICT_WEIGHT ::
625 * PS_DICT_IS_FIXED_PITCH ::
626 * PS_DICT_UNDERLINE_POSITION ::
627 * PS_DICT_UNDERLINE_THICKNESS ::
628 * PS_DICT_FS_TYPE ::
629 * PS_DICT_ITALIC_ANGLE ::
630 *
631 * @since:
632 * 2.4.8
633 */
634 typedef enum PS_Dict_Keys_
635 {
636 /* conventionally in the font dictionary */
637 PS_DICT_FONT_TYPE, /* FT_Byte */
638 PS_DICT_FONT_MATRIX, /* FT_Fixed */
639 PS_DICT_FONT_BBOX, /* FT_Fixed */
640 PS_DICT_PAINT_TYPE, /* FT_Byte */
641 PS_DICT_FONT_NAME, /* FT_String* */
642 PS_DICT_UNIQUE_ID, /* FT_Int */
644 PS_DICT_CHAR_STRING_KEY, /* FT_String* */
645 PS_DICT_CHAR_STRING, /* FT_String* */
646 PS_DICT_ENCODING_TYPE, /* T1_EncodingType */
647 PS_DICT_ENCODING_ENTRY, /* FT_String* */
648
649 /* conventionally in the font Private dictionary */
650 PS_DICT_NUM_SUBRS, /* FT_Int */
651 PS_DICT_SUBR, /* FT_String* */
652 PS_DICT_STD_HW, /* FT_UShort */
653 PS_DICT_STD_VW, /* FT_UShort */
655 PS_DICT_BLUE_VALUE, /* FT_Short */
656 PS_DICT_BLUE_FUZZ, /* FT_Int */
658 PS_DICT_OTHER_BLUE, /* FT_Short */
660 PS_DICT_FAMILY_BLUE, /* FT_Short */
663 PS_DICT_BLUE_SCALE, /* FT_Fixed */
664 PS_DICT_BLUE_SHIFT, /* FT_Int */
666 PS_DICT_STEM_SNAP_H, /* FT_Short */
668 PS_DICT_STEM_SNAP_V, /* FT_Short */
669 PS_DICT_FORCE_BOLD, /* FT_Bool */
670 PS_DICT_RND_STEM_UP, /* FT_Bool */
671 PS_DICT_MIN_FEATURE, /* FT_Short */
672 PS_DICT_LEN_IV, /* FT_Int */
673 PS_DICT_PASSWORD, /* FT_Long */
675
676 /* conventionally in the font FontInfo dictionary */
677 PS_DICT_VERSION, /* FT_String* */
678 PS_DICT_NOTICE, /* FT_String* */
679 PS_DICT_FULL_NAME, /* FT_String* */
680 PS_DICT_FAMILY_NAME, /* FT_String* */
681 PS_DICT_WEIGHT, /* FT_String* */
685 PS_DICT_FS_TYPE, /* FT_UShort */
686 PS_DICT_ITALIC_ANGLE, /* FT_Long */
687
689
691
692
693 /**************************************************************************
694 *
695 * @function:
696 * FT_Get_PS_Font_Value
697 *
698 * @description:
699 * Retrieve the value for the supplied key from a PostScript font.
700 *
701 * @input:
702 * face ::
703 * PostScript face handle.
704 *
705 * key ::
706 * An enumeration value representing the dictionary key to retrieve.
707 *
708 * idx ::
709 * For array values, this specifies the index to be returned.
710 *
711 * value ::
712 * A pointer to memory into which to write the value.
713 *
714 * valen_len ::
715 * The size, in bytes, of the memory supplied for the value.
716 *
717 * @output:
718 * value ::
719 * The value matching the above key, if it exists.
720 *
721 * @return:
722 * The amount of memory (in bytes) required to hold the requested value
723 * (if it exists, -1 otherwise).
724 *
725 * @note:
726 * The values returned are not pointers into the internal structures of
727 * the face, but are 'fresh' copies, so that the memory containing them
728 * belongs to the calling application. This also enforces the
729 * 'read-only' nature of these values, i.e., this function cannot be
730 * used to manipulate the face.
731 *
732 * `value` is a void pointer because the values returned can be of
733 * various types.
734 *
735 * If either `value` is `NULL` or `value_len` is too small, just the
736 * required memory size for the requested entry is returned.
737 *
738 * The `idx` parameter is used, not only to retrieve elements of, for
739 * example, the FontMatrix or FontBBox, but also to retrieve name keys
740 * from the CharStrings dictionary, and the charstrings themselves. It
741 * is ignored for atomic values.
742 *
743 * `PS_DICT_BLUE_SCALE` returns a value that is scaled up by 1000. To
744 * get the value as in the font stream, you need to divide by 65536000.0
745 * (to remove the FT_Fixed scale, and the x1000 scale).
746 *
747 * IMPORTANT: Only key/value pairs read by the FreeType interpreter can
748 * be retrieved. So, for example, PostScript procedures such as NP, ND,
749 * and RD are not available. Arbitrary keys are, obviously, not be
750 * available either.
751 *
752 * If the font's format is not PostScript-based, this function returns
753 * the `FT_Err_Invalid_Argument` error code.
754 *
755 * @since:
756 * 2.4.8
757 *
758 */
762 FT_UInt idx,
763 void *value,
764 FT_Long value_len );
765
766 /* */
767
769
770#endif /* T1TABLES_H_ */
771
772
773/* END */
unsigned int idx
Definition: utils.c:41
#define FT_END_HEADER
Definition: ftheader.h:57
#define FT_BEGIN_HEADER
Definition: ftheader.h:37
FT_BEGIN_HEADER typedef signed long FT_Pos
Definition: ftimage.h:57
FT_BEGIN_HEADER typedef unsigned char FT_Bool
Definition: fttypes.h:108
unsigned long FT_ULong
Definition: fttypes.h:253
unsigned char FT_Byte
Definition: fttypes.h:154
signed long FT_Fixed
Definition: fttypes.h:287
int FT_Error
Definition: fttypes.h:299
signed long FT_Long
Definition: fttypes.h:242
unsigned short FT_UShort
Definition: fttypes.h:209
char FT_String
Definition: fttypes.h:187
signed short FT_Short
Definition: fttypes.h:198
unsigned int FT_UInt
Definition: fttypes.h:231
signed int FT_Int
Definition: fttypes.h:220
GLenum GLuint GLint GLenum face
Definition: glext.h:7025
#define FT_EXPORT(x)
FT_ULong subrmap_offset
Definition: t1tables.h:362
FT_Fixed forcebold_threshold
Definition: t1tables.h:352
FT_UInt num_subrs
Definition: t1tables.h:361
PS_PrivateRec private_dict
Definition: t1tables.h:349
FT_Byte paint_type
Definition: t1tables.h:356
FT_Pos stroke_width
Definition: t1tables.h:353
FT_Matrix font_matrix
Definition: t1tables.h:358
FT_Vector font_offset
Definition: t1tables.h:359
FT_Fixed expansion_factor
Definition: t1tables.h:354
FT_UInt len_buildchar
Definition: t1tables.h:351
FT_Int sd_bytes
Definition: t1tables.h:363
FT_Byte font_type
Definition: t1tables.h:357
FT_ULong uid_base
Definition: t1tables.h:412
FT_ULong data_offset
Definition: t1tables.h:425
FT_ULong xuid[16]
Definition: t1tables.h:415
FT_Int num_dicts
Definition: t1tables.h:422
FT_BBox font_bbox
Definition: t1tables.h:411
FT_Int gd_bytes
Definition: t1tables.h:419
FT_ULong cid_count
Definition: t1tables.h:420
FT_Int supplement
Definition: t1tables.h:408
FT_Int fd_bytes
Definition: t1tables.h:418
FT_String * registry
Definition: t1tables.h:406
FT_String * cid_font_name
Definition: t1tables.h:402
CID_FaceDict font_dicts
Definition: t1tables.h:423
FT_Int cid_font_type
Definition: t1tables.h:404
FT_ULong cidmap_offset
Definition: t1tables.h:417
PS_FontInfoRec font_info
Definition: t1tables.h:410
FT_Int num_xuid
Definition: t1tables.h:414
FT_String * ordering
Definition: t1tables.h:407
FT_Fixed cid_version
Definition: t1tables.h:403
PS_DesignMapRec design_map[T1_MAX_MM_AXIS]
Definition: t1tables.h:302
FT_Fixed * default_weight_vector
Definition: t1tables.h:305
PS_Private privates[T1_MAX_MM_DESIGNS+1]
Definition: t1tables.h:308
FT_BBox * bboxes[T1_MAX_MM_DESIGNS+1]
Definition: t1tables.h:312
FT_UInt default_design_vector[T1_MAX_MM_DESIGNS]
Definition: t1tables.h:320
FT_ULong blend_bitflags
Definition: t1tables.h:310
PS_FontInfo font_infos[T1_MAX_MM_DESIGNS+1]
Definition: t1tables.h:307
FT_Fixed * design_pos[T1_MAX_MM_DESIGNS]
Definition: t1tables.h:301
FT_UInt num_designs
Definition: t1tables.h:297
FT_Fixed * weight_vector
Definition: t1tables.h:304
FT_UInt num_axis
Definition: t1tables.h:298
FT_UInt num_default_design_vector
Definition: t1tables.h:321
FT_String * axis_names[T1_MAX_MM_AXIS]
Definition: t1tables.h:300
FT_Byte num_points
Definition: t1tables.h:285
FT_Fixed * blend_points
Definition: t1tables.h:287
FT_Long * design_points
Definition: t1tables.h:286
FT_String * full_name
Definition: t1tables.h:92
FT_String * weight
Definition: t1tables.h:94
FT_UShort underline_thickness
Definition: t1tables.h:98
FT_String * notice
Definition: t1tables.h:91
FT_Bool is_fixed_pitch
Definition: t1tables.h:96
FT_Short underline_position
Definition: t1tables.h:97
FT_Long italic_angle
Definition: t1tables.h:95
FT_String * family_name
Definition: t1tables.h:93
FT_String * version
Definition: t1tables.h:90
FT_Byte num_snap_widths
Definition: t1tables.h:159
FT_Byte num_other_blues
Definition: t1tables.h:142
FT_UShort standard_width[1]
Definition: t1tables.h:156
FT_Byte num_family_blues
Definition: t1tables.h:143
FT_Int blue_fuzz
Definition: t1tables.h:154
FT_Long password
Definition: t1tables.h:170
FT_Short snap_heights[13]
Definition: t1tables.h:165
FT_Short snap_widths[13]
Definition: t1tables.h:164
FT_Bool force_bold
Definition: t1tables.h:161
FT_Fixed expansion_factor
Definition: t1tables.h:167
FT_Byte num_snap_heights
Definition: t1tables.h:160
FT_Short other_blues[10]
Definition: t1tables.h:147
FT_Byte num_family_other_blues
Definition: t1tables.h:144
FT_Int lenIV
Definition: t1tables.h:139
FT_UShort standard_height[1]
Definition: t1tables.h:157
FT_Bool round_stem_up
Definition: t1tables.h:162
FT_Short family_blues[14]
Definition: t1tables.h:149
FT_Int blue_shift
Definition: t1tables.h:153
FT_Short family_other_blues[10]
Definition: t1tables.h:150
FT_Short blue_values[14]
Definition: t1tables.h:146
FT_Byte num_blue_values
Definition: t1tables.h:141
FT_Int unique_id
Definition: t1tables.h:138
FT_Fixed blue_scale
Definition: t1tables.h:152
FT_Short min_feature[2]
Definition: t1tables.h:172
FT_Long language_group
Definition: t1tables.h:169
Definition: copy.c:22
CID_FaceInfoRec CID_Info
Definition: t1tables.h:450
FT_Get_PS_Font_Info(FT_Face face, PS_FontInfo afont_info)
T1_EncodingType_
Definition: t1tables.h:564
@ T1_ENCODING_TYPE_NONE
Definition: t1tables.h:565
@ T1_ENCODING_TYPE_ISOLATIN1
Definition: t1tables.h:568
@ T1_ENCODING_TYPE_STANDARD
Definition: t1tables.h:567
@ T1_ENCODING_TYPE_ARRAY
Definition: t1tables.h:566
@ T1_ENCODING_TYPE_EXPERT
Definition: t1tables.h:569
T1_Blend_Flags_
Definition: t1tables.h:227
@ T1_BLEND_STEM_SNAP_HEIGHTS
Definition: t1tables.h:239
@ T1_BLEND_UNDERLINE_POSITION
Definition: t1tables.h:229
@ T1_BLEND_FAMILY_OTHER_BLUES
Definition: t1tables.h:243
@ T1_BLEND_STANDARD_WIDTH
Definition: t1tables.h:236
@ T1_BLEND_MAX
Definition: t1tables.h:246
@ T1_BLEND_FORCE_BOLD
Definition: t1tables.h:244
@ T1_BLEND_FAMILY_BLUES
Definition: t1tables.h:242
@ T1_BLEND_BLUE_SHIFT
Definition: t1tables.h:241
@ T1_BLEND_BLUE_VALUES
Definition: t1tables.h:234
@ T1_BLEND_STEM_SNAP_WIDTHS
Definition: t1tables.h:238
@ T1_BLEND_BLUE_SCALE
Definition: t1tables.h:240
@ T1_BLEND_ITALIC_ANGLE
Definition: t1tables.h:231
@ T1_BLEND_UNDERLINE_THICKNESS
Definition: t1tables.h:230
@ T1_BLEND_OTHER_BLUES
Definition: t1tables.h:235
@ T1_BLEND_STANDARD_HEIGHT
Definition: t1tables.h:237
struct PS_PrivateRec_ PS_PrivateRec
PS_PrivateRec T1_Private
Definition: t1tables.h:197
struct CID_FaceDictRec_ * CID_FaceDict
Definition: t1tables.h:376
struct PS_FontInfoRec_ * PS_FontInfo
Definition: t1tables.h:111
struct CID_FaceDictRec_ CID_FaceDictRec
#define T1_MAX_MM_AXIS
Definition: t1tables.h:276
struct CID_FaceInfoRec_ * CID_FaceInfo
Definition: t1tables.h:438
PS_Dict_Keys_
Definition: t1tables.h:635
@ PS_DICT_ITALIC_ANGLE
Definition: t1tables.h:686
@ PS_DICT_FONT_BBOX
Definition: t1tables.h:639
@ PS_DICT_NUM_BLUE_VALUES
Definition: t1tables.h:654
@ PS_DICT_WEIGHT
Definition: t1tables.h:681
@ PS_DICT_BLUE_SHIFT
Definition: t1tables.h:664
@ PS_DICT_FONT_NAME
Definition: t1tables.h:641
@ PS_DICT_NUM_STEM_SNAP_V
Definition: t1tables.h:667
@ PS_DICT_SUBR
Definition: t1tables.h:651
@ PS_DICT_PASSWORD
Definition: t1tables.h:673
@ PS_DICT_MAX
Definition: t1tables.h:688
@ PS_DICT_NUM_CHAR_STRINGS
Definition: t1tables.h:643
@ PS_DICT_STEM_SNAP_H
Definition: t1tables.h:666
@ PS_DICT_NUM_STEM_SNAP_H
Definition: t1tables.h:665
@ PS_DICT_BLUE_SCALE
Definition: t1tables.h:663
@ PS_DICT_ENCODING_ENTRY
Definition: t1tables.h:647
@ PS_DICT_FS_TYPE
Definition: t1tables.h:685
@ PS_DICT_FONT_MATRIX
Definition: t1tables.h:638
@ PS_DICT_NUM_FAMILY_OTHER_BLUES
Definition: t1tables.h:661
@ PS_DICT_IS_FIXED_PITCH
Definition: t1tables.h:682
@ PS_DICT_FAMILY_OTHER_BLUE
Definition: t1tables.h:662
@ PS_DICT_LANGUAGE_GROUP
Definition: t1tables.h:674
@ PS_DICT_NUM_SUBRS
Definition: t1tables.h:650
@ PS_DICT_FAMILY_NAME
Definition: t1tables.h:680
@ PS_DICT_LEN_IV
Definition: t1tables.h:672
@ PS_DICT_FONT_TYPE
Definition: t1tables.h:637
@ PS_DICT_FULL_NAME
Definition: t1tables.h:679
@ PS_DICT_STD_HW
Definition: t1tables.h:652
@ PS_DICT_NUM_FAMILY_BLUES
Definition: t1tables.h:659
@ PS_DICT_BLUE_VALUE
Definition: t1tables.h:655
@ PS_DICT_MIN_FEATURE
Definition: t1tables.h:671
@ PS_DICT_NOTICE
Definition: t1tables.h:678
@ PS_DICT_STEM_SNAP_V
Definition: t1tables.h:668
@ PS_DICT_NUM_OTHER_BLUES
Definition: t1tables.h:657
@ PS_DICT_STD_VW
Definition: t1tables.h:653
@ PS_DICT_ENCODING_TYPE
Definition: t1tables.h:646
@ PS_DICT_FORCE_BOLD
Definition: t1tables.h:669
@ PS_DICT_BLUE_FUZZ
Definition: t1tables.h:656
@ PS_DICT_CHAR_STRING_KEY
Definition: t1tables.h:644
@ PS_DICT_UNDERLINE_POSITION
Definition: t1tables.h:683
@ PS_DICT_UNDERLINE_THICKNESS
Definition: t1tables.h:684
@ PS_DICT_VERSION
Definition: t1tables.h:677
@ PS_DICT_RND_STEM_UP
Definition: t1tables.h:670
@ PS_DICT_CHAR_STRING
Definition: t1tables.h:645
@ PS_DICT_OTHER_BLUE
Definition: t1tables.h:658
@ PS_DICT_UNIQUE_ID
Definition: t1tables.h:642
@ PS_DICT_PAINT_TYPE
Definition: t1tables.h:640
@ PS_DICT_FAMILY_BLUE
Definition: t1tables.h:660
struct PS_DesignMap_ PS_DesignMapRec
PS_FontInfoRec T1_FontInfo
Definition: t1tables.h:123
enum PS_Dict_Keys_ PS_Dict_Keys
#define T1_MAX_MM_DESIGNS
Definition: t1tables.h:273
FT_Has_PS_Glyph_Names(FT_Face face)
Definition: fttype1.c:55
struct PS_DesignMap_ * PS_DesignMap
struct PS_BlendRec_ * PS_Blend
PS_DesignMapRec T1_DesignMap
Definition: t1tables.h:292
PS_BlendRec T1_Blend
Definition: t1tables.h:327
struct CID_FaceInfoRec_ CID_FaceInfoRec
struct PS_BlendRec_ PS_BlendRec
FT_BEGIN_HEADER struct PS_FontInfoRec_ PS_FontInfoRec
enum T1_EncodingType_ T1_EncodingType
FT_Get_PS_Font_Value(FT_Face face, PS_Dict_Keys key, FT_UInt idx, void *value, FT_Long value_len)
Definition: fttype1.c:103
CID_FaceDictRec CID_FontDict
Definition: t1tables.h:389
FT_Get_PS_Font_Private(FT_Face face, PS_Private afont_private)
enum T1_Blend_Flags_ T1_Blend_Flags
struct PS_PrivateRec_ * PS_Private
Definition: t1tables.h:185
Definition: pdh_main.c:96