1/****************************************************************************
2 *
3 * t1tokens.h
4 *
5 * Type 1 tokenizer (specification).
6 *
7 * Copyright (C) 1996-2023 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