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