]>
Commit | Line | Data |
---|---|---|
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 */ |