1/****************************************************************************
2 *
3 * t1cmap.h
4 *
5 * Type 1 character map support (specification).
6 *
7 * Copyright (C) 2002-2023 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 <freetype/internal/ftobjs.h>
23#include <freetype/internal/t1types.h>
24
25FT_BEGIN_HEADER
26
27
28 /*************************************************************************/
29 /*************************************************************************/
30 /***** *****/
31 /***** TYPE1 STANDARD (AND EXPERT) ENCODING CMAPS *****/
32 /***** *****/
33 /*************************************************************************/
34 /*************************************************************************/
35
36 /* standard (and expert) encoding cmaps */
37 typedef struct T1_CMapStdRec_* T1_CMapStd;
38
39 typedef struct T1_CMapStdRec_
40 {
41 FT_CMapRec cmap;
42
43 const FT_UShort* code_to_sid;
44 PS_Adobe_Std_StringsFunc sid_to_string;
45
46 FT_UInt num_glyphs;
47 const char* const* glyph_names;
48
49 } T1_CMapStdRec;
50
51
52 FT_CALLBACK_TABLE const FT_CMap_ClassRec
53 t1_cmap_standard_class_rec;
54
55 FT_CALLBACK_TABLE const FT_CMap_ClassRec
56 t1_cmap_expert_class_rec;
57
58
59 /*************************************************************************/
60 /*************************************************************************/
61 /***** *****/
62 /***** TYPE1 CUSTOM ENCODING CMAP *****/
63 /***** *****/
64 /*************************************************************************/
65 /*************************************************************************/
66
67 typedef struct T1_CMapCustomRec_* T1_CMapCustom;
68
69 typedef struct T1_CMapCustomRec_
70 {
71 FT_CMapRec cmap;
72 FT_UInt first;
73 FT_UInt count;
74 FT_UShort* indices;
75
76 } T1_CMapCustomRec;
77
78
79 FT_CALLBACK_TABLE const FT_CMap_ClassRec
80 t1_cmap_custom_class_rec;
81
82
83 /*************************************************************************/
84 /*************************************************************************/
85 /***** *****/
86 /***** TYPE1 SYNTHETIC UNICODE ENCODING CMAP *****/
87 /***** *****/
88 /*************************************************************************/
89 /*************************************************************************/
90
91 /* unicode (synthetic) cmaps */
92
93 FT_CALLBACK_TABLE const FT_CMap_ClassRec
94 t1_cmap_unicode_class_rec;
95
96 /* */
97
98
99FT_END_HEADER
100
101#endif /* T1CMAP_H_ */
102
103
104/* END */
105