zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
cffparse.h
Go to the documentation of this file.
1 /***************************************************************************/
2 /* */
3 /* cffparse.h */
4 /* */
5 /* CFF token stream parser (specification) */
6 /* */
7 /* Copyright 1996-2003, 2011 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 __CFF_PARSE_H__
20 #define __CFF_PARSE_H__
21 
22 
23 #include <ft2build.h>
24 #include "cfftypes.h"
25 #include FT_INTERNAL_OBJECTS_H
26 
27 
29 
30 
31 #define CFF_MAX_STACK_DEPTH 96
32 
33 #define CFF_CODE_TOPDICT 0x1000
34 #define CFF_CODE_PRIVATE 0x2000
35 
36 
37  typedef struct CFF_ParserRec_
38  {
43 
46 
48  void* object;
49 
51 
52 
53  FT_LOCAL( void )
54  cff_parser_init( CFF_Parser parser,
55  FT_UInt code,
56  void* object,
58 
60  cff_parser_run( CFF_Parser parser,
61  FT_Byte* start,
62  FT_Byte* limit );
63 
64 
65  enum
66  {
75 
76  cff_kind_max /* do not remove */
77  };
78 
79 
80  /* now generate handlers for the most simple fields */
81  typedef FT_Error (*CFF_Field_Reader)( CFF_Parser parser );
82 
83  typedef struct CFF_Field_Handler_
84  {
85  int kind;
86  int code;
92 
93 #ifdef FT_DEBUG_LEVEL_TRACE
94  const char* id;
95 #endif
96 
98 
99 
101 
102 
103 #endif /* __CFF_PARSE_H__ */
104 
105 
106 /* END */
int FT_Error
Definition: fttypes.h:296
FT_Byte * stack[CFF_MAX_STACK_DEPTH+1]
Definition: cffparse.h:44
CFF_Field_Reader reader
Definition: cffparse.h:89
#define FT_END_HEADER
Definition: ftheader.h:54
GLuint start
Definition: glew.h:1239
cff_parser_init(CFF_Parser parser, FT_UInt code, void *object, FT_Library library)
Definition: cffparse.c:39
FT_UInt count_offset
Definition: cffparse.h:91
FT_Library library
Definition: cffdrivr.c:409
GLuint id
Definition: gl2ext.h:1142
struct CFF_ParserRec_ * CFF_Parser
FT_Library library
Definition: cffparse.h:39
unsigned char FT_Byte
Definition: fttypes.h:150
#define FT_BEGIN_HEADER
Definition: ftheader.h:36
#define FT_LOCAL(x)
Definition: ftconfig.h:466
#define CFF_MAX_STACK_DEPTH
Definition: cffparse.h:31
FT_Byte ** top
Definition: cffparse.h:45
FT_Error(* CFF_Field_Reader)(CFF_Parser parser)
Definition: cffparse.h:81
cff_parser_run(CFF_Parser parser, FT_Byte *start, FT_Byte *limit)
Definition: cffparse.c:868
void * object
Definition: cffparse.h:48
GLint limit
Definition: glew.h:11829
FT_Byte * limit
Definition: cffparse.h:41
Definition: inftrees.h:24
struct CFF_Field_Handler_ CFF_Field_Handler
unsigned int FT_UInt
Definition: fttypes.h:227
FT_Byte * start
Definition: cffparse.h:40
FT_Byte * cursor
Definition: cffparse.h:42
FT_UInt object_code
Definition: cffparse.h:47
FT_UInt offset
Definition: cffparse.h:87
struct CFF_ParserRec_ CFF_ParserRec
FT_UInt array_max
Definition: cffparse.h:90