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 | |
25 | FT_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 | |
99 | FT_END_HEADER |
100 | |
101 | #endif /* T1CMAP_H_ */ |
102 | |
103 | |
104 | /* END */ |
105 | |