1 /****************************************************************************
   2  *
   3  * cffdecode.h
   4  *
   5  *   PostScript CFF (Type 2) decoding routines (specification).
   6  *
   7  * Copyright (C) 2017-2019 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 CFFDECODE_H_
  20 #define CFFDECODE_H_
  21 
  22 
  23 #include <ft2build.h>
  24 #include FT_INTERNAL_POSTSCRIPT_AUX_H
  25 
  26 
  27 FT_BEGIN_HEADER
  28 
  29   FT_LOCAL( void )
  30   cff_decoder_init( CFF_Decoder*                     decoder,
  31                     TT_Face                          face,
  32                     CFF_Size                         size,
  33                     CFF_GlyphSlot                    slot,
  34                     FT_Bool                          hinting,
  35                     FT_Render_Mode                   hint_mode,
  36                     CFF_Decoder_Get_Glyph_Callback   get_callback,
  37                     CFF_Decoder_Free_Glyph_Callback  free_callback );
  38 
  39   FT_LOCAL( FT_Error )
  40   cff_decoder_prepare( CFF_Decoder*  decoder,
  41                        CFF_Size      size,
  42                        FT_UInt       glyph_index );
  43 
  44 
  45   FT_LOCAL( FT_Int )
  46   cff_lookup_glyph_by_stdcharcode( CFF_Font  cff,
  47                                    FT_Int    charcode );
  48 
  49 
  50 #ifdef CFF_CONFIG_OPTION_OLD_ENGINE
  51   FT_LOCAL( FT_Error )
  52   cff_decoder_parse_charstrings( CFF_Decoder*  decoder,
  53                                  FT_Byte*      charstring_base,
  54                                  FT_ULong      charstring_len,
  55                                  FT_Bool       in_dict );
  56 #endif
  57 
  58 
  59 FT_END_HEADER
  60 
  61 #endif
  62 
  63 
  64 /* END */