1 /***************************************************************************/
   2 /*                                                                         */
   3 /*  t1decode.h                                                             */
   4 /*                                                                         */
   5 /*    PostScript Type 1 decoding routines (specification).                 */
   6 /*                                                                         */
   7 /*  Copyright 2000-2018 by                                                 */
   8 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
   9 /*                                                                         */
  10 /*  This file is part of the FreeType project, and may only be used,       */
  11 /*  modified, and distributed under the terms of the FreeType project      */
  12 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
  13 /*  this file you indicate that you have read the license and              */
  14 /*  understand and accept it fully.                                        */
  15 /*                                                                         */
  16 /***************************************************************************/
  17 
  18 
  19 #ifndef T1DECODE_H_
  20 #define T1DECODE_H_
  21 
  22 
  23 #include <ft2build.h>
  24 #include FT_INTERNAL_POSTSCRIPT_AUX_H
  25 #include FT_INTERNAL_TYPE1_TYPES_H
  26 
  27 
  28 FT_BEGIN_HEADER
  29 
  30 
  31   FT_CALLBACK_TABLE
  32   const T1_Decoder_FuncsRec  t1_decoder_funcs;
  33 
  34   FT_LOCAL( FT_Int )
  35   t1_lookup_glyph_by_stdcharcode_ps( PS_Decoder*  decoder,
  36                                      FT_Int       charcode );
  37 
  38 #ifdef T1_CONFIG_OPTION_OLD_ENGINE
  39   FT_LOCAL( FT_Error )
  40   t1_decoder_parse_glyph( T1_Decoder  decoder,
  41                           FT_UInt     glyph_index );
  42 
  43   FT_LOCAL( FT_Error )
  44   t1_decoder_parse_charstrings( T1_Decoder  decoder,
  45                                 FT_Byte*    base,
  46                                 FT_UInt     len );
  47 #else
  48   FT_LOCAL( FT_Error )
  49   t1_decoder_parse_metrics( T1_Decoder  decoder,
  50                             FT_Byte*    charstring_base,
  51                             FT_UInt     charstring_len );
  52 #endif
  53 
  54   FT_LOCAL( FT_Error )
  55   t1_decoder_init( T1_Decoder           decoder,
  56                    FT_Face              face,
  57                    FT_Size              size,
  58                    FT_GlyphSlot         slot,
  59                    FT_Byte**            glyph_names,
  60                    PS_Blend             blend,
  61                    FT_Bool              hinting,
  62                    FT_Render_Mode       hint_mode,
  63                    T1_Decoder_Callback  parse_glyph );
  64 
  65   FT_LOCAL( void )
  66   t1_decoder_done( T1_Decoder  decoder );
  67 
  68 
  69 FT_END_HEADER
  70 
  71 #endif /* T1DECODE_H_ */
  72 
  73 
  74 /* END */