diff options
author | scuri <scuri> | 2009-10-20 17:20:18 +0000 |
---|---|---|
committer | scuri <scuri> | 2009-10-20 17:20:18 +0000 |
commit | 27a4f9c4ac45ff65f941964f7351b64b1e6a9f35 (patch) | |
tree | 2f68c5d9ce5bf6cbc320ac17aef0a65a3ceb99a1 /src/freetype2/cff/cffparse.h | |
parent | 2b70507615b2611fce4294c65bec7264644e2665 (diff) |
*** empty log message ***
Diffstat (limited to 'src/freetype2/cff/cffparse.h')
-rw-r--r-- | src/freetype2/cff/cffparse.h | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/src/freetype2/cff/cffparse.h b/src/freetype2/cff/cffparse.h index 8f3fa58..7e2c00a 100644 --- a/src/freetype2/cff/cffparse.h +++ b/src/freetype2/cff/cffparse.h @@ -36,6 +36,7 @@ FT_BEGIN_HEADER typedef struct CFF_ParserRec_ { + FT_Library library; FT_Byte* start; FT_Byte* limit; FT_Byte* cursor; @@ -52,7 +53,8 @@ FT_BEGIN_HEADER FT_LOCAL( void ) cff_parser_init( CFF_Parser parser, FT_UInt code, - void* object ); + void* object, + FT_Library library); FT_LOCAL( FT_Error ) cff_parser_run( CFF_Parser parser, @@ -60,6 +62,37 @@ FT_BEGIN_HEADER FT_Byte* limit ); + enum + { + cff_kind_none = 0, + cff_kind_num, + cff_kind_fixed, + cff_kind_fixed_thousand, + cff_kind_string, + cff_kind_bool, + cff_kind_delta, + cff_kind_callback, + + cff_kind_max /* do not remove */ + }; + + + /* now generate handlers for the most simple fields */ + typedef FT_Error (*CFF_Field_Reader)( CFF_Parser parser ); + + typedef struct CFF_Field_Handler_ + { + int kind; + int code; + FT_UInt offset; + FT_Byte size; + CFF_Field_Reader reader; + FT_UInt array_max; + FT_UInt count_offset; + + } CFF_Field_Handler; + + FT_END_HEADER |