[FREETYPE] Update to v2.6.3. CORE-10964
[reactos.git] / reactos / lib / 3rdparty / freetype / src / cid / cidobjs.h
1 /***************************************************************************/
2 /* */
3 /* cidobjs.h */
4 /* */
5 /* CID objects manager (specification). */
6 /* */
7 /* Copyright 1996-2016 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
23 #include <ft2build.h>
24 #include FT_INTERNAL_OBJECTS_H
25 #include FT_CONFIG_CONFIG_H
26 #include FT_INTERNAL_TYPE1_TYPES_H
27
28
29 FT_BEGIN_HEADER
30
31
32 /* The following structures must be defined by the hinter */
33 typedef struct CID_Size_Hints_ CID_Size_Hints;
34 typedef struct CID_Glyph_Hints_ CID_Glyph_Hints;
35
36
37 /*************************************************************************/
38 /* */
39 /* <Type> */
40 /* CID_Driver */
41 /* */
42 /* <Description> */
43 /* A handle to a Type 1 driver object. */
44 /* */
45 typedef struct CID_DriverRec_* CID_Driver;
46
47
48 /*************************************************************************/
49 /* */
50 /* <Type> */
51 /* CID_Size */
52 /* */
53 /* <Description> */
54 /* A handle to a Type 1 size object. */
55 /* */
56 typedef struct CID_SizeRec_* CID_Size;
57
58
59 /*************************************************************************/
60 /* */
61 /* <Type> */
62 /* CID_GlyphSlot */
63 /* */
64 /* <Description> */
65 /* A handle to a Type 1 glyph slot object. */
66 /* */
67 typedef struct CID_GlyphSlotRec_* CID_GlyphSlot;
68
69
70 /*************************************************************************/
71 /* */
72 /* <Type> */
73 /* CID_CharMap */
74 /* */
75 /* <Description> */
76 /* A handle to a Type 1 character mapping object. */
77 /* */
78 /* <Note> */
79 /* The Type 1 format doesn't use a charmap but an encoding table. */
80 /* The driver is responsible for making up charmap objects */
81 /* corresponding to these tables. */
82 /* */
83 typedef struct CID_CharMapRec_* CID_CharMap;
84
85
86 /*************************************************************************/
87 /* */
88 /* HERE BEGINS THE TYPE 1 SPECIFIC STUFF */
89 /* */
90 /*************************************************************************/
91
92
93 typedef struct CID_SizeRec_
94 {
95 FT_SizeRec root;
96 FT_Bool valid;
97
98 } CID_SizeRec;
99
100
101 typedef struct CID_GlyphSlotRec_
102 {
103 FT_GlyphSlotRec root;
104
105 FT_Bool hint;
106 FT_Bool scaled;
107
108 FT_Fixed x_scale;
109 FT_Fixed y_scale;
110
111 } CID_GlyphSlotRec;
112
113
114 FT_LOCAL( void )
115 cid_slot_done( FT_GlyphSlot slot );
116
117 FT_LOCAL( FT_Error )
118 cid_slot_init( FT_GlyphSlot slot );
119
120
121 FT_LOCAL( void )
122 cid_size_done( FT_Size size ); /* CID_Size */
123
124 FT_LOCAL( FT_Error )
125 cid_size_init( FT_Size size ); /* CID_Size */
126
127 FT_LOCAL( FT_Error )
128 cid_size_request( FT_Size size, /* CID_Size */
129 FT_Size_Request req );
130
131 FT_LOCAL( FT_Error )
132 cid_face_init( FT_Stream stream,
133 FT_Face face, /* CID_Face */
134 FT_Int face_index,
135 FT_Int num_params,
136 FT_Parameter* params );
137
138 FT_LOCAL( void )
139 cid_face_done( FT_Face face ); /* CID_Face */
140
141
142 FT_LOCAL( FT_Error )
143 cid_driver_init( FT_Module driver );
144
145 FT_LOCAL( void )
146 cid_driver_done( FT_Module driver );
147
148
149 FT_END_HEADER
150
151 #endif /* CIDOBJS_H_ */
152
153
154 /* END */