1 /****************************************************************************
5 * The FreeType TrueType/sfnt cmap extra information service.
7 * Copyright (C) 2003-2023 by
8 * Masatake YAMATO, Redhat K.K.,
9 * David Turner, Robert Wilhelm, and Werner Lemberg.
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.
19 /* Development of this service is support of
20 Information-technology Promotion Agency, Japan. */
25 #include <freetype/internal/ftserv.h>
26 #include <freetype/tttables.h>
32 #define FT_SERVICE_ID_TT_CMAP "tt-cmaps"
35 /**************************************************************************
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.
47 * The language ID used in Mac fonts. Definitions of values are in
51 * The cmap format. OpenType 1.6 defines the formats 0 (byte encoding
52 * table), 2~(high-byte mapping through table), 4~(segment mapping to
53 * delta values), 6~(trimmed table mapping), 8~(mixed 16-bit and 32-bit
54 * coverage), 10~(trimmed array), 12~(segmented coverage), 13~(last
55 * resort font), and 14 (Unicode Variation Sequences).
57 typedef struct TT_CMapInfo_
66 (*TT_CMap_Info_GetFunc)( FT_CharMap charmap,
67 TT_CMapInfo *cmap_info );
70 FT_DEFINE_SERVICE( TTCMaps )
72 TT_CMap_Info_GetFunc get_cmap_info;
76 #define FT_DEFINE_SERVICE_TTCMAPSREC( class_, get_cmap_info_ ) \
77 static const FT_Service_TTCMapsRec class_ = \
87 #endif /* SVTTCMAP_H_ */