Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4680 right-hear 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
 
31
FT_BEGIN_HEADER
32
 
33
 
34
#define FT_SERVICE_ID_TT_CMAP "tt-cmaps"
35
 
36
 
37
  /*************************************************************************/
38
  /*                                                                       */
39
  /*                                                               */
40
  /*    TT_CMapInfo                                                        */
41
  /*                                                                       */
42
  /*                                                          */
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
  /*                                                               */
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
 
101
FT_END_HEADER
102
 
103
#endif /* __SVTTCMAP_H__ */
104
 
105
 
106
/* END */