1 /***************************************************************************/
5 /* Type 1 objects manager (specification). */
7 /* Copyright 1996-2001, 2002, 2006 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
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. */
16 /***************************************************************************/
24 #include FT_INTERNAL_OBJECTS_H
25 #include FT_CONFIG_CONFIG_H
26 #include FT_INTERNAL_TYPE1_TYPES_H
32 /* The following structures must be defined by the hinter */
33 typedef struct T1_Size_Hints_ T1_Size_Hints
;
34 typedef struct T1_Glyph_Hints_ T1_Glyph_Hints
;
37 /*************************************************************************/
43 /* A handle to a Type 1 driver object. */
45 typedef struct T1_DriverRec_
*T1_Driver
;
48 /*************************************************************************/
54 /* A handle to a Type 1 size object. */
56 typedef struct T1_SizeRec_
* T1_Size
;
59 /*************************************************************************/
65 /* A handle to a Type 1 glyph slot object. */
67 typedef struct T1_GlyphSlotRec_
* T1_GlyphSlot
;
70 /*************************************************************************/
76 /* A handle to a Type 1 character mapping object. */
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. */
83 typedef struct T1_CharMapRec_
* T1_CharMap
;
86 /*************************************************************************/
88 /* HERE BEGINS THE TYPE1 SPECIFIC STUFF */
90 /*************************************************************************/
93 /*************************************************************************/
99 /* Type 1 size record. */
101 typedef struct T1_SizeRec_
109 T1_Size_Done( T1_Size size
);
112 T1_Size_Request( T1_Size size
,
113 FT_Size_Request req
);
116 T1_Size_Init( T1_Size size
);
119 /*************************************************************************/
122 /* T1_GlyphSlotRec */
125 /* Type 1 glyph slot record. */
127 typedef struct T1_GlyphSlotRec_
129 FT_GlyphSlotRec root
;
144 T1_Face_Init( FT_Stream stream
,
148 FT_Parameter
* params
);
151 T1_Face_Done( T1_Face face
);
154 T1_GlyphSlot_Init( T1_GlyphSlot slot
);
157 T1_GlyphSlot_Done( T1_GlyphSlot slot
);
160 T1_Driver_Init( T1_Driver driver
);
163 T1_Driver_Done( T1_Driver driver
);
168 #endif /* __T1OBJS_H__ */