]> git.saurik.com Git - wxWidgets.git/blob - src/freetype/cff/t2objs.h
clipboard reading
[wxWidgets.git] / src / freetype / cff / t2objs.h
1 /***************************************************************************/
2 /* */
3 /* t2objs.h */
4 /* */
5 /* OpenType 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 T2OBJS_H
20 #define T2OBJS_H
21
22
23 #include <freetype/internal/ftobjs.h>
24 #include <freetype/internal/t2types.h>
25 #include <freetype/internal/t2errors.h>
26 #include <freetype/internal/psnames.h>
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32
33 /*************************************************************************/
34 /* */
35 /* <Type> */
36 /* T2_Driver */
37 /* */
38 /* <Description> */
39 /* A handle to an OpenType driver object. */
40 /* */
41 typedef struct T2_DriverRec_* T2_Driver;
42
43 typedef TT_Face T2_Face;
44
45
46 /*************************************************************************/
47 /* */
48 /* <Type> */
49 /* T2_Size */
50 /* */
51 /* <Description> */
52 /* A handle to an OpenType size object. */
53 /* */
54 typedef FT_Size T2_Size;
55
56
57 /*************************************************************************/
58 /* */
59 /* <Type> */
60 /* T2_GlyphSlot */
61 /* */
62 /* <Description> */
63 /* A handle to an OpenType glyph slot object. */
64 /* */
65 typedef struct T2_GlyphSlotRec_
66 {
67 FT_GlyphSlotRec root;
68
69 FT_Bool hint;
70 FT_Bool scaled;
71
72 FT_Fixed x_scale;
73 FT_Fixed y_scale;
74
75 } T2_GlyphSlotRec, *T2_GlyphSlot;
76
77
78
79 /*************************************************************************/
80 /* */
81 /* Subglyph transformation record. */
82 /* */
83 typedef struct T2_Transform_
84 {
85 FT_Fixed xx, xy; /* transformation matrix coefficients */
86 FT_Fixed yx, yy;
87 FT_F26Dot6 ox, oy; /* offsets */
88
89 } T2_Transform;
90
91
92 /* this is only used in the case of a pure CFF font with no charmap */
93 typedef struct T2_CharMapRec_
94 {
95 TT_CharMapRec root;
96 PS_Unicodes unicodes;
97
98 } T2_CharMapRec, *T2_CharMap;
99
100
101 /***********************************************************************/
102 /* */
103 /* TrueType driver class. */
104 /* */
105 typedef struct T2_DriverRec_
106 {
107 FT_DriverRec root;
108
109 void* extension_component;
110
111 } T2_DriverRec;
112
113
114 /*************************************************************************/
115 /* */
116 /* Face functions */
117 /* */
118 LOCAL_DEF
119 FT_Error T2_Init_Face( FT_Stream stream,
120 T2_Face face,
121 FT_Int face_index,
122 FT_Int num_params,
123 FT_Parameter* params );
124
125 LOCAL_DEF
126 void T2_Done_Face( T2_Face face );
127
128
129 /*************************************************************************/
130 /* */
131 /* Driver functions */
132 /* */
133 LOCAL_DEF
134 FT_Error T2_Init_Driver( T2_Driver driver );
135
136 LOCAL_DEF
137 void T2_Done_Driver( T2_Driver driver );
138
139
140 #ifdef __cplusplus
141 }
142 #endif
143
144
145 #endif /* T2OBJS_H */
146
147
148 /* END */