PageRenderTime 13ms CodeModel.GetById 9ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/modules/freetype2/include/freetype/internal/services/svttcmap.h

http://github.com/zpao/v8monkey
C Header | 106 lines | 36 code | 25 blank | 45 comment | 0 complexity | dba87ef31d6df5a3b70dbacbbd825795 MD5 | raw file
  1/***************************************************************************/
  2/*                                                                         */
  3/*  svttcmap.h                                                             */
  4/*                                                                         */
  5/*    The FreeType TrueType/sfnt cmap extra information service.           */
  6/*                                                                         */
  7/*  Copyright 2003 by                                                      */
  8/*  Masatake YAMATO, Redhat K.K.                                           */
  9/*                                                                         */
 10/*  Copyright 2003, 2008 by                                                */
 11/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 12/*                                                                         */
 13/*  This file is part of the FreeType project, and may only be used,       */
 14/*  modified, and distributed under the terms of the FreeType project      */
 15/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
 16/*  this file you indicate that you have read the license and              */
 17/*  understand and accept it fully.                                        */
 18/*                                                                         */
 19/***************************************************************************/
 20
 21/* Development of this service is support of
 22   Information-technology Promotion Agency, Japan. */
 23
 24#ifndef __SVTTCMAP_H__
 25#define __SVTTCMAP_H__
 26
 27#include FT_INTERNAL_SERVICE_H
 28#include FT_TRUETYPE_TABLES_H
 29
 30
 31FT_BEGIN_HEADER
 32
 33
 34#define FT_SERVICE_ID_TT_CMAP "tt-cmaps"
 35
 36
 37  /*************************************************************************/
 38  /*                                                                       */
 39  /* <Struct>                                                              */
 40  /*    TT_CMapInfo                                                        */
 41  /*                                                                       */
 42  /* <Description>                                                         */
 43  /*    A structure used to store TrueType/sfnt specific cmap information  */
 44  /*    which is not covered by the generic @FT_CharMap structure.  This   */
 45  /*    structure can be accessed with the @FT_Get_TT_CMap_Info function.  */
 46  /*                                                                       */
 47  /* <Fields>                                                              */
 48  /*    language ::                                                        */
 49  /*      The language ID used in Mac fonts.  Definitions of values are in */
 50  /*      freetype/ttnameid.h.                                             */
 51  /*                                                                       */
 52  /*    format ::                                                          */
 53  /*      The cmap format.  OpenType 1.5 defines the formats 0 (byte       */
 54  /*      encoding table), 2~(high-byte mapping through table), 4~(segment */
 55  /*      mapping to delta values), 6~(trimmed table mapping), 8~(mixed    */
 56  /*      16-bit and 32-bit coverage), 10~(trimmed array), 12~(segmented   */
 57  /*      coverage), and 14 (Unicode Variation Sequences).                 */
 58  /*                                                                       */
 59  typedef struct  TT_CMapInfo_
 60  {
 61    FT_ULong language;
 62    FT_Long  format;
 63
 64  } TT_CMapInfo;
 65
 66
 67  typedef FT_Error
 68  (*TT_CMap_Info_GetFunc)( FT_CharMap    charmap,
 69                           TT_CMapInfo  *cmap_info );
 70
 71
 72  FT_DEFINE_SERVICE( TTCMaps )
 73  {
 74    TT_CMap_Info_GetFunc  get_cmap_info;
 75  };
 76
 77#ifndef FT_CONFIG_OPTION_PIC
 78
 79#define FT_DEFINE_SERVICE_TTCMAPSREC(class_, get_cmap_info_)  \
 80  static const FT_Service_TTCMapsRec class_ =                 \
 81  {                                                           \
 82    get_cmap_info_                                            \
 83  };
 84
 85#else /* FT_CONFIG_OPTION_PIC */ 
 86
 87#define FT_DEFINE_SERVICE_TTCMAPSREC(class_, get_cmap_info_) \
 88  void                                                       \
 89  FT_Init_Class_##class_( FT_Library library,                \
 90                          FT_Service_TTCMapsRec*  clazz)     \
 91  {                                                          \
 92    FT_UNUSED(library);                                      \
 93    clazz->get_cmap_info = get_cmap_info_;                   \
 94  } 
 95
 96#endif /* FT_CONFIG_OPTION_PIC */ 
 97
 98  /* */
 99
100
101FT_END_HEADER
102
103#endif /* __SVTTCMAP_H__ */
104
105
106/* END */