zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pfrtypes.h
Go to the documentation of this file.
1 /***************************************************************************/
2 /* */
3 /* pfrtypes.h */
4 /* */
5 /* FreeType PFR data structures (specification only). */
6 /* */
7 /* Copyright 2002, 2003, 2005, 2007 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 #ifndef __PFRTYPES_H__
20 #define __PFRTYPES_H__
21 
22 #include <ft2build.h>
23 #include FT_INTERNAL_OBJECTS_H
24 
26 
27  /************************************************************************/
28 
29  /* the PFR Header structure */
30  typedef struct PFR_HeaderRec_
31  {
32  FT_UInt32 signature;
36 
39 
43 
44  FT_UInt32 phy_font_max_size;
47 
49  FT_UInt32 gps_section_size;
50  FT_UInt32 gps_section_offset;
51 
55 
58 
59  FT_UInt32 bct_max_size;
60  FT_UInt32 bct_set_max_size;
62 
67 
69 
70 
71  /* used in `color_flags' field of the PFR_Header */
72  typedef enum PFR_HeaderFlags_
73  {
76 
78 
79 
80  /************************************************************************/
81 
82  typedef struct PFR_LogFontRec_
83  {
84  FT_UInt32 size;
85  FT_UInt32 offset;
86 
87  FT_Int32 matrix[4];
91  FT_Int32 miter_limit;
92 
93  FT_UInt32 phys_size;
94  FT_UInt32 phys_offset;
95 
97 
98 
99  typedef enum PFR_LogFlags_
100  {
103  PFR_LOG_BOLD = 0x10,
107 
108  } PFR_LogFlags;
109 
110 
111  typedef enum PFR_LineJoinFlags_
112  {
116 
118 
119 
120  /************************************************************************/
121 
122  typedef enum PFR_BitmapFlags_
123  {
127 
128  } PFR_BitmapFlags;
129 
130 
131  typedef struct PFR_BitmapCharRec_
132  {
135  FT_UInt32 gps_offset;
136 
138 
139 
140  typedef enum PFR_StrikeFlags_
141  {
147 
148  } PFR_StrikeFlags;
149 
150 
151  typedef struct PFR_StrikeRec_
152  {
156 
157  FT_UInt32 gps_size;
158  FT_UInt32 gps_offset;
159 
160  FT_UInt32 bct_size;
161  FT_UInt32 bct_offset;
162 
163  /* optional */
165  PFR_BitmapChar bitmaps;
166 
168 
169 
170  /************************************************************************/
171 
172  typedef struct PFR_CharRec_
173  {
177  FT_UInt32 gps_offset;
178 
179  } PFR_CharRec, *PFR_Char;
180 
181 
182  /************************************************************************/
183 
184  typedef struct PFR_DimensionRec_
185  {
189 
191 
192  /************************************************************************/
193 
195 
196  typedef struct PFR_KernItemRec_
197  {
198  PFR_KernItem next;
204  FT_UInt32 pair1;
205  FT_UInt32 pair2;
206 
207  } PFR_KernItemRec;
208 
209 
210 #define PFR_KERN_INDEX( g1, g2 ) \
211  ( ( (FT_UInt32)(g1) << 16 ) | (FT_UInt16)(g2) )
212 
213 #define PFR_KERN_PAIR_INDEX( pair ) \
214  PFR_KERN_INDEX( (pair)->glyph1, (pair)->glyph2 )
215 
216 #define PFR_NEXT_KPAIR( p ) ( p += 2, \
217  ( (FT_UInt32)p[-2] << 16 ) | p[-1] )
218 
219 
220  /************************************************************************/
221 
222  typedef struct PFR_PhyFontRec_
223  {
225  FT_UInt32 offset;
226 
233 
234  FT_Int ascent; /* optional, bbox.yMax if not present */
235  FT_Int descent; /* optional, bbox.yMin if not present */
236  FT_Int leading; /* optional, 0 if not present */
237 
240 
244 
248 
253 
256  PFR_Char chars;
257 
259  PFR_KernItem kern_items;
260  PFR_KernItem* kern_items_tail;
261 
262  /* not part of the spec, but used during load */
265 
267 
268 
269  typedef enum PFR_PhyFlags_
270  {
278 
279  } PFR_PhyFlags;
280 
281 
282  typedef enum PFR_KernFlags_
283  {
286 
287  } PFR_KernFlags;
288 
289 
290  /************************************************************************/
291 
292  typedef enum PFR_GlyphFlags_
293  {
299 
300  } PFR_GlyphFlags;
301 
302 
303  /* controlled coordinate */
304  typedef struct PFR_CoordRec_
305  {
308 
310 
311 
312  typedef struct PFR_SubGlyphRec_
313  {
318  FT_UInt32 gps_offset;
320 
322 
323 
324  typedef enum PFR_SubgGlyphFlags_
325  {
330 
332 
333 
334  typedef struct PFR_GlyphRec_
335  {
337 
338 #if 0
339  FT_UInt num_x_control;
340  FT_UInt num_y_control;
341 #endif
345 
346 
350 
353 
355 
356 
358 
359 #endif /* __PFRTYPES_H__ */
360 
361 
362 /* END */
struct PFR_LogFontRec_ PFR_LogFontRec
PFR_PhyFlags_
Definition: pfrtypes.h:269
FT_BEGIN_HEADER struct PFR_HeaderRec_ * PFR_Header
FT_Long bct_offset
Definition: pfrtypes.h:263
FT_UInt header_size
Definition: pfrtypes.h:35
PFR_DimensionRec horizontal
Definition: pfrtypes.h:238
PFR_SubgGlyphFlags_
Definition: pfrtypes.h:324
signed long FT_Long
Definition: fttypes.h:238
FT_UInt32 bct_set_max_size
Definition: pfrtypes.h:60
FT_UInt32 bct_max_size
Definition: pfrtypes.h:59
FT_UInt max_vert_stem_snap
Definition: pfrtypes.h:64
FT_BEGIN_HEADER typedef signed long FT_Pos
Definition: ftimage.h:59
FT_UInt version
Definition: pfrtypes.h:33
FT_UInt32 phys_size
Definition: pfrtypes.h:93
#define FT_END_HEADER
Definition: ftheader.h:54
FT_Byte pair_count
Definition: pfrtypes.h:199
signed int FT_Int
Definition: fttypes.h:216
FT_UInt32 phy_font_section_size
Definition: pfrtypes.h:45
FT_UInt max_xy_control
Definition: pfrtypes.h:342
FT_UInt pair_size
Definition: pfrtypes.h:202
FT_Int x_delta
Definition: pfrtypes.h:316
PFR_LogFlags_
Definition: pfrtypes.h:99
FT_UInt signature2
Definition: pfrtypes.h:34
struct PFR_CharRec_ * PFR_Char
FT_UInt color_flags
Definition: pfrtypes.h:57
enum PFR_BitmapFlags_ PFR_BitmapFlags
FT_String * font_id
Definition: pfrtypes.h:241
FT_UInt stroke_flags
Definition: pfrtypes.h:88
FT_Short base_adj
Definition: pfrtypes.h:201
enum PFR_LogFlags_ PFR_LogFlags
FT_UInt max_strikes
Definition: pfrtypes.h:246
FT_UInt log_dir_size
Definition: pfrtypes.h:37
FT_UInt num_phy_fonts
Definition: pfrtypes.h:63
FT_UInt32 gps_offset
Definition: pfrtypes.h:135
FT_UInt max_blue_values
Definition: pfrtypes.h:52
enum PFR_GlyphFlags_ PFR_GlyphFlags
FT_UInt num_chars
Definition: pfrtypes.h:254
FT_UInt32 gps_offset
Definition: pfrtypes.h:177
struct PFR_KernItemRec_ * PFR_KernItem
Definition: pfrtypes.h:194
FT_UInt32 size
Definition: pfrtypes.h:84
FT_UInt flags
Definition: pfrtypes.h:231
FT_UInt org
Definition: pfrtypes.h:306
FT_UInt num_strikes
Definition: pfrtypes.h:245
PFR_KernItem next
Definition: pfrtypes.h:198
FT_UInt32 pair2
Definition: pfrtypes.h:205
FT_BEGIN_HEADER typedef unsigned char FT_Bool
Definition: fttypes.h:104
struct PFR_BitmapCharRec_ PFR_BitmapCharRec
FT_UInt num_subs
Definition: pfrtypes.h:347
FT_UInt num_stem_snaps
Definition: pfrtypes.h:187
struct PFR_GlyphRec_ PFR_GlyphRec
FT_UInt char_code
Definition: pfrtypes.h:174
FT_UInt flags
Definition: pfrtypes.h:155
PFR_LineJoinFlags_
Definition: pfrtypes.h:111
FT_Fixed x_scale
Definition: pfrtypes.h:314
typedefFT_BEGIN_HEADER struct FT_GlyphLoaderRec_ * FT_GlyphLoader
Definition: ftgloadr.h:43
struct PFR_CoordRec_ PFR_CoordRec
FT_Byte format
Definition: pfrtypes.h:336
struct PFR_SubGlyphRec_ * PFR_SubGlyph
unsigned char FT_Byte
Definition: fttypes.h:150
#define FT_BEGIN_HEADER
Definition: ftheader.h:36
struct PFR_BitmapCharRec_ * PFR_BitmapChar
struct PFR_SubGlyphRec_ PFR_SubGlyphRec
struct PFR_StrikeRec_ PFR_StrikeRec
FT_Int ascent
Definition: pfrtypes.h:234
FT_Offset chars_offset
Definition: pfrtypes.h:255
PFR_SubGlyphRec * subs
Definition: pfrtypes.h:349
FT_UInt32 signature
Definition: pfrtypes.h:32
struct PFR_GlyphRec_ * PFR_Glyph
FT_UInt metrics_resolution
Definition: pfrtypes.h:229
struct PFR_KernItemRec_ PFR_KernItemRec
FT_UInt max_y_orus
Definition: pfrtypes.h:54
FT_UInt log_font_max_size
Definition: pfrtypes.h:40
FT_UInt gps_size
Definition: pfrtypes.h:176
FT_String * family_name
Definition: pfrtypes.h:242
PFR_KernItem kern_items
Definition: pfrtypes.h:259
FT_UInt y_ppm
Definition: pfrtypes.h:154
FT_UInt32 phy_bct_set_max_size
Definition: pfrtypes.h:61
FT_UInt32 gps_section_offset
Definition: pfrtypes.h:50
FT_Bool path_begun
Definition: pfrtypes.h:352
FT_GlyphLoader loader
Definition: pfrtypes.h:351
struct PFR_DimensionRec_ * PFR_Dimension
FT_UInt blue_fuzz
Definition: pfrtypes.h:251
FT_Int * blue_values
Definition: pfrtypes.h:250
FT_UInt32 gps_offset
Definition: pfrtypes.h:158
FT_Int stroke_thickness
Definition: pfrtypes.h:89
PFR_StrikeFlags_
Definition: pfrtypes.h:140
enum PFR_KernFlags_ PFR_KernFlags
FT_UInt32 offset
Definition: pfrtypes.h:225
char FT_String
Definition: fttypes.h:183
FT_UInt32 gps_offset
Definition: pfrtypes.h:318
FT_UInt32 offset
Definition: pfrtypes.h:85
FT_UInt32 phys_offset
Definition: pfrtypes.h:94
FT_UInt standard_advance
Definition: pfrtypes.h:232
FT_UInt max_horz_stem_snap
Definition: pfrtypes.h:65
PFR_KernFlags_
Definition: pfrtypes.h:282
FT_UInt num_blue_values
Definition: pfrtypes.h:249
FT_Byte * cursor
Definition: pfrtypes.h:264
PFR_Char chars
Definition: pfrtypes.h:256
FT_Int32 miter_limit
Definition: pfrtypes.h:91
FT_String * style_name
Definition: pfrtypes.h:243
enum PFR_LineJoinFlags_ PFR_LineJoinFlags
FT_UInt32 gps_size
Definition: pfrtypes.h:157
FT_BBox bbox
Definition: pfrtypes.h:230
FT_UInt max_chars
Definition: pfrtypes.h:66
struct PFR_CoordRec_ * PFR_Coord
FT_UInt max_x_orus
Definition: pfrtypes.h:53
PFR_DimensionRec vertical
Definition: pfrtypes.h:239
FT_UInt32 phy_font_max_size
Definition: pfrtypes.h:44
GLuint GLenum matrix
Definition: glew.h:13408
FT_Int descent
Definition: pfrtypes.h:235
signed short FT_Short
Definition: fttypes.h:194
FT_UInt gps_max_size
Definition: pfrtypes.h:48
FT_UInt num_bitmaps
Definition: pfrtypes.h:164
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
Definition: ftsystem.h:66
FT_Memory memory
Definition: pfrtypes.h:224
struct PFR_PhyFontRec_ * PFR_PhyFont
FT_UInt standard
Definition: pfrtypes.h:186
FT_UInt gps_size
Definition: pfrtypes.h:319
FT_UInt log_dir_offset
Definition: pfrtypes.h:38
FT_UInt x_ppm
Definition: pfrtypes.h:153
FT_UInt char_code
Definition: pfrtypes.h:133
FT_Byte flags
Definition: pfrtypes.h:200
enum PFR_StrikeFlags_ PFR_StrikeFlags
struct PFR_PhyFontRec_ PFR_PhyFontRec
PFR_KernItem * kern_items_tail
Definition: pfrtypes.h:260
PFR_StrikeRec * strikes
Definition: pfrtypes.h:247
signed long FT_Fixed
Definition: fttypes.h:284
FT_UInt32 log_font_section_size
Definition: pfrtypes.h:41
FT_UInt font_ref_number
Definition: pfrtypes.h:227
FT_BEGIN_HEADER struct PFR_HeaderRec_ PFR_HeaderRec
PFR_HeaderFlags_
Definition: pfrtypes.h:72
unsigned int FT_UInt
Definition: fttypes.h:227
FT_UInt blue_scale
Definition: pfrtypes.h:252
FT_UInt32 log_font_section_offset
Definition: pfrtypes.h:42
PFR_BitmapFlags_
Definition: pfrtypes.h:122
FT_Int leading
Definition: pfrtypes.h:236
FT_Int advance
Definition: pfrtypes.h:175
FT_Int * stem_snaps
Definition: pfrtypes.h:188
struct PFR_StrikeRec_ * PFR_Strike
FT_Fixed y_scale
Definition: pfrtypes.h:315
FT_UInt32 bct_offset
Definition: pfrtypes.h:161
FT_UInt32 pair1
Definition: pfrtypes.h:204
FT_Offset offset
Definition: pfrtypes.h:203
FT_Int y_delta
Definition: pfrtypes.h:317
struct PFR_CharRec_ PFR_CharRec
FT_UInt gps_size
Definition: pfrtypes.h:134
PFR_BitmapChar bitmaps
Definition: pfrtypes.h:165
FT_UInt max_subs
Definition: pfrtypes.h:348
struct PFR_LogFontRec_ * PFR_LogFont
FT_UInt32 bct_size
Definition: pfrtypes.h:160
FT_Pos * x_control
Definition: pfrtypes.h:343
enum PFR_HeaderFlags_ PFR_HeaderFlags
FT_Pos * y_control
Definition: pfrtypes.h:344
FT_UInt32 phy_font_section_offset
Definition: pfrtypes.h:46
enum PFR_PhyFlags_ PFR_PhyFlags
FT_UInt32 gps_section_size
Definition: pfrtypes.h:49
FT_UInt outline_resolution
Definition: pfrtypes.h:228
FT_Int bold_thickness
Definition: pfrtypes.h:90
struct PFR_DimensionRec_ PFR_DimensionRec
enum PFR_SubgGlyphFlags_ PFR_SubGlyphFlags
FT_UInt num_kern_pairs
Definition: pfrtypes.h:258
size_t FT_Offset
Definition: fttypes.h:320
FT_UInt cur
Definition: pfrtypes.h:307
FT_UInt phy_font_max_size_high
Definition: pfrtypes.h:56
PFR_GlyphFlags_
Definition: pfrtypes.h:292