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