]> git.saurik.com Git - wxWidgets.git/blob - src/freetype/cid/cidobjs.h
wxRTTI for wxPopupWindow in wxMGL
[wxWidgets.git] / src / freetype / cid / cidobjs.h
1 /***************************************************************************/
2 /* */
3 /* cidobjs.h */
4 /* */
5 /* CID objects manager (specification). */
6 /* */
7 /* Copyright 1996-2000 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 CIDOBJS_H
20 #define CIDOBJS_H
21
22 #include <freetype/internal/ftobjs.h>
23 #include <freetype/config/ftconfig.h>
24 #include <freetype/internal/t1errors.h>
25 #include <freetype/internal/t1types.h>
26
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32
33 /* The following structures must be defined by the hinter */
34 typedef struct CID_Size_Hints_ CID_Size_Hints;
35 typedef struct CID_Glyph_Hints_ CID_Glyph_Hints;
36
37
38 /*************************************************************************/
39 /* */
40 /* <Type> */
41 /* CID_Driver */
42 /* */
43 /* <Description> */
44 /* A handle to a Type 1 driver object. */
45 /* */
46 typedef struct CID_DriverRec_* CID_Driver;
47
48
49 /*************************************************************************/
50 /* */
51 /* <Type> */
52 /* CID_Size */
53 /* */
54 /* <Description> */
55 /* A handle to a Type 1 size object. */
56 /* */
57 typedef struct CID_SizeRec_* CID_Size;
58
59
60 /*************************************************************************/
61 /* */
62 /* <Type> */
63 /* CID_GlyphSlot */
64 /* */
65 /* <Description> */
66 /* A handle to a Type 1 glyph slot object. */
67 /* */
68 typedef struct CID_GlyphSlotRec_* CID_GlyphSlot;
69
70
71 /*************************************************************************/
72 /* */
73 /* <Type> */
74 /* CID_CharMap */
75 /* */
76 /* <Description> */
77 /* A handle to a Type 1 character mapping object. */
78 /* */
79 /* <Note> */
80 /* The Type 1 format doesn't use a charmap but an encoding table. */
81 /* The driver is responsible for making up charmap objects */
82 /* corresponding to these tables. */
83 /* */
84 typedef struct CID_CharMapRec_* CID_CharMap;
85
86
87 /*************************************************************************/
88 /* */
89 /* HERE BEGINS THE TYPE 1 SPECIFIC STUFF */
90 /* */
91 /*************************************************************************/
92
93
94 typedef struct CID_SizeRec_
95 {
96 FT_SizeRec root;
97 FT_Bool valid;
98
99 } CID_SizeRec;
100
101
102 typedef struct CID_GlyphSlotRec_
103 {
104 FT_GlyphSlotRec root;
105
106 FT_Bool hint;
107 FT_Bool scaled;
108
109 FT_Fixed x_scale;
110 FT_Fixed y_scale;
111
112 } CID_GlyphSlotRec;
113
114
115 LOCAL_DEF
116 FT_Error CID_Init_Face( FT_Stream stream,
117 CID_Face face,
118 FT_Int face_index,
119 FT_Int num_params,
120 FT_Parameter* params );
121
122 LOCAL_DEF
123 void CID_Done_Face( CID_Face face );
124
125
126 LOCAL_DEF
127 FT_Error CID_Init_Driver( CID_Driver driver );
128
129 LOCAL_DEF
130 void CID_Done_Driver( CID_Driver driver );
131
132
133 #ifdef __cplusplus
134 }
135 #endif
136
137
138 #endif /* CIDOBJS_H */
139
140
141 /* END */