Home | History | Annotate | Download | only in cff
      1 /***************************************************************************/
      2 /*                                                                         */
      3 /*  cffload.h                                                              */
      4 /*                                                                         */
      5 /*    OpenType & CFF data/program tables loader (specification).           */
      6 /*                                                                         */
      7 /*  Copyright 1996-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 CFFLOAD_H_
     20 #define CFFLOAD_H_
     21 
     22 
     23 #include <ft2build.h>
     24 #include FT_INTERNAL_CFF_TYPES_H
     25 #include "cffparse.h"
     26 #include FT_INTERNAL_CFF_OBJECTS_TYPES_H  /* for CFF_Face */
     27 
     28 
     29 FT_BEGIN_HEADER
     30 
     31   FT_LOCAL( FT_UShort )
     32   cff_get_standard_encoding( FT_UInt  charcode );
     33 
     34 
     35   FT_LOCAL( FT_String* )
     36   cff_index_get_string( CFF_Font  font,
     37                         FT_UInt   element );
     38 
     39   FT_LOCAL( FT_String* )
     40   cff_index_get_sid_string( CFF_Font  font,
     41                             FT_UInt   sid );
     42 
     43 
     44   FT_LOCAL( FT_Error )
     45   cff_index_access_element( CFF_Index  idx,
     46                             FT_UInt    element,
     47                             FT_Byte**  pbytes,
     48                             FT_ULong*  pbyte_len );
     49 
     50   FT_LOCAL( void )
     51   cff_index_forget_element( CFF_Index  idx,
     52                             FT_Byte**  pbytes );
     53 
     54   FT_LOCAL( FT_String* )
     55   cff_index_get_name( CFF_Font  font,
     56                       FT_UInt   element );
     57 
     58 
     59   FT_LOCAL( FT_UInt )
     60   cff_charset_cid_to_gindex( CFF_Charset  charset,
     61                              FT_UInt      cid );
     62 
     63 
     64   FT_LOCAL( FT_Error )
     65   cff_font_load( FT_Library  library,
     66                  FT_Stream   stream,
     67                  FT_Int      face_index,
     68                  CFF_Font    font,
     69                  CFF_Face    face,
     70                  FT_Bool     pure_cff,
     71                  FT_Bool     cff2 );
     72 
     73   FT_LOCAL( void )
     74   cff_font_done( CFF_Font  font );
     75 
     76 
     77   FT_LOCAL( FT_Error )
     78   cff_load_private_dict( CFF_Font     font,
     79                          CFF_SubFont  subfont,
     80                          FT_UInt      lenNDV,
     81                          FT_Fixed*    NDV );
     82 
     83   FT_LOCAL( FT_Byte )
     84   cff_fd_select_get( CFF_FDSelect  fdselect,
     85                      FT_UInt       glyph_index );
     86 
     87   FT_LOCAL( FT_Bool )
     88   cff_blend_check_vector( CFF_Blend  blend,
     89                           FT_UInt    vsindex,
     90                           FT_UInt    lenNDV,
     91                           FT_Fixed*  NDV );
     92 
     93   FT_LOCAL( FT_Error )
     94   cff_blend_build_vector( CFF_Blend  blend,
     95                           FT_UInt    vsindex,
     96                           FT_UInt    lenNDV,
     97                           FT_Fixed*  NDV );
     98 
     99   FT_LOCAL( void )
    100   cff_blend_clear( CFF_SubFont  subFont );
    101 
    102   FT_LOCAL( FT_Error )
    103   cff_blend_doBlend( CFF_SubFont  subfont,
    104                      CFF_Parser   parser,
    105                      FT_UInt      numBlends );
    106 
    107 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
    108   FT_LOCAL( FT_Error )
    109   cff_get_var_blend( CFF_Face     face,
    110                      FT_UInt     *num_coords,
    111                      FT_Fixed*   *coords,
    112                      FT_Fixed*   *normalizedcoords,
    113                      FT_MM_Var*  *mm_var );
    114 
    115   FT_LOCAL( void )
    116   cff_done_blend( CFF_Face  face );
    117 #endif
    118 
    119 
    120 FT_END_HEADER
    121 
    122 #endif /* CFFLOAD_H_ */
    123 
    124 
    125 /* END */
    126