misc/libfreetype/src/type42/t42parse.h
branchwebgl
changeset 9521 8054d9d775fd
parent 9282 92af50454cf2
parent 9519 b8b5c82eb61b
child 9950 2759212a27de
equal deleted inserted replaced
9282:92af50454cf2 9521:8054d9d775fd
     1 /***************************************************************************/
       
     2 /*                                                                         */
       
     3 /*  t42parse.h                                                             */
       
     4 /*                                                                         */
       
     5 /*    Type 42 font parser (specification).                                 */
       
     6 /*                                                                         */
       
     7 /*  Copyright 2002, 2003 by Roberto Alameda.                               */
       
     8 /*                                                                         */
       
     9 /*  This file is part of the FreeType project, and may only be used,       */
       
    10 /*  modified, and distributed under the terms of the FreeType project      */
       
    11 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
       
    12 /*  this file you indicate that you have read the license and              */
       
    13 /*  understand and accept it fully.                                        */
       
    14 /*                                                                         */
       
    15 /***************************************************************************/
       
    16 
       
    17 
       
    18 #ifndef __T42PARSE_H__
       
    19 #define __T42PARSE_H__
       
    20 
       
    21 
       
    22 #include "t42objs.h"
       
    23 #include FT_INTERNAL_POSTSCRIPT_AUX_H
       
    24 
       
    25 
       
    26 FT_BEGIN_HEADER
       
    27 
       
    28   typedef struct  T42_ParserRec_
       
    29   {
       
    30     PS_ParserRec  root;
       
    31     FT_Stream     stream;
       
    32 
       
    33     FT_Byte*      base_dict;
       
    34     FT_Long       base_len;
       
    35 
       
    36     FT_Bool       in_memory;
       
    37 
       
    38   } T42_ParserRec, *T42_Parser;
       
    39 
       
    40 
       
    41   typedef struct  T42_Loader_
       
    42   {
       
    43     T42_ParserRec  parser;          /* parser used to read the stream */
       
    44 
       
    45     FT_UInt        num_chars;       /* number of characters in encoding */
       
    46     PS_TableRec    encoding_table;  /* PS_Table used to store the       */
       
    47                                     /* encoding character names         */
       
    48 
       
    49     FT_UInt        num_glyphs;
       
    50     PS_TableRec    glyph_names;
       
    51     PS_TableRec    charstrings;
       
    52     PS_TableRec    swap_table;      /* For moving .notdef glyph to index 0. */
       
    53 
       
    54   } T42_LoaderRec, *T42_Loader;
       
    55 
       
    56 
       
    57   FT_LOCAL( FT_Error )
       
    58   t42_parser_init( T42_Parser     parser,
       
    59                    FT_Stream      stream,
       
    60                    FT_Memory      memory,
       
    61                    PSAux_Service  psaux );
       
    62 
       
    63   FT_LOCAL( void )
       
    64   t42_parser_done( T42_Parser  parser );
       
    65 
       
    66 
       
    67   FT_LOCAL( FT_Error )
       
    68   t42_parse_dict( T42_Face    face,
       
    69                   T42_Loader  loader,
       
    70                   FT_Byte*    base,
       
    71                   FT_Long     size );
       
    72 
       
    73 
       
    74   FT_LOCAL( void )
       
    75   t42_loader_init( T42_Loader  loader,
       
    76                    T42_Face    face );
       
    77 
       
    78   FT_LOCAL( void )
       
    79   t42_loader_done( T42_Loader  loader );
       
    80 
       
    81 
       
    82  /* */
       
    83 
       
    84 FT_END_HEADER
       
    85 
       
    86 
       
    87 #endif /* __T42PARSE_H__ */
       
    88 
       
    89 
       
    90 /* END */