zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
svttcmap.h
Go to the documentation of this 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, 2009, 2012 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 
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  {
63 
64  } TT_CMapInfo;
65 
66 
67  typedef FT_Error
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  \
94  clazz->get_cmap_info = get_cmap_info_; \
95  }
96 
97 #endif /* FT_CONFIG_OPTION_PIC */
98 
99  /* */
100 
101 
103 
104 #endif /* __SVTTCMAP_H__ */
105 
106 
107 /* END */
int FT_Error
Definition: fttypes.h:296
#define FT_DEFINE_SERVICE(name)
Definition: ftserv.h:650
signed long FT_Long
Definition: fttypes.h:238
unsigned long FT_ULong
Definition: fttypes.h:249
#define FT_END_HEADER
Definition: ftheader.h:54
struct TT_CMapInfo_ TT_CMapInfo
TT_CMapInfo * cmap_info
Definition: cffdrivr.c:405
#define FT_BEGIN_HEADER
Definition: ftheader.h:36
FT_Long format
Definition: svttcmap.h:62
FT_ULong language
Definition: svttcmap.h:61
FT_Error(* TT_CMap_Info_GetFunc)(FT_CharMap charmap, TT_CMapInfo *cmap_info)
Definition: svttcmap.h:68