Disabling auto-refresh of game list by default, as it is causing bugs sometimes
[open-ps2-loader.git] / thirdparty / freetype-2.3.12 / src / cff / cffparse.h
blob7e2c00a0449c8cbd99d9dcc30efaf14ef6f81a09
1 /***************************************************************************/
2 /* */
3 /* cffparse.h */
4 /* */
5 /* CFF token stream parser (specification) */
6 /* */
7 /* Copyright 1996-2001, 2002, 2003 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 /***************************************************************************/
19 #ifndef __CFF_PARSE_H__
20 #define __CFF_PARSE_H__
23 #include <ft2build.h>
24 #include "cfftypes.h"
25 #include FT_INTERNAL_OBJECTS_H
28 FT_BEGIN_HEADER
31 #define CFF_MAX_STACK_DEPTH 96
33 #define CFF_CODE_TOPDICT 0x1000
34 #define CFF_CODE_PRIVATE 0x2000
37 typedef struct CFF_ParserRec_
39 FT_Library library;
40 FT_Byte* start;
41 FT_Byte* limit;
42 FT_Byte* cursor;
44 FT_Byte* stack[CFF_MAX_STACK_DEPTH + 1];
45 FT_Byte** top;
47 FT_UInt object_code;
48 void* object;
50 } CFF_ParserRec, *CFF_Parser;
53 FT_LOCAL( void )
54 cff_parser_init( CFF_Parser parser,
55 FT_UInt code,
56 void* object,
57 FT_Library library);
59 FT_LOCAL( FT_Error )
60 cff_parser_run( CFF_Parser parser,
61 FT_Byte* start,
62 FT_Byte* limit );
65 enum
67 cff_kind_none = 0,
68 cff_kind_num,
69 cff_kind_fixed,
70 cff_kind_fixed_thousand,
71 cff_kind_string,
72 cff_kind_bool,
73 cff_kind_delta,
74 cff_kind_callback,
76 cff_kind_max /* do not remove */
80 /* now generate handlers for the most simple fields */
81 typedef FT_Error (*CFF_Field_Reader)( CFF_Parser parser );
83 typedef struct CFF_Field_Handler_
85 int kind;
86 int code;
87 FT_UInt offset;
88 FT_Byte size;
89 CFF_Field_Reader reader;
90 FT_UInt array_max;
91 FT_UInt count_offset;
93 } CFF_Field_Handler;
96 FT_END_HEADER
99 #endif /* __CFF_PARSE_H__ */
102 /* END */