t42parse.h

Go to the documentation of this file.
00001 /***************************************************************************/
00002 /*                                                                         */
00003 /*  t42parse.h                                                             */
00004 /*                                                                         */
00005 /*    Type 42 font parser (specification).                                 */
00006 /*                                                                         */
00007 /*  Copyright 2002, 2003 by Roberto Alameda.                               */
00008 /*                                                                         */
00009 /*  This file is part of the FreeType project, and may only be used,       */
00010 /*  modified, and distributed under the terms of the FreeType project      */
00011 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
00012 /*  this file you indicate that you have read the license and              */
00013 /*  understand and accept it fully.                                        */
00014 /*                                                                         */
00015 /***************************************************************************/
00016 
00017 
00018 #ifndef __T42PARSE_H__
00019 #define __T42PARSE_H__
00020 
00021 
00022 #include "t42objs.h"
00023 #include FT_INTERNAL_POSTSCRIPT_AUX_H
00024 
00025 
00026 FT_BEGIN_HEADER
00027 
00028   typedef struct  T42_ParserRec_
00029   {
00030     PS_ParserRec  root;
00031     FT_Stream     stream;
00032 
00033     FT_Byte*      base_dict;
00034     FT_Long       base_len;
00035 
00036     FT_Bool       in_memory;
00037 
00038   } T42_ParserRec, *T42_Parser;
00039 
00040 
00041   typedef struct  T42_Loader_
00042   {
00043     T42_ParserRec  parser;          /* parser used to read the stream */
00044 
00045     FT_UInt        num_chars;       /* number of characters in encoding */
00046     PS_TableRec    encoding_table;  /* PS_Table used to store the       */
00047                                     /* encoding character names         */
00048 
00049     FT_UInt        num_glyphs;
00050     PS_TableRec    glyph_names;
00051     PS_TableRec    charstrings;
00052     PS_TableRec    swap_table;      /* For moving .notdef glyph to index 0. */
00053 
00054   } T42_LoaderRec, *T42_Loader;
00055 
00056 
00057   FT_LOCAL( FT_Error )
00058   t42_parser_init( T42_Parser     parser,
00059                    FT_Stream      stream,
00060                    FT_Memory      memory,
00061                    PSAux_Service  psaux );
00062 
00063   FT_LOCAL( void )
00064   t42_parser_done( T42_Parser  parser );
00065 
00066 
00067   FT_LOCAL( FT_Error )
00068   t42_parse_dict( T42_Face    face,
00069                   T42_Loader  loader,
00070                   FT_Byte*    base,
00071                   FT_Long     size );
00072 
00073 
00074   FT_LOCAL( void )
00075   t42_loader_init( T42_Loader  loader,
00076                    T42_Face    face );
00077 
00078   FT_LOCAL( void )
00079   t42_loader_done( T42_Loader  loader );
00080 
00081 
00082  /* */
00083 
00084 FT_END_HEADER
00085 
00086 
00087 #endif /* __T42PARSE_H__ */
00088 
00089 
00090 /* END */

Generated on Tue Jul 5 14:13:54 2011 for ROOT_528-00b_version by  doxygen 1.5.1