zenilib: zenilib/jni/external/freetype2/include/freetype/internal/services/svttcmap.h Source File

zenilib 0.5.3.0

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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
31 FT_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 \
94 clazz->get_cmap_info = get_cmap_info_; \
95 }
96
97 #endif /* FT_CONFIG_OPTION_PIC */
98
99 /* */
100
101
102 FT_END_HEADER
103
104 #endif /* __SVTTCMAP_H__ */
105
106
107 /* END */
FT_Error
int FT_Error
Definition: fttypes.h:296
FT_DEFINE_SERVICE
#define FT_DEFINE_SERVICE(name)
Definition: ftserv.h:650
TT_CMapInfo_
Definition: svttcmap.h:59
FT_Long
signed long FT_Long
Definition: fttypes.h:238
FT_ULong
unsigned long FT_ULong
Definition: fttypes.h:249
FT_END_HEADER
#define FT_END_HEADER
Definition: ftheader.h:54
TT_CMapInfo
struct TT_CMapInfo_ TT_CMapInfo
cmap_info
TT_CMapInfo * cmap_info
Definition: cffdrivr.c:405
FT_BEGIN_HEADER
#define FT_BEGIN_HEADER
Definition: ftheader.h:36
TT_CMapInfo_::format
FT_Long format
Definition: svttcmap.h:62
FT_CharMapRec_
Definition: freetype.h:736
TT_CMapInfo_::language
FT_ULong language
Definition: svttcmap.h:61
TT_CMap_Info_GetFunc
FT_Error(* TT_CMap_Info_GetFunc)(FT_CharMap charmap, TT_CMapInfo *cmap_info)
Definition: svttcmap.h:68