text: /***************************************************************************/
  /*                                                                         */
  /*  svttcmap.h                                                             */
  /*                                                                         */
  /*    The FreeType TrueType/sfnt cmap extra information service.           */
  /*                                                                         */
  /*  Copyright 2003-2015 by                                                 */
  /*  Masatake YAMATO, Redhat K.K.,                                          */
  /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
  /*                                                                         */
  /*  This file is part of the FreeType project, and may only be used,       */
  /*  modified, and distributed under the terms of the FreeType project      */
  /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
  /*  this file you indicate that you have read the license and              */
  /*  understand and accept it fully.                                        */
  /*                                                                         */
  /***************************************************************************/
  
  /* Development of this service is support of
     Information-technology Promotion Agency, Japan. */
  
  #ifndef __SVTTCMAP_H__
  #define __SVTTCMAP_H__
  
  #include FT_INTERNAL_SERVICE_H
  #include FT_TRUETYPE_TABLES_H
  
  
  FT_BEGIN_HEADER
  
  
  #define FT_SERVICE_ID_TT_CMAP  "tt-cmaps"
  
  
    /*************************************************************************/
    /*                                                                       */
    /* <Struct>                                                              */
    /*    TT_CMapInfo                                                        */
    /*                                                                       */
    /* <Description>                                                         */
    /*    A structure used to store TrueType/sfnt specific cmap information  */
    /*    which is not covered by the generic @FT_CharMap structure.  This   */
    /*    structure can be accessed with the @FT_Get_TT_CMap_Info function.  */
    /*                                                                       */
    /* <Fields>                                                              */
    /*    language ::                                                        */
    /*      The language ID used in Mac fonts.  Definitions of values are in */
    /*      `ttnameid.h'.                                                    */
    /*                                                                       */
    /*    format ::                                                          */
    /*      The cmap format.  OpenType 1.6 defines the formats 0 (byte       */
    /*      encoding table), 2~(high-byte mapping through table), 4~(segment */
    /*      mapping to delta values), 6~(trimmed table mapping), 8~(mixed    */
    /*      16-bit and 32-bit coverage), 10~(trimmed array), 12~(segmented   */
    /*      coverage), 13~(last resort font), and 14 (Unicode Variation      */
    /*      Sequences).                                                      */
    /*                                                                       */
    typedef struct  TT_CMapInfo_
    {
      FT_ULong  language;
      FT_Long   format;
  
    } TT_CMapInfo;
  
  
    typedef FT_Error
    (*TT_CMap_Info_GetFunc)( FT_CharMap    charmap,
                             TT_CMapInfo  *cmap_info );
  
  
    FT_DEFINE_SERVICE( TTCMaps )
    {
      TT_CMap_Info_GetFunc  get_cmap_info;
    };
  
  #ifndef FT_CONFIG_OPTION_PIC
  
  #define FT_DEFINE_SERVICE_TTCMAPSREC( class_, get_cmap_info_ )  \
    static const FT_Service_TTCMapsRec  class_ =                  \
    {                                                             \
      get_cmap_info_                                              \
    };
  
  #else /* FT_CONFIG_OPTION_PIC */
  
  #define FT_DEFINE_SERVICE_TTCMAPSREC( class_, get_cmap_info_ )  \
    void                                                          \
    FT_Init_Class_ ## class_( FT_Library              library,    \
                              FT_Service_TTCMapsRec*  clazz )     \
    {                                                             \
      FT_UNUSED( library );                                       \
                                                                  \
      clazz->get_cmap_info = get_cmap_info_;                      \
    }
  
  #endif /* FT_CONFIG_OPTION_PIC */
  
    /* */
  
  
  FT_END_HEADER
  
  #endif /* __SVTTCMAP_H__ */
  
  
  /* END */
  