1 /***************************************************************************/
5 /* Experimental Type 1 objects manager (specification). */
7 /* Copyright 1996-2000 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 /***************************************************************************/
22 #include <freetype/internal/ftobjs.h>
23 #include <freetype/config/ftconfig.h>
24 #include <freetype/internal/t1errors.h>
25 #include <freetype/internal/t1types.h>
31 /* The following structures must be defined by the hinter */
32 typedef struct Z1_Size_Hints_ Z1_Size_Hints
;
33 typedef struct Z1_Glyph_Hints_ Z1_Glyph_Hints
;
36 /*************************************************************************/
42 /* A handle to a Type 1 driver object. */
44 typedef struct Z1_DriverRec_
*Z1_Driver
;
47 /*************************************************************************/
53 /* A handle to a Type 1 size object. */
55 typedef struct Z1_SizeRec_
* Z1_Size
;
58 /*************************************************************************/
64 /* A handle to a Type 1 glyph slot object. */
66 typedef struct Z1_GlyphSlotRec_
* Z1_GlyphSlot
;
69 /*************************************************************************/
75 /* A handle to a Type 1 character mapping object. */
78 /* The Type 1 format doesn't use a charmap but an encoding table. */
79 /* The driver is responsible for making up charmap objects */
80 /* corresponding to these tables. */
82 typedef struct Z1_CharMapRec_
* Z1_CharMap
;
85 /*************************************************************************/
87 /* HERE BEGINS THE TYPE1 SPECIFIC STUFF */
89 /*************************************************************************/
92 /*************************************************************************/
98 /* Type 1 size record. */
100 typedef struct Z1_SizeRec_
104 Z1_Size_Hints
* hints
; /* defined in the hinter. This allows */
105 /* us to experiment with different */
106 /* hinting schemes without having to */
107 /* change `z1objs' each time. */
111 /*************************************************************************/
114 /* Z1_GlyphSlotRec */
117 /* Type 1 glyph slot record. */
119 typedef struct Z1_GlyphSlotRec_
121 FT_GlyphSlotRec root
;
132 Z1_Glyph_Hints
* hints
; /* defined in the hinter */
138 FT_Error
Z1_Init_Face( FT_Stream stream
,
142 FT_Parameter
* params
);
145 void Z1_Done_Face( T1_Face face
);
148 FT_Error
Z1_Init_Driver( Z1_Driver driver
);
151 void Z1_Done_Driver( Z1_Driver driver
);
158 #endif /* Z1OBJS_H */