Bringing apdf from vendor into main branch.
[AROS-Contrib.git] / apdf / freetype2 / psaux / t1cmap.h
blob0d68c999c125dced4531eee9edab6bedd6f89f8a
1 /***************************************************************************/
2 /* */
3 /* t1cmap.h */
4 /* */
5 /* Type 1 character map support (specification). */
6 /* */
7 /* Copyright 2002 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 /***************************************************************************/
19 #ifndef __T1CMAP_H__
20 #define __T1CMAP_H__
22 #include <ft2build.h>
23 #include FT_INTERNAL_OBJECTS_H
24 #include FT_INTERNAL_TYPE1_TYPES_H
25 #include FT_INTERNAL_POSTSCRIPT_NAMES_H
27 FT_BEGIN_HEADER
30 /*************************************************************************/
31 /*************************************************************************/
32 /***** *****/
33 /***** TYPE1 STANDARD (AND EXPERT) ENCODING CMAPS *****/
34 /***** *****/
35 /*************************************************************************/
36 /*************************************************************************/
38 /* standard (and expert) encoding cmaps */
39 typedef struct T1_CMapStdRec_* T1_CMapStd;
41 typedef struct T1_CMapStdRec_
43 FT_CMapRec cmap;
45 const FT_UShort* code_to_sid;
46 PS_Adobe_Std_Strings_Func sid_to_string;
48 FT_UInt num_glyphs;
49 const char* const* glyph_names;
51 } T1_CMapStdRec;
54 FT_CALLBACK_TABLE const FT_CMap_ClassRec
55 t1_cmap_standard_class_rec;
57 FT_CALLBACK_TABLE const FT_CMap_ClassRec
58 t1_cmap_expert_class_rec;
61 /*************************************************************************/
62 /*************************************************************************/
63 /***** *****/
64 /***** TYPE1 CUSTOM ENCODING CMAP *****/
65 /***** *****/
66 /*************************************************************************/
67 /*************************************************************************/
69 typedef struct T1_CMapCustomRec_* T1_CMapCustom;
71 typedef struct T1_CMapCustomRec_
73 FT_CMapRec cmap;
74 FT_UInt first;
75 FT_UInt count;
76 FT_UShort* indices;
78 } T1_CMapCustomRec;
81 FT_CALLBACK_TABLE const FT_CMap_ClassRec
82 t1_cmap_custom_class_rec;
85 /*************************************************************************/
86 /*************************************************************************/
87 /***** *****/
88 /***** TYPE1 SYNTHETIC UNICODE ENCODING CMAP *****/
89 /***** *****/
90 /*************************************************************************/
91 /*************************************************************************/
93 /* unicode (syntehtic) cmaps */
94 typedef struct T1_CMapUnicodeRec_* T1_CMapUnicode;
96 typedef struct T1_CMapUniPairRec_
98 FT_UInt32 unicode;
99 FT_UInt gindex;
101 } T1_CMapUniPairRec, *T1_CMapUniPair;
104 typedef struct T1_CMapUnicodeRec_
106 FT_CMapRec cmap;
107 FT_UInt num_pairs;
108 T1_CMapUniPair pairs;
110 } T1_CMapUnicodeRec;
113 FT_CALLBACK_TABLE const FT_CMap_ClassRec
114 t1_cmap_unicode_class_rec;
116 /* */
119 FT_END_HEADER
121 #endif /* __T1CMAP_H__ */
124 /* END */