1/****************************************************************************
2 *
3 * t1cmap.h
4 *
5 * Type 1 character map support (specification).
6 *
7 * Copyright (C) 2002-2019 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