/***************************************************************************/ /* */ /* cffparse.h */ /* */ /* CFF token stream parser (specification) */ /* */ /* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ /* modified, and distributed under the terms of the FreeType project */ /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ /* this file you indicate that you have read the license and */ /* understand and accept it fully. */ /* */ /***************************************************************************/ #ifndef __CFF_PARSE_H__ #define __CFF_PARSE_H__ #include #include FT_INTERNAL_CFF_TYPES_H #include FT_INTERNAL_OBJECTS_H FT_BEGIN_HEADER #define CFF_MAX_STACK_DEPTH 96 #define CFF_CODE_TOPDICT 0x1000 #define CFF_CODE_PRIVATE 0x2000 typedef struct CFF_ParserRec_ { FT_Byte* start; FT_Byte* limit; FT_Byte* cursor; FT_Byte* stack[CFF_MAX_STACK_DEPTH + 1]; FT_Byte** top; FT_UInt object_code; void* object; } CFF_ParserRec, *CFF_Parser; FT_LOCAL( void ) cff_parser_init( CFF_Parser parser, FT_UInt code, void* object ); FT_LOCAL( FT_Error ) cff_parser_run( CFF_Parser parser, FT_Byte* start, FT_Byte* limit ); FT_END_HEADER #endif /* __CFF_PARSE_H__ */ /* END */