1/***************************************************************************/
2/* */
3/* t1cmap.h */
4/* */
5/* Type 1 character map support (specification). */
6/* */
7/* Copyright 2002-2018 by */
8/* David Turner, Robert Wilhelm, and Werner Lemberg. */
9/* */
10/* This file is part of the FreeType project, and may only be used, */
11/* modified, and distributed under the terms of the FreeType project */
12/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13/* this file you indicate that you have read the license and */
14/* understand and accept it fully. */
15/* */
16/***************************************************************************/
17
18
19#ifndef T1CMAP_H_
20#define T1CMAP_H_
21
22#include <ft2build.h>
23#include FT_INTERNAL_OBJECTS_H
24#include FT_INTERNAL_TYPE1_TYPES_H
25
26FT_BEGIN_HEADER
27
28
29 /*************************************************************************/
30 /*************************************************************************/
31 /***** *****/
32 /***** TYPE1 STANDARD (AND EXPERT) ENCODING CMAPS *****/
33 /***** *****/
34 /*************************************************************************/
35 /*************************************************************************/
36
37 /* standard (and expert) encoding cmaps */
38 typedef struct T1_CMapStdRec_* T1_CMapStd;
39
40 typedef struct T1_CMapStdRec_
41 {
42 FT_CMapRec cmap;
43
44 const FT_UShort* code_to_sid;
45 PS_Adobe_Std_StringsFunc sid_to_string;
46
47 FT_UInt num_glyphs;
48 const char* const* glyph_names;
49
50 } T1_CMapStdRec;
51
52
53 FT_CALLBACK_TABLE const FT_CMap_ClassRec
54 t1_cmap_standard_class_rec;
55
56 FT_CALLBACK_TABLE const FT_CMap_ClassRec
57 t1_cmap_expert_class_rec;
58
59
60 /*************************************************************************/
61 /*************************************************************************/
62 /***** *****/
63 /***** TYPE1 CUSTOM ENCODING CMAP *****/
64 /***** *****/
65 /*************************************************************************/
66 /*************************************************************************/
67
68 typedef struct T1_CMapCustomRec_* T1_CMapCustom;
69
70 typedef struct T1_CMapCustomRec_
71 {
72 FT_CMapRec cmap;
73 FT_UInt first;
74 FT_UInt count;
75 FT_UShort* indices;
76
77 } T1_CMapCustomRec;
78
79
80 FT_CALLBACK_TABLE const FT_CMap_ClassRec
81 t1_cmap_custom_class_rec;
82
83
84 /*************************************************************************/
85 /*************************************************************************/
86 /***** *****/
87 /***** TYPE1 SYNTHETIC UNICODE ENCODING CMAP *****/
88 /***** *****/
89 /*************************************************************************/
90 /*************************************************************************/
91
92 /* unicode (synthetic) cmaps */
93
94 FT_CALLBACK_TABLE const FT_CMap_ClassRec
95 t1_cmap_unicode_class_rec;
96
97 /* */
98
99
100FT_END_HEADER
101
102#endif /* T1CMAP_H_ */
103
104
105/* END */
106