Edit

kc3-lang/freetype/src/sfnt/ttcmap.h

Branch :

  • Show log

    Commit

  • Author : suzuki toshiya
    Date : 2012-01-17 02:00:24
    Hash : 1749d8bc
    Message : Remove trailing spaces.

  • src/sfnt/ttcmap.h
  • /***************************************************************************/
    /*                                                                         */
    /*  ttcmap.h                                                               */
    /*                                                                         */
    /*    TrueType character mapping table (cmap) support (specification).     */
    /*                                                                         */
    /*  Copyright 2002, 2003, 2004, 2005 by                                    */
    /*  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.                                        */
    /*                                                                         */
    /***************************************************************************/
    
    
    #ifndef __TTCMAP_H__
    #define __TTCMAP_H__
    
    
    #include <ft2build.h>
    #include FT_INTERNAL_TRUETYPE_TYPES_H
    #include FT_INTERNAL_VALIDATE_H
    #include FT_SERVICE_TT_CMAP_H
    
    FT_BEGIN_HEADER
    
    
    #define TT_CMAP_FLAG_UNSORTED     1
    #define TT_CMAP_FLAG_OVERLAPPING  2
    
      typedef struct  TT_CMapRec_
      {
        FT_CMapRec  cmap;
        FT_Byte*    data;           /* pointer to in-memory cmap table */
        FT_Int      flags;          /* for format 4 only               */
    
      } TT_CMapRec, *TT_CMap;
    
      typedef const struct TT_CMap_ClassRec_*  TT_CMap_Class;
    
    
      typedef FT_Error
      (*TT_CMap_ValidateFunc)( FT_Byte*      data,
                               FT_Validator  valid );
    
      typedef struct  TT_CMap_ClassRec_
      {
        FT_CMap_ClassRec      clazz;
        FT_UInt               format;
        TT_CMap_ValidateFunc  validate;
        TT_CMap_Info_GetFunc  get_cmap_info;
    
      } TT_CMap_ClassRec;
    
    #ifndef FT_CONFIG_OPTION_PIC
    
    #define FT_DEFINE_TT_CMAP(class_, size_, init_, done_, char_index_,          \
        char_next_, char_var_index_, char_var_default_, variant_list_,           \
        charvariant_list_,variantchar_list_,                                     \
        format_, validate_, get_cmap_info_)                                      \
      FT_CALLBACK_TABLE_DEF                                                      \
      const TT_CMap_ClassRec class_ =                                            \
      {                                                                          \
        {size_, init_, done_, char_index_,                                       \
         char_next_, char_var_index_, char_var_default_, variant_list_,          \
         charvariant_list_, variantchar_list_},                                  \
        format_, validate_, get_cmap_info_                                       \
      };
    
    #else /* FT_CONFIG_OPTION_PIC */
    
    #define FT_DEFINE_TT_CMAP(class_, size_, init_, done_, char_index_,          \
        char_next_, char_var_index_, char_var_default_, variant_list_,           \
        charvariant_list_,variantchar_list_,                                     \
        format_, validate_, get_cmap_info_)                                      \
      void                                                                       \
      FT_Init_Class_##class_( TT_CMap_ClassRec*  clazz )                         \
      {                                                                          \
        clazz->clazz.size = size_;                                               \
        clazz->clazz.init = init_;                                               \
        clazz->clazz.done = done_;                                               \
        clazz->clazz.char_index = char_index_;                                   \
        clazz->clazz.char_next = char_next_;                                     \
        clazz->clazz.char_var_index = char_var_index_;                           \
        clazz->clazz.char_var_default = char_var_default_;                       \
        clazz->clazz.variant_list = variant_list_;                               \
        clazz->clazz.charvariant_list = charvariant_list_;                       \
        clazz->clazz.variantchar_list = variantchar_list_;                       \
        clazz->format = format_;                                                 \
        clazz->validate = validate_;                                             \
        clazz->get_cmap_info = get_cmap_info_;                                   \
      }
    
    #endif /* FT_CONFIG_OPTION_PIC */
    
      typedef struct  TT_ValidatorRec_
      {
        FT_ValidatorRec  validator;
        FT_UInt          num_glyphs;
    
      } TT_ValidatorRec, *TT_Validator;
    
    
    #define TT_VALIDATOR( x )          ((TT_Validator)( x ))
    #define TT_VALID_GLYPH_COUNT( x )  TT_VALIDATOR( x )->num_glyphs
    
    
      FT_LOCAL( FT_Error )
      tt_face_build_cmaps( TT_Face  face );
    
      /* used in tt-cmaps service */
      FT_LOCAL( FT_Error )
      tt_get_cmap_info( FT_CharMap    charmap,
                        TT_CMapInfo  *cmap_info );
    
    
    FT_END_HEADER
    
    #endif /* __TTCMAP_H__ */
    
    
    /* END */