zenilib: zenilib/jni/external/freetype2/include/freetype/internal/t1types.h Source File

zenilib 0.5.3.0

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
t1types.h
Go to the documentation of this file.
1 /***************************************************************************/
2 /* */
3 /* t1types.h */
4 /* */
5 /* Basic Type1/Type2 type definitions and interface (specification */
6 /* only). */
7 /* */
8 /* Copyright 1996-2004, 2006, 2008, 2009, 2011 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 __T1TYPES_H__
21 #define __T1TYPES_H__
22
23
24 #include <ft2build.h>
25 #include FT_TYPE1_TABLES_H
26 #include FT_INTERNAL_POSTSCRIPT_HINTS_H
27 #include FT_INTERNAL_SERVICE_H
28 #include FT_SERVICE_POSTSCRIPT_CMAPS_H
29
30
31 FT_BEGIN_HEADER
32
33
34 /*************************************************************************/
35 /*************************************************************************/
36 /*************************************************************************/
37 /*** ***/
38 /*** ***/
39 /*** REQUIRED TYPE1/TYPE2 TABLES DEFINITIONS ***/
40 /*** ***/
41 /*** ***/
42 /*************************************************************************/
43 /*************************************************************************/
44 /*************************************************************************/
45
46
47 /*************************************************************************/
48 /* */
49 /* <Struct> */
50 /* T1_EncodingRec */
51 /* */
52 /* <Description> */
53 /* A structure modeling a custom encoding. */
54 /* */
55 /* <Fields> */
56 /* num_chars :: The number of character codes in the encoding. */
57 /* Usually 256. */
58 /* */
59 /* code_first :: The lowest valid character code in the encoding. */
60 /* */
61 /* code_last :: The highest valid character code in the encoding */
62 /* + 1. When equal to code_first there are no valid */
63 /* character codes. */
64 /* */
65 /* char_index :: An array of corresponding glyph indices. */
66 /* */
67 /* char_name :: An array of corresponding glyph names. */
68 /* */
69 typedef struct T1_EncodingRecRec_
70 {
71 FT_Int num_chars;
72 FT_Int code_first;
73 FT_Int code_last;
74
75 FT_UShort* char_index;
76 FT_String** char_name;
77
78 } T1_EncodingRec, *T1_Encoding;
79
80
81 /* used to hold extra data of PS_FontInfoRec that
82 * cannot be stored in the publicly defined structure.
83 *
84 * Note these can't be blended with multiple-masters.
85 */
86 typedef struct PS_FontExtraRec_
87 {
88 FT_UShort fs_type;
89
90 } PS_FontExtraRec;
91
92
93 typedef struct T1_FontRec_
94 {
95 PS_FontInfoRec font_info; /* font info dictionary */
96 PS_FontExtraRec font_extra; /* font info extra fields */
97 PS_PrivateRec private_dict; /* private dictionary */
98 FT_String* font_name; /* top-level dictionary */
99
100 T1_EncodingType encoding_type;
101 T1_EncodingRec encoding;
102
103 FT_Byte* subrs_block;
104 FT_Byte* charstrings_block;
105 FT_Byte* glyph_names_block;
106
107 FT_Int num_subrs;
108 FT_Byte** subrs;
109 FT_PtrDist* subrs_len;
110
111 FT_Int num_glyphs;
112 FT_String** glyph_names; /* array of glyph names */
113 FT_Byte** charstrings; /* array of glyph charstrings */
114 FT_PtrDist* charstrings_len;
115
116 FT_Byte paint_type;
117 FT_Byte font_type;
118 FT_Matrix font_matrix;
119 FT_Vector font_offset;
120 FT_BBox font_bbox;
121 FT_Long font_id;
122
123 FT_Fixed stroke_width;
124
125 } T1_FontRec, *T1_Font;
126
127
128 typedef struct CID_SubrsRec_
129 {
130 FT_UInt num_subrs;
131 FT_Byte** code;
132
133 } CID_SubrsRec, *CID_Subrs;
134
135
136 /*************************************************************************/
137 /*************************************************************************/
138 /*************************************************************************/
139 /*** ***/
140 /*** ***/
141 /*** AFM FONT INFORMATION STRUCTURES ***/
142 /*** ***/
143 /*** ***/
144 /*************************************************************************/
145 /*************************************************************************/
146 /*************************************************************************/
147
148 typedef struct AFM_TrackKernRec_
149 {
150 FT_Int degree;
151 FT_Fixed min_ptsize;
152 FT_Fixed min_kern;
153 FT_Fixed max_ptsize;
154 FT_Fixed max_kern;
155
156 } AFM_TrackKernRec, *AFM_TrackKern;
157
158 typedef struct AFM_KernPairRec_
159 {
160 FT_Int index1;
161 FT_Int index2;
162 FT_Int x;
163 FT_Int y;
164
165 } AFM_KernPairRec, *AFM_KernPair;
166
167 typedef struct AFM_FontInfoRec_
168 {
169 FT_Bool IsCIDFont;
170 FT_BBox FontBBox;
171 FT_Fixed Ascender;
172 FT_Fixed Descender;
173 AFM_TrackKern TrackKerns; /* free if non-NULL */
174 FT_Int NumTrackKern;
175 AFM_KernPair KernPairs; /* free if non-NULL */
176 FT_Int NumKernPair;
177
178 } AFM_FontInfoRec, *AFM_FontInfo;
179
180
181 /*************************************************************************/
182 /*************************************************************************/
183 /*************************************************************************/
184 /*** ***/
185 /*** ***/
186 /*** ORIGINAL T1_FACE CLASS DEFINITION ***/
187 /*** ***/
188 /*** ***/
189 /*************************************************************************/
190 /*************************************************************************/
191 /*************************************************************************/
192
193
194 typedef struct T1_FaceRec_* T1_Face;
195 typedef struct CID_FaceRec_* CID_Face;
196
197
198 typedef struct T1_FaceRec_
199 {
200 FT_FaceRec root;
201 T1_FontRec type1;
202 const void* psnames;
203 const void* psaux;
204 const void* afm_data;
205 FT_CharMapRec charmaprecs[2];
206 FT_CharMap charmaps[2];
207
208 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS
209 PS_Unicodes unicode_map;
210 #endif
211
212 /* support for Multiple Masters fonts */
213 PS_Blend blend;
214
215 /* undocumented, optional: indices of subroutines that express */
216 /* the NormalizeDesignVector and the ConvertDesignVector procedure, */
217 /* respectively, as Type 2 charstrings; -1 if keywords not present */
218 FT_Int ndv_idx;
219 FT_Int cdv_idx;
220
221 /* undocumented, optional: has the same meaning as len_buildchar */
222 /* for Type 2 fonts; manipulated by othersubrs 19, 24, and 25 */
223 FT_UInt len_buildchar;
224 FT_Long* buildchar;
225
226 /* since version 2.1 - interface to PostScript hinter */
227 const void* pshinter;
228
229 } T1_FaceRec;
230
231
232 typedef struct CID_FaceRec_
233 {
234 FT_FaceRec root;
235 void* psnames;
236 void* psaux;
237 CID_FaceInfoRec cid;
238 PS_FontExtraRec font_extra;
239 #if 0
240 void* afm_data;
241 #endif
242 CID_Subrs subrs;
243
244 /* since version 2.1 - interface to PostScript hinter */
245 void* pshinter;
246
247 /* since version 2.1.8, but was originally positioned after `afm_data' */
248 FT_Byte* binary_data; /* used if hex data has been converted */
249 FT_Stream cid_stream;
250
251 } CID_FaceRec;
252
253
254 FT_END_HEADER
255
256 #endif /* __T1TYPES_H__ */
257
258
259 /* END */
T1_FontRec_::subrs_len
FT_PtrDist * subrs_len
Definition: t1types.h:109
AFM_TrackKernRec_
Definition: t1types.h:148
AFM_FontInfoRec_::IsCIDFont
FT_Bool IsCIDFont
Definition: t1types.h:169
FT_PtrDist
ft_ptrdiff_t FT_PtrDist
Definition: fttypes.h:333
T1_FontRec_::font_type
FT_Byte font_type
Definition: t1types.h:117
T1_FontRec_::stroke_width
FT_Fixed stroke_width
Definition: t1types.h:123
FT_Long
signed long FT_Long
Definition: fttypes.h:238
CID_Face
struct CID_FaceRec_ * CID_Face
Definition: t1types.h:195
AFM_KernPair
struct AFM_KernPairRec_ * AFM_KernPair
T1_FaceRec_::type1
T1_FontRec type1
Definition: t1types.h:201
T1_Face
struct T1_FaceRec_ * T1_Face
Definition: t1types.h:194
CID_FaceRec_::psaux
void * psaux
Definition: t1types.h:236
AFM_TrackKernRec_::max_ptsize
FT_Fixed max_ptsize
Definition: t1types.h:153
CID_FaceRec_::psnames
void * psnames
Definition: t1types.h:235
PS_UnicodesRec_
Definition: svpscmap.h:64
T1_FontRec_::private_dict
PS_PrivateRec private_dict
Definition: t1types.h:97
FT_END_HEADER
#define FT_END_HEADER
Definition: ftheader.h:54
AFM_TrackKernRec_::degree
FT_Int degree
Definition: t1types.h:150
T1_FontRec_::font_extra
PS_FontExtraRec font_extra
Definition: t1types.h:96
FT_Int
signed int FT_Int
Definition: fttypes.h:216
T1_FontRec
struct T1_FontRec_ T1_FontRec
FT_Matrix_
Definition: fttypes.h:381
T1_FontRec_::num_glyphs
FT_Int num_glyphs
Definition: t1types.h:111
T1_FaceRec_::root
FT_FaceRec root
Definition: t1types.h:200
T1_Encoding
FT_BEGIN_HEADER struct T1_EncodingRecRec_ * T1_Encoding
T1_FontRec_::charstrings
FT_Byte ** charstrings
Definition: t1types.h:113
T1_FontRec_
Definition: t1types.h:93
CID_FaceRec_::cid_stream
FT_Stream cid_stream
Definition: t1types.h:249
CID_SubrsRec
struct CID_SubrsRec_ CID_SubrsRec
CID_FaceInfoRec_
Definition: t1tables.h:351
AFM_FontInfoRec_::NumTrackKern
FT_Int NumTrackKern
Definition: t1types.h:174
T1_FontRec_::paint_type
FT_Byte paint_type
Definition: t1types.h:116
T1_FaceRec_::ndv_idx
FT_Int ndv_idx
Definition: t1types.h:218
AFM_TrackKernRec_::min_kern
FT_Fixed min_kern
Definition: t1types.h:152
T1_EncodingRecRec_::code_first
FT_Int code_first
Definition: t1types.h:72
T1_FaceRec
struct T1_FaceRec_ T1_FaceRec
T1_FontRec_::subrs_block
FT_Byte * subrs_block
Definition: t1types.h:103
CID_FaceRec_
Definition: t1types.h:232
FT_Bool
FT_BEGIN_HEADER typedef unsigned char FT_Bool
Definition: fttypes.h:104
T1_FaceRec_::blend
PS_Blend blend
Definition: t1types.h:213
AFM_KernPairRec_::index2
FT_Int index2
Definition: t1types.h:161
T1_FaceRec_::len_buildchar
FT_UInt len_buildchar
Definition: t1types.h:223
FT_Byte
unsigned char FT_Byte
Definition: fttypes.h:150
FT_BEGIN_HEADER
#define FT_BEGIN_HEADER
Definition: ftheader.h:36
CID_FaceRec_::font_extra
PS_FontExtraRec font_extra
Definition: t1types.h:238
PS_PrivateRec_
Definition: t1tables.h:118
T1_Font
struct T1_FontRec_ * T1_Font
PS_BlendRec_
Definition: t1tables.h:262
PS_FontExtraRec
struct PS_FontExtraRec_ PS_FontExtraRec
CID_SubrsRec_::code
FT_Byte ** code
Definition: t1types.h:131
T1_FontRec_::charstrings_block
FT_Byte * charstrings_block
Definition: t1types.h:104
CID_FaceRec_::root
FT_FaceRec root
Definition: t1types.h:234
AFM_FontInfoRec_::Descender
FT_Fixed Descender
Definition: t1types.h:172
T1_FontRec_::font_name
FT_String * font_name
Definition: t1types.h:98
CID_SubrsRec_
Definition: t1types.h:128
AFM_TrackKernRec_::min_ptsize
FT_Fixed min_ptsize
Definition: t1types.h:151
FT_FaceRec_
Definition: freetype.h:912
T1_FaceRec_::charmaprecs
FT_CharMapRec charmaprecs[2]
Definition: t1types.h:205
AFM_FontInfoRec_
Definition: t1types.h:167
T1_EncodingRecRec_
Definition: t1types.h:69
T1_FontRec_::font_id
FT_Long font_id
Definition: t1types.h:121
FT_String
char FT_String
Definition: fttypes.h:183
CID_FaceRec
struct CID_FaceRec_ CID_FaceRec
AFM_KernPairRec_
Definition: t1types.h:158
T1_FontRec_::font_matrix
FT_Matrix font_matrix
Definition: t1types.h:118
T1_FaceRec_::psaux
const void * psaux
Definition: t1types.h:203
T1_FontRec_::charstrings_len
FT_PtrDist * charstrings_len
Definition: t1types.h:114
T1_EncodingType
enum T1_EncodingType_ T1_EncodingType
T1_FontRec_::subrs
FT_Byte ** subrs
Definition: t1types.h:108
FT_Vector_
Definition: ftimage.h:75
AFM_KernPairRec_::x
FT_Int x
Definition: t1types.h:162
T1_FaceRec_::cdv_idx
FT_Int cdv_idx
Definition: t1types.h:219
AFM_FontInfo
struct AFM_FontInfoRec_ * AFM_FontInfo
CID_FaceRec_::subrs
CID_Subrs subrs
Definition: t1types.h:242
AFM_FontInfoRec_::KernPairs
AFM_KernPair KernPairs
Definition: t1types.h:175
T1_EncodingRecRec_::char_name
FT_String ** char_name
Definition: t1types.h:76
T1_FaceRec_
Definition: t1types.h:198
T1_FontRec_::font_info
PS_FontInfoRec font_info
Definition: t1types.h:95
T1_FontRec_::glyph_names_block
FT_Byte * glyph_names_block
Definition: t1types.h:105
T1_FaceRec_::afm_data
const void * afm_data
Definition: t1types.h:204
T1_FontRec_::encoding_type
T1_EncodingType encoding_type
Definition: t1types.h:100
AFM_TrackKernRec_::max_kern
FT_Fixed max_kern
Definition: t1types.h:154
CID_SubrsRec_::num_subrs
FT_UInt num_subrs
Definition: t1types.h:130
CID_FaceRec_::cid
CID_FaceInfoRec cid
Definition: t1types.h:237
AFM_KernPairRec_::y
FT_Int y
Definition: t1types.h:163
T1_FaceRec_::psnames
const void * psnames
Definition: t1types.h:202
T1_FontRec_::font_bbox
FT_BBox font_bbox
Definition: t1types.h:120
T1_FontRec_::num_subrs
FT_Int num_subrs
Definition: t1types.h:107
ft2build.h
FT_Fixed
signed long FT_Fixed
Definition: fttypes.h:284
FT_CharMapRec_
Definition: freetype.h:736
CID_FaceRec_::pshinter
void * pshinter
Definition: t1types.h:245
T1_FaceRec_::buildchar
FT_Long * buildchar
Definition: t1types.h:224
FT_UInt
unsigned int FT_UInt
Definition: fttypes.h:227
AFM_TrackKernRec
struct AFM_TrackKernRec_ AFM_TrackKernRec
AFM_FontInfoRec_::TrackKerns
AFM_TrackKern TrackKerns
Definition: t1types.h:173
PS_FontExtraRec_
Definition: t1types.h:86
T1_FaceRec_::charmaps
FT_CharMap charmaps[2]
Definition: t1types.h:206
T1_EncodingRecRec_::num_chars
FT_Int num_chars
Definition: t1types.h:71
AFM_KernPairRec_::index1
FT_Int index1
Definition: t1types.h:160
AFM_FontInfoRec_::Ascender
FT_Fixed Ascender
Definition: t1types.h:171
PS_FontExtraRec_::fs_type
FT_UShort fs_type
Definition: t1types.h:88
CID_Subrs
struct CID_SubrsRec_ * CID_Subrs
AFM_KernPairRec
struct AFM_KernPairRec_ AFM_KernPairRec
PS_FontInfoRec
FT_BEGIN_HEADER struct PS_FontInfoRec_ PS_FontInfoRec
T1_EncodingRecRec_::char_index
FT_UShort * char_index
Definition: t1types.h:75
AFM_FontInfoRec_::FontBBox
FT_BBox FontBBox
Definition: t1types.h:170
T1_EncodingRecRec_::code_last
FT_Int code_last
Definition: t1types.h:73
T1_FontRec_::encoding
T1_EncodingRec encoding
Definition: t1types.h:101
T1_EncodingRec
FT_BEGIN_HEADER struct T1_EncodingRecRec_ T1_EncodingRec
FT_UShort
unsigned short FT_UShort
Definition: fttypes.h:205
FT_StreamRec_
Definition: ftsystem.h:321
AFM_TrackKern
struct AFM_TrackKernRec_ * AFM_TrackKern
FT_BBox_
Definition: ftimage.h:116
AFM_FontInfoRec
struct AFM_FontInfoRec_ AFM_FontInfoRec
T1_FontRec_::font_offset
FT_Vector font_offset
Definition: t1types.h:119
AFM_FontInfoRec_::NumKernPair
FT_Int NumKernPair
Definition: t1types.h:176
CID_FaceRec_::binary_data
FT_Byte * binary_data
Definition: t1types.h:248
T1_FontRec_::glyph_names
FT_String ** glyph_names
Definition: t1types.h:112
T1_FaceRec_::pshinter
const void * pshinter
Definition: t1types.h:227