]>
git.saurik.com Git - wxWidgets.git/blob - src/freetype/type1z/z1tokens.h
1 /***************************************************************************/
5 /* Experimental Type 1 tokenizer (specification). */
7 /* Copyright 1996-2000 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
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. */
16 /***************************************************************************/
20 #define T1TYPE T1_FontInfo
22 Z1_FONTINFO_STRING( "version", version
)
23 Z1_FONTINFO_STRING( "Notice", notice
)
24 Z1_FONTINFO_STRING( "FullName", full_name
)
25 Z1_FONTINFO_STRING( "FamilyName", family_name
)
26 Z1_FONTINFO_STRING( "Weight", weight
)
28 Z1_FONTINFO_NUM ( "ItalicAngle", italic_angle
)
29 Z1_FONTINFO_BOOL ( "isFixedPitch", is_fixed_pitch
)
30 Z1_FONTINFO_NUM ( "UnderlinePosition", underline_position
)
31 Z1_FONTINFO_NUM ( "UnderlineThickness", underline_thickness
)
35 #define T1TYPE T1_Private
37 Z1_PRIVATE_NUM ( "UniqueID", unique_id
)
38 Z1_PRIVATE_NUM ( "lenIV", lenIV
)
39 Z1_PRIVATE_NUM ( "LanguageGroup", language_group
)
40 Z1_PRIVATE_NUM ( "password", password
)
42 Z1_PRIVATE_FIXED ( "BlueScale", blue_scale
)
43 Z1_PRIVATE_NUM ( "BlueShift", blue_shift
)
44 Z1_PRIVATE_NUM ( "BlueFuzz", blue_fuzz
)
46 Z1_PRIVATE_NUM_TABLE ( "BlueValues", blue_values
, 14, num_blue_values
)
47 Z1_PRIVATE_NUM_TABLE ( "OtherBlues", other_blues
, 10, num_other_blues
)
48 Z1_PRIVATE_NUM_TABLE ( "FamilyBlues", family_blues
, 14, num_family_blues
)
49 Z1_PRIVATE_NUM_TABLE ( "FamilyOtherBlues", family_other_blues
, 10, \
50 num_family_other_blues
)
52 Z1_PRIVATE_NUM_TABLE2( "StdHW", standard_width
, 1 )
53 Z1_PRIVATE_NUM_TABLE2( "StdVW", standard_height
, 1 )
54 Z1_PRIVATE_NUM_TABLE2( "MinFeature", min_feature
, 2 )
56 Z1_PRIVATE_NUM_TABLE ( "StemSnapH", snap_widths
, 12, num_snap_widths
)
57 Z1_PRIVATE_NUM_TABLE ( "StemSnapV", snap_heights
, 12, num_snap_heights
)
61 #define T1TYPE T1_Font
63 Z1_TOPDICT_NUM( "PaintType", paint_type
)
64 Z1_TOPDICT_NUM( "FontType", font_type
)
65 Z1_TOPDICT_NUM( "StrokeWidth", stroke_width
)
70 /* define the font info dictionary parsing callbacks */
72 #define FACE (face->type1.font_info)
74 PARSE_STRING( "version", version
)
75 PARSE_STRING( "Notice", notice
)
76 PARSE_STRING( "FullName", full_name
)
77 PARSE_STRING( "FamilyName", family_name
)
78 PARSE_STRING( "Weight", weight
)
80 PARSE_INT ( "ItalicAngle", italic_angle
)
81 PARSE_BOOL ( "isFixedPitch", is_fixed_pitch
)
82 PARSE_NUM ( "UnderlinePosition", underline_position
, FT_Short
)
83 PARSE_NUM ( "UnderlineThickness", underline_thickness
, FT_UShort
)
86 /* define the private dict parsing callbacks */
88 #define FACE (face->type1.private_dict)
90 PARSE_INT ("UniqueID", unique_id
)
91 PARSE_INT ("lenIV", lenIV
)
93 PARSE_COORDS ( "BlueValues", num_blues
, 14, blue_values
)
94 PARSE_COORDS ( "OtherBlues", num_other_blues
, 10, other_blues
)
96 PARSE_COORDS ( "FamilyBlues", num_family_blues
, 14, family_blues
)
97 PARSE_COORDS ( "FamilyOtherBlues", num_family_other_blues
, 10,
100 PARSE_FIXED ( "BlueScale", blue_scale
)
101 PARSE_INT ( "BlueShift", blue_shift
)
103 PARSE_INT ( "BlueFuzz", blue_fuzz
)
105 PARSE_COORDS2( "StdHW", 1, standard_width
)
106 PARSE_COORDS2( "StdVW", 1, standard_height
)
108 PARSE_COORDS ( "StemSnapH", num_snap_widths
, 12, stem_snap_widths
)
109 PARSE_COORDS ( "StemSnapV", num_snap_heights
, 12, stem_snap_heights
)
111 PARSE_INT ( "LanguageGroup", language_group
)
112 PARSE_INT ( "password", password
)
113 PARSE_COORDS2( "MinFeature", 2, min_feature
)
116 /* define the top-level dictionary parsing callbacks */
118 #define FACE (face->type1)
120 /*PARSE_STRING ( "FontName", font_name ) -- handled by special routine */
121 PARSE_NUM ( "PaintType", paint_type
, FT_Byte
)
122 PARSE_NUM ( "FontType", font_type
, FT_Byte
)
123 PARSE_FIXEDS2( "FontMatrix", 4, font_matrix
)
124 /*PARSE_COORDS2( "FontBBox", 4, font_bbox ) -- handled by special routine */
125 PARSE_INT ( "StrokeWidth", stroke_width
)