OLD | NEW |
| (Empty) |
1 /***************************************************************************/ | |
2 /* */ | |
3 /* cffobjs.h */ | |
4 /* */ | |
5 /* OpenType objects manager (specification). */ | |
6 /* */ | |
7 /* Copyright 1996-2004, 2006-2008, 2013 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 __CFFOBJS_H__ | |
20 #define __CFFOBJS_H__ | |
21 | |
22 | |
23 #include "../../include/ft2build.h" | |
24 #include "../../include/freetype/internal/ftobjs.h" | |
25 #include "cfftypes.h" | |
26 #include "../../include/freetype/internal/tttypes.h" | |
27 #include "../../include/freetype/internal/services/svpscmap.h" | |
28 #include "../../include/freetype/internal/pshints.h" | |
29 | |
30 | |
31 FT_BEGIN_HEADER | |
32 | |
33 | |
34 /*************************************************************************/ | |
35 /* */ | |
36 /* <Type> */ | |
37 /* CFF_Driver */ | |
38 /* */ | |
39 /* <Description> */ | |
40 /* A handle to an OpenType driver object. */ | |
41 /* */ | |
42 typedef struct CFF_DriverRec_* CFF_Driver; | |
43 | |
44 typedef TT_Face CFF_Face; | |
45 | |
46 | |
47 /*************************************************************************/ | |
48 /* */ | |
49 /* <Type> */ | |
50 /* CFF_Size */ | |
51 /* */ | |
52 /* <Description> */ | |
53 /* A handle to an OpenType size object. */ | |
54 /* */ | |
55 typedef struct CFF_SizeRec_ | |
56 { | |
57 FT_SizeRec root; | |
58 FT_ULong strike_index; /* 0xFFFFFFFF to indicate invalid */ | |
59 | |
60 } CFF_SizeRec, *CFF_Size; | |
61 | |
62 | |
63 /*************************************************************************/ | |
64 /* */ | |
65 /* <Type> */ | |
66 /* CFF_GlyphSlot */ | |
67 /* */ | |
68 /* <Description> */ | |
69 /* A handle to an OpenType glyph slot object. */ | |
70 /* */ | |
71 typedef struct CFF_GlyphSlotRec_ | |
72 { | |
73 FT_GlyphSlotRec root; | |
74 | |
75 FT_Bool hint; | |
76 FT_Bool scaled; | |
77 | |
78 FT_Fixed x_scale; | |
79 FT_Fixed y_scale; | |
80 | |
81 } CFF_GlyphSlotRec, *CFF_GlyphSlot; | |
82 | |
83 | |
84 /*************************************************************************/ | |
85 /* */ | |
86 /* <Type> */ | |
87 /* CFF_Internal */ | |
88 /* */ | |
89 /* <Description> */ | |
90 /* The interface to the `internal' field of `FT_Size'. */ | |
91 /* */ | |
92 typedef struct CFF_InternalRec_ | |
93 { | |
94 PSH_Globals topfont; | |
95 PSH_Globals subfonts[CFF_MAX_CID_FONTS]; | |
96 | |
97 } CFF_InternalRec, *CFF_Internal; | |
98 | |
99 | |
100 /*************************************************************************/ | |
101 /* */ | |
102 /* Subglyph transformation record. */ | |
103 /* */ | |
104 typedef struct CFF_Transform_ | |
105 { | |
106 FT_Fixed xx, xy; /* transformation matrix coefficients */ | |
107 FT_Fixed yx, yy; | |
108 FT_F26Dot6 ox, oy; /* offsets */ | |
109 | |
110 } CFF_Transform; | |
111 | |
112 | |
113 /***********************************************************************/ | |
114 /* */ | |
115 /* CFF driver class. */ | |
116 /* */ | |
117 typedef struct CFF_DriverRec_ | |
118 { | |
119 FT_DriverRec root; | |
120 | |
121 FT_UInt hinting_engine; | |
122 FT_Bool no_stem_darkening; | |
123 | |
124 } CFF_DriverRec; | |
125 | |
126 | |
127 FT_LOCAL( FT_Error ) | |
128 cff_size_init( FT_Size size ); /* CFF_Size */ | |
129 | |
130 FT_LOCAL( void ) | |
131 cff_size_done( FT_Size size ); /* CFF_Size */ | |
132 | |
133 FT_LOCAL( FT_Error ) | |
134 cff_size_request( FT_Size size, | |
135 FT_Size_Request req ); | |
136 | |
137 #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS | |
138 | |
139 FT_LOCAL( FT_Error ) | |
140 cff_size_select( FT_Size size, | |
141 FT_ULong strike_index ); | |
142 | |
143 #endif | |
144 | |
145 FT_LOCAL( void ) | |
146 cff_slot_done( FT_GlyphSlot slot ); | |
147 | |
148 FT_LOCAL( FT_Error ) | |
149 cff_slot_init( FT_GlyphSlot slot ); | |
150 | |
151 | |
152 /*************************************************************************/ | |
153 /* */ | |
154 /* Face functions */ | |
155 /* */ | |
156 FT_LOCAL( FT_Error ) | |
157 cff_face_init( FT_Stream stream, | |
158 FT_Face face, /* CFF_Face */ | |
159 FT_Int face_index, | |
160 FT_Int num_params, | |
161 FT_Parameter* params ); | |
162 | |
163 FT_LOCAL( void ) | |
164 cff_face_done( FT_Face face ); /* CFF_Face */ | |
165 | |
166 | |
167 /*************************************************************************/ | |
168 /* */ | |
169 /* Driver functions */ | |
170 /* */ | |
171 FT_LOCAL( FT_Error ) | |
172 cff_driver_init( FT_Module module ); /* CFF_Driver */ | |
173 | |
174 FT_LOCAL( void ) | |
175 cff_driver_done( FT_Module module ); /* CFF_Driver */ | |
176 | |
177 | |
178 FT_END_HEADER | |
179 | |
180 #endif /* __CFFOBJS_H__ */ | |
181 | |
182 | |
183 /* END */ | |
OLD | NEW |