]> git.saurik.com Git - wxWidgets.git/blob - src/freetype/cff/t2parse.h
Added FreeType II beta 8.
[wxWidgets.git] / src / freetype / cff / t2parse.h
1 /***************************************************************************/
2 /* */
3 /* t2parse.h */
4 /* */
5 /* OpenType parser (specification). */
6 /* */
7 /* Copyright 1996-2000 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 T2PARSE_H
20 #define T2PARSE_H
21
22 #include <freetype/internal/t2types.h>
23 #include <freetype/internal/ftobjs.h>
24
25 #define T2_MAX_STACK_DEPTH 96
26
27 #define T2CODE_TOPDICT 0x1000
28 #define T2CODE_PRIVATE 0x2000
29
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35
36 typedef struct T2_Parser_
37 {
38 FT_Byte* start;
39 FT_Byte* limit;
40 FT_Byte* cursor;
41
42 FT_Byte* stack[T2_MAX_STACK_DEPTH + 1];
43 FT_Byte** top;
44
45 FT_UInt object_code;
46 void* object;
47
48 } T2_Parser;
49
50
51 LOCAL_DEF
52 void T2_Parser_Init( T2_Parser* parser,
53 FT_UInt code,
54 void* object );
55
56 LOCAL_DEF
57 FT_Error T2_Parser_Run( T2_Parser* parser,
58 FT_Byte* start,
59 FT_Byte* limit );
60
61
62 #ifdef __cplusplus
63 }
64 #endif
65
66
67 #endif /* T2PARSE_H */
68
69
70 /* END */