1/***************************************************************************/
2/*                                                                         */
3/*  t1tokens.h                                                             */
4/*                                                                         */
5/*    Type 1 tokenizer (specification).                                    */
6/*                                                                         */
7/*  Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008, 2009 by             */
8/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9/*                                                                         */
10/*  This file is part of the FreeType project, and may only be used,       */
11/*  modified, and distributed under the terms of the FreeType project      */
12/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13/*  this file you indicate that you have read the license and              */
14/*  understand and accept it fully.                                        */
15/*                                                                         */
16/***************************************************************************/
17
18
19#undef  FT_STRUCTURE
20#define FT_STRUCTURE  PS_FontInfoRec
21#undef  T1CODE
22#define T1CODE        T1_FIELD_LOCATION_FONT_INFO
23
24  T1_FIELD_STRING( "version",            version,
25                   T1_FIELD_DICT_FONTDICT )
26  T1_FIELD_STRING( "Notice",             notice,
27                   T1_FIELD_DICT_FONTDICT )
28  T1_FIELD_STRING( "FullName",           full_name,
29                   T1_FIELD_DICT_FONTDICT )
30  T1_FIELD_STRING( "FamilyName",         family_name,
31                   T1_FIELD_DICT_FONTDICT )
32  T1_FIELD_STRING( "Weight",             weight,
33                   T1_FIELD_DICT_FONTDICT )
34
35  /* we use pointers to detect modifications made by synthetic fonts */
36  T1_FIELD_NUM   ( "ItalicAngle",        italic_angle,
37                   T1_FIELD_DICT_FONTDICT )
38  T1_FIELD_BOOL  ( "isFixedPitch",       is_fixed_pitch,
39                   T1_FIELD_DICT_FONTDICT )
40  T1_FIELD_NUM   ( "UnderlinePosition",  underline_position,
41                   T1_FIELD_DICT_FONTDICT )
42  T1_FIELD_NUM   ( "UnderlineThickness", underline_thickness,
43                   T1_FIELD_DICT_FONTDICT )
44
45#undef  FT_STRUCTURE
46#define FT_STRUCTURE  PS_FontExtraRec
47#undef  T1CODE
48#define T1CODE        T1_FIELD_LOCATION_FONT_EXTRA
49
50  T1_FIELD_NUM   ( "FSType", fs_type,
51                   T1_FIELD_DICT_FONTDICT )
52
53#undef  FT_STRUCTURE
54#define FT_STRUCTURE  PS_PrivateRec
55#undef  T1CODE
56#define T1CODE        T1_FIELD_LOCATION_PRIVATE
57
58  T1_FIELD_NUM       ( "UniqueID",         unique_id,
59                       T1_FIELD_DICT_FONTDICT | T1_FIELD_DICT_PRIVATE )
60  T1_FIELD_NUM       ( "lenIV",            lenIV,
61                       T1_FIELD_DICT_PRIVATE )
62  T1_FIELD_NUM       ( "LanguageGroup",    language_group,
63                       T1_FIELD_DICT_PRIVATE )
64  T1_FIELD_NUM       ( "password",         password,
65                       T1_FIELD_DICT_PRIVATE )
66
67  T1_FIELD_FIXED_1000( "BlueScale",        blue_scale,
68                       T1_FIELD_DICT_PRIVATE )
69  T1_FIELD_NUM       ( "BlueShift",        blue_shift,
70                       T1_FIELD_DICT_PRIVATE )
71  T1_FIELD_NUM       ( "BlueFuzz",         blue_fuzz,
72                       T1_FIELD_DICT_PRIVATE )
73
74  T1_FIELD_NUM_TABLE ( "BlueValues",       blue_values,        14,
75                       T1_FIELD_DICT_PRIVATE )
76  T1_FIELD_NUM_TABLE ( "OtherBlues",       other_blues,        10,
77                       T1_FIELD_DICT_PRIVATE )
78  T1_FIELD_NUM_TABLE ( "FamilyBlues",      family_blues,       14,
79                       T1_FIELD_DICT_PRIVATE )
80  T1_FIELD_NUM_TABLE ( "FamilyOtherBlues", family_other_blues, 10,
81                       T1_FIELD_DICT_PRIVATE )
82
83  T1_FIELD_NUM_TABLE2( "StdHW",            standard_width,      1,
84                       T1_FIELD_DICT_PRIVATE )
85  T1_FIELD_NUM_TABLE2( "StdVW",            standard_height,     1,
86                       T1_FIELD_DICT_PRIVATE )
87  T1_FIELD_NUM_TABLE2( "MinFeature",       min_feature,         2,
88                       T1_FIELD_DICT_PRIVATE )
89
90  T1_FIELD_NUM_TABLE ( "StemSnapH",        snap_widths,        12,
91                       T1_FIELD_DICT_PRIVATE )
92  T1_FIELD_NUM_TABLE ( "StemSnapV",        snap_heights,       12,
93                       T1_FIELD_DICT_PRIVATE )
94
95  T1_FIELD_FIXED     ( "ExpansionFactor",  expansion_factor,
96                       T1_FIELD_DICT_PRIVATE )
97  T1_FIELD_BOOL      ( "ForceBold",        force_bold,
98                       T1_FIELD_DICT_PRIVATE )
99
100
101#undef  FT_STRUCTURE
102#define FT_STRUCTURE  T1_FontRec
103#undef  T1CODE
104#define T1CODE        T1_FIELD_LOCATION_FONT_DICT
105
106  T1_FIELD_KEY  ( "FontName",    font_name,    T1_FIELD_DICT_FONTDICT )
107  T1_FIELD_NUM  ( "PaintType",   paint_type,   T1_FIELD_DICT_FONTDICT )
108  T1_FIELD_NUM  ( "FontType",    font_type,    T1_FIELD_DICT_FONTDICT )
109  T1_FIELD_FIXED( "StrokeWidth", stroke_width, T1_FIELD_DICT_FONTDICT )
110
111
112#undef  FT_STRUCTURE
113#define FT_STRUCTURE  FT_BBox
114#undef  T1CODE
115#define T1CODE        T1_FIELD_LOCATION_BBOX
116
117  T1_FIELD_BBOX( "FontBBox", xMin, T1_FIELD_DICT_FONTDICT )
118
119
120#ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT
121
122#undef  FT_STRUCTURE
123#define FT_STRUCTURE  T1_FaceRec
124#undef  T1CODE
125#define T1CODE        T1_FIELD_LOCATION_FACE
126
127  T1_FIELD_NUM( "NDV", ndv_idx, T1_FIELD_DICT_PRIVATE )
128  T1_FIELD_NUM( "CDV", cdv_idx, T1_FIELD_DICT_PRIVATE )
129
130
131#undef  FT_STRUCTURE
132#define FT_STRUCTURE  PS_BlendRec
133#undef  T1CODE
134#define T1CODE        T1_FIELD_LOCATION_BLEND
135
136  T1_FIELD_NUM_TABLE( "DesignVector", default_design_vector,
137                      T1_MAX_MM_DESIGNS, T1_FIELD_DICT_FONTDICT )
138
139
140#endif /* T1_CONFIG_OPTION_NO_MM_SUPPORT */
141
142
143/* END */
144