| /***************************************************************************/ |
| /* */ |
| /* t42parse.h */ |
| /* */ |
| /* Type 42 font parser (specification). */ |
| /* */ |
| /* Copyright 2002-2015 by */ |
| /* Roberto Alameda. */ |
| /* */ |
| /* 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 __T42PARSE_H__ |
| #define __T42PARSE_H__ |
| |
| |
| #include "t42objs.h" |
| #include FT_INTERNAL_POSTSCRIPT_AUX_H |
| |
| |
| FT_BEGIN_HEADER |
| |
| typedef struct T42_ParserRec_ |
| { |
| PS_ParserRec root; |
| FT_Stream stream; |
| |
| FT_Byte* base_dict; |
| FT_Long base_len; |
| |
| FT_Bool in_memory; |
| |
| } T42_ParserRec, *T42_Parser; |
| |
| |
| typedef struct T42_Loader_ |
| { |
| T42_ParserRec parser; /* parser used to read the stream */ |
| |
| FT_Int num_chars; /* number of characters in encoding */ |
| PS_TableRec encoding_table; /* PS_Table used to store the */ |
| /* encoding character names */ |
| |
| FT_Int num_glyphs; |
| PS_TableRec glyph_names; |
| PS_TableRec charstrings; |
| PS_TableRec swap_table; /* For moving .notdef glyph to index 0. */ |
| |
| } T42_LoaderRec, *T42_Loader; |
| |
| |
| FT_LOCAL( FT_Error ) |
| t42_parser_init( T42_Parser parser, |
| FT_Stream stream, |
| FT_Memory memory, |
| PSAux_Service psaux ); |
| |
| FT_LOCAL( void ) |
| t42_parser_done( T42_Parser parser ); |
| |
| |
| FT_LOCAL( FT_Error ) |
| t42_parse_dict( T42_Face face, |
| T42_Loader loader, |
| FT_Byte* base, |
| FT_Long size ); |
| |
| |
| FT_LOCAL( void ) |
| t42_loader_init( T42_Loader loader, |
| T42_Face face ); |
| |
| FT_LOCAL( void ) |
| t42_loader_done( T42_Loader loader ); |
| |
| |
| /* */ |
| |
| FT_END_HEADER |
| |
| |
| #endif /* __T42PARSE_H__ */ |
| |
| |
| /* END */ |