blob: 04db2cd9a5eb3f9c5ee93e1259c96880f4b0bb88 [file] [log] [blame]
David Turner9f95bab2002-06-07 07:23:06 +00001#ifndef __TYPE42_OBJS_H__
2#define __TYPE42_OBJS_H__
3
4#include <ft2build.h>
5#include FT_FREETYPE_H
6#include FT_TYPE1_TABLES_H
7#include FT_INTERNAL_TYPE1_TYPES_H
8#include FT_INTERNAL_OBJECTS_H
9#include FT_INTERNAL_DRIVER_H
10#include FT_INTERNAL_POSTSCRIPT_NAMES_H
11#include FT_INTERNAL_POSTSCRIPT_HINTS_H
12
13FT_BEGIN_HEADER
14
15 /* Type42 face */
16 typedef struct T42_FaceRec_
17 {
18 FT_FaceRec root;
19 T1_FontRec type1;
20 const void* psnames;
21 const void* psaux;
22 const void* afm_data;
23
24 FT_CharMapRec charmaprecs[2];
25 FT_CharMap charmaps[2];
26 PS_Unicodes unicode_map;
27
28 FT_Byte* ttf_data;
29 FT_ULong ttf_size;
30 FT_Face ttf_face;
31
32 } T42_FaceRec, *T42_Face;
33
34
35
36 /* Type42 size */
37 typedef struct T42_SizeRec_
38 {
39 FT_SizeRec root;
40 FT_Size ttsize;
41
42 } T42_SizeRec, *T42_Size;
43
44
45 /* Type42 slot */
46 typedef struct T42_GlyphSlotRec_
47 {
48 FT_GlyphSlotRec root;
49 FT_GlyphSlot ttslot;
50
51 } T42_GlyphSlotRec, *T42_GlyphSlot;
52
53
54 /* Type 42 driver */
55 typedef struct T42_DriverRec_
56 {
57 FT_DriverRec root;
58 FT_Driver_Class ttclazz;
59 void* extension_component;
60
61 } T42_DriverRec, *T42_Driver;
62
63 /* */
64
65 FT_LOCAL( FT_Error )
66 T42_Face_Init( FT_Stream stream,
67 T42_Face face,
68 FT_Int face_index,
69 FT_Int num_params,
70 FT_Parameter* params );
71
72
73 FT_LOCAL( void )
74 T42_Face_Done( T42_Face face );
75
76
77 FT_LOCAL( FT_Error )
78 T42_Size_Init( T42_Size size );
79
80
81 FT_LOCAL( FT_Error )
82 T42_Size_SetChars( T42_Size size,
83 FT_F26Dot6 char_width,
84 FT_F26Dot6 char_height,
85 FT_UInt horz_resolution,
86 FT_UInt vert_resolution );
87
88 FT_LOCAL( FT_Error )
89 T42_Size_SetPixels( T42_Size size,
90 FT_UInt pixel_width,
91 FT_UInt pixel_height );
92
93 FT_LOCAL( void )
94 T42_Size_Done( T42_Size size );
95
96
97 FT_LOCAL( FT_Error )
98 T42_GlyphSlot_Init( T42_GlyphSlot slot );
99
100
101 FT_LOCAL( FT_Error )
102 T42_GlyphSlot_Load( FT_GlyphSlot glyph,
103 FT_Size size,
104 FT_Int glyph_index,
105 FT_Int load_flags );
106
107 FT_LOCAL( void )
108 T42_GlyphSlot_Done( T42_GlyphSlot slot );
109
110
111 FT_LOCAL( FT_UInt )
112 T42_CMap_CharIndex( FT_CharMap charmap,
113 FT_Long charcode );
114
115 FT_LOCAL( FT_Long )
116 T42_CMap_CharNext( FT_CharMap charmap,
117 FT_Long charcode );
118
119
120 FT_LOCAL( FT_Error )
121 T42_Driver_Init( T42_Driver driver );
122
123 FT_LOCAL( void )
124 T42_Driver_Done( T42_Driver driver );
125
126 /* */
127
128FT_END_HEADER
129
130#endif /* __TYPE42_OBJS_H__ */