xref: /inferno-os/libfreetype/t42objs.h (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1 /***************************************************************************/
2 /*                                                                         */
3 /*  t42objs.h                                                              */
4 /*                                                                         */
5 /*    Type 42 objects manager (specification).                             */
6 /*                                                                         */
7 /*  Copyright 2002 by Roberto Alameda.                                     */
8 /*                                                                         */
9 /*  This file is part of the FreeType project, and may only be used,       */
10 /*  modified, and distributed under the terms of the FreeType project      */
11 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
12 /*  this file you indicate that you have read the license and              */
13 /*  understand and accept it fully.                                        */
14 /*                                                                         */
15 /***************************************************************************/
16 
17 
18 #ifndef __T42OBJS_H__
19 #define __T42OBJS_H__
20 
21 #include <ft2build.h>
22 #include FT_FREETYPE_H
23 #include FT_TYPE1_TABLES_H
24 #include FT_INTERNAL_TYPE1_TYPES_H
25 #include FT_INTERNAL_TYPE42_TYPES_H
26 #include FT_INTERNAL_OBJECTS_H
27 #include FT_INTERNAL_DRIVER_H
28 #include FT_INTERNAL_POSTSCRIPT_NAMES_H
29 #include FT_INTERNAL_POSTSCRIPT_HINTS_H
30 
31 
32 FT_BEGIN_HEADER
33 
34 
35   /* Type42 size */
36   typedef struct  T42_SizeRec_
37   {
38     FT_SizeRec  root;
39     FT_Size     ttsize;
40 
41   } T42_SizeRec, *T42_Size;
42 
43 
44   /* Type42 slot */
45   typedef struct  T42_GlyphSlotRec_
46   {
47     FT_GlyphSlotRec  root;
48     FT_GlyphSlot     ttslot;
49 
50   } T42_GlyphSlotRec, *T42_GlyphSlot;
51 
52 
53   /* Type 42 driver */
54   typedef struct  T42_DriverRec_
55   {
56     FT_DriverRec     root;
57     FT_Driver_Class  ttclazz;
58     void*            extension_component;
59 
60   } T42_DriverRec, *T42_Driver;
61 
62 
63   /* */
64 
65 
66   FT_LOCAL( FT_Error )
67   T42_Face_Init( FT_Stream      stream,
68                  T42_Face       face,
69                  FT_Int         face_index,
70                  FT_Int         num_params,
71                  FT_Parameter*  params );
72 
73 
74   FT_LOCAL( void )
75   T42_Face_Done( T42_Face  face );
76 
77 
78   FT_LOCAL( FT_Error )
79   T42_Size_Init( T42_Size  size );
80 
81 
82   FT_LOCAL( FT_Error )
83   T42_Size_SetChars( T42_Size    size,
84                      FT_F26Dot6  char_width,
85                      FT_F26Dot6  char_height,
86                      FT_UInt     horz_resolution,
87                      FT_UInt     vert_resolution );
88 
89   FT_LOCAL( FT_Error )
90   T42_Size_SetPixels( T42_Size  size,
91                       FT_UInt   pixel_width,
92                       FT_UInt   pixel_height );
93 
94   FT_LOCAL( void )
95   T42_Size_Done( T42_Size  size );
96 
97 
98   FT_LOCAL( FT_Error )
99   T42_GlyphSlot_Init( T42_GlyphSlot  slot );
100 
101 
102   FT_LOCAL( FT_Error )
103   T42_GlyphSlot_Load( FT_GlyphSlot  glyph,
104                       FT_Size       size,
105                       FT_Int        glyph_index,
106                       FT_Int32      load_flags );
107 
108   FT_LOCAL( void )
109   T42_GlyphSlot_Done( T42_GlyphSlot slot );
110 
111 
112   FT_LOCAL( FT_Error )
113   T42_Driver_Init( T42_Driver  driver );
114 
115   FT_LOCAL( void )
116   T42_Driver_Done( T42_Driver  driver );
117 
118  /* */
119 
120 FT_END_HEADER
121 
122 
123 #endif /* __T42OBJS_H__ */
124 
125 
126 /* END */
127