zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ftmoderr.h
Go to the documentation of this file.
1 /***************************************************************************/
2 /* */
3 /* ftmoderr.h */
4 /* */
5 /* FreeType module error offsets (specification). */
6 /* */
7 /* Copyright 2001, 2002, 2003, 2004, 2005, 2010 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  /*************************************************************************/
20  /* */
21  /* This file is used to define the FreeType module error offsets. */
22  /* */
23  /* The lower byte gives the error code, the higher byte gives the */
24  /* module. The base module has error offset 0. For example, the error */
25  /* `FT_Err_Invalid_File_Format' has value 0x003, the error */
26  /* `TT_Err_Invalid_File_Format' has value 0x1103, the error */
27  /* `T1_Err_Invalid_File_Format' has value 0x1203, etc. */
28  /* */
29  /* Undefine the macro FT_CONFIG_OPTION_USE_MODULE_ERRORS in ftoption.h */
30  /* to make the higher byte always zero (disabling the module error */
31  /* mechanism). */
32  /* */
33  /* It can also be used to create a module error message table easily */
34  /* with something like */
35  /* */
36  /* { */
37  /* #undef __FTMODERR_H__ */
38  /* #define FT_MODERRDEF( e, v, s ) { FT_Mod_Err_ ## e, s }, */
39  /* #define FT_MODERR_START_LIST { */
40  /* #define FT_MODERR_END_LIST { 0, 0 } }; */
41  /* */
42  /* const struct */
43  /* { */
44  /* int mod_err_offset; */
45  /* const char* mod_err_msg */
46  /* } ft_mod_errors[] = */
47  /* */
48  /* #include FT_MODULE_ERRORS_H */
49  /* } */
50  /* */
51  /* To use such a table, all errors must be ANDed with 0xFF00 to remove */
52  /* the error code. */
53  /* */
54  /*************************************************************************/
55 
56 
57 #ifndef __FTMODERR_H__
58 #define __FTMODERR_H__
59 
60 
61  /*******************************************************************/
62  /*******************************************************************/
63  /***** *****/
64  /***** SETUP MACROS *****/
65  /***** *****/
66  /*******************************************************************/
67  /*******************************************************************/
68 
69 
70 #undef FT_NEED_EXTERN_C
71 
72 #ifndef FT_MODERRDEF
73 
74 #ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS
75 #define FT_MODERRDEF( e, v, s ) FT_Mod_Err_ ## e = v,
76 #else
77 #define FT_MODERRDEF( e, v, s ) FT_Mod_Err_ ## e = 0,
78 #endif
79 
80 #define FT_MODERR_START_LIST enum {
81 #define FT_MODERR_END_LIST FT_Mod_Err_Max };
82 
83 #ifdef __cplusplus
84 #define FT_NEED_EXTERN_C
85  extern "C" {
86 #endif
87 
88 #endif /* !FT_MODERRDEF */
89 
90 
91  /*******************************************************************/
92  /*******************************************************************/
93  /***** *****/
94  /***** LIST MODULE ERROR BASES *****/
95  /***** *****/
96  /*******************************************************************/
97  /*******************************************************************/
98 
99 
100 #ifdef FT_MODERR_START_LIST
102 #endif
103 
104 
105  FT_MODERRDEF( Base, 0x000, "base module" )
106  FT_MODERRDEF( Autofit, 0x100, "autofitter module" )
107  FT_MODERRDEF( BDF, 0x200, "BDF module" )
108  FT_MODERRDEF( Bzip2, 0x300, "Bzip2 module" )
109  FT_MODERRDEF( Cache, 0x400, "cache module" )
110  FT_MODERRDEF( CFF, 0x500, "CFF module" )
111  FT_MODERRDEF( CID, 0x600, "CID module" )
112  FT_MODERRDEF( Gzip, 0x700, "Gzip module" )
113  FT_MODERRDEF( LZW, 0x800, "LZW module" )
114  FT_MODERRDEF( OTvalid, 0x900, "OpenType validation module" )
115  FT_MODERRDEF( PCF, 0xA00, "PCF module" )
116  FT_MODERRDEF( PFR, 0xB00, "PFR module" )
117  FT_MODERRDEF( PSaux, 0xC00, "PS auxiliary module" )
118  FT_MODERRDEF( PShinter, 0xD00, "PS hinter module" )
119  FT_MODERRDEF( PSnames, 0xE00, "PS names module" )
120  FT_MODERRDEF( Raster, 0xF00, "raster module" )
121  FT_MODERRDEF( SFNT, 0x1000, "SFNT module" )
122  FT_MODERRDEF( Smooth, 0x1100, "smooth raster module" )
123  FT_MODERRDEF( TrueType, 0x1200, "TrueType module" )
124  FT_MODERRDEF( Type1, 0x1300, "Type 1 module" )
125  FT_MODERRDEF( Type42, 0x1400, "Type 42 module" )
126  FT_MODERRDEF( Winfonts, 0x1500, "Windows FON/FNT module" )
127 
128 
129 #ifdef FT_MODERR_END_LIST
131 #endif
132 
133 
134  /*******************************************************************/
135  /*******************************************************************/
136  /***** *****/
137  /***** CLEANUP *****/
138  /***** *****/
139  /*******************************************************************/
140  /*******************************************************************/
141 
142 
143 #ifdef FT_NEED_EXTERN_C
144  }
145 #endif
146 
147 #undef FT_MODERR_START_LIST
148 #undef FT_MODERR_END_LIST
149 #undef FT_MODERRDEF
150 #undef FT_NEED_EXTERN_C
151 
152 
153 #endif /* __FTMODERR_H__ */
154 
155 
156 /* END */
#define FT_MODERR_START_LIST
Definition: ftmoderr.h:80
#define FT_MODERRDEF(e, v, s)
Definition: ftmoderr.h:77
#define FT_MODERR_END_LIST
Definition: ftmoderr.h:81