Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3918 Serge 1
/***************************************************************************/
2
/*                                                                         */
3
/*  psobjs.h                                                               */
4
/*                                                                         */
5
/*    Auxiliary functions for PostScript fonts (specification).            */
6
/*                                                                         */
7
/*  Copyright 1996-2001, 2002, 2003 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 __PSOBJS_H__
20
#define __PSOBJS_H__
21
 
22
 
23
#include 
24
#include FT_INTERNAL_POSTSCRIPT_AUX_H
25
 
26
 
27
FT_BEGIN_HEADER
28
 
29
 
30
  /*************************************************************************/
31
  /*************************************************************************/
32
  /*****                                                               *****/
33
  /*****                             T1_TABLE                          *****/
34
  /*****                                                               *****/
35
  /*************************************************************************/
36
  /*************************************************************************/
37
 
38
 
39
  FT_CALLBACK_TABLE
40
  const PS_Table_FuncsRec    ps_table_funcs;
41
 
42
  FT_CALLBACK_TABLE
43
  const PS_Parser_FuncsRec   ps_parser_funcs;
44
 
45
  FT_CALLBACK_TABLE
46
  const T1_Builder_FuncsRec  t1_builder_funcs;
47
 
48
 
49
  FT_LOCAL( FT_Error )
50
  ps_table_new( PS_Table   table,
51
                FT_Int     count,
52
                FT_Memory  memory );
53
 
54
  FT_LOCAL( FT_Error )
55
  ps_table_add( PS_Table    table,
56
                FT_Int      idx,
57
                void*       object,
58
                FT_PtrDist  length );
59
 
60
  FT_LOCAL( void )
61
  ps_table_done( PS_Table  table );
62
 
63
 
64
  FT_LOCAL( void )
65
  ps_table_release( PS_Table  table );
66
 
67
 
68
  /*************************************************************************/
69
  /*************************************************************************/
70
  /*****                                                               *****/
71
  /*****                            T1 PARSER                          *****/
72
  /*****                                                               *****/
73
  /*************************************************************************/
74
  /*************************************************************************/
75
 
76
 
77
  FT_LOCAL( void )
78
  ps_parser_skip_spaces( PS_Parser  parser );
79
 
80
  FT_LOCAL( void )
81
  ps_parser_skip_PS_token( PS_Parser  parser );
82
 
83
  FT_LOCAL( void )
84
  ps_parser_to_token( PS_Parser  parser,
85
                      T1_Token   token );
86
 
87
  FT_LOCAL( void )
88
  ps_parser_to_token_array( PS_Parser  parser,
89
                            T1_Token   tokens,
90
                            FT_UInt    max_tokens,
91
                            FT_Int*    pnum_tokens );
92
 
93
  FT_LOCAL( FT_Error )
94
  ps_parser_load_field( PS_Parser       parser,
95
                        const T1_Field  field,
96
                        void**          objects,
97
                        FT_UInt         max_objects,
98
                        FT_ULong*       pflags );
99
 
100
  FT_LOCAL( FT_Error )
101
  ps_parser_load_field_table( PS_Parser       parser,
102
                              const T1_Field  field,
103
                              void**          objects,
104
                              FT_UInt         max_objects,
105
                              FT_ULong*       pflags );
106
 
107
  FT_LOCAL( FT_Long )
108
  ps_parser_to_int( PS_Parser  parser );
109
 
110
 
111
  FT_LOCAL( FT_Error )
112
  ps_parser_to_bytes( PS_Parser  parser,
113
                      FT_Byte*   bytes,
114
                      FT_Offset  max_bytes,
115
                      FT_Long*   pnum_bytes,
116
                      FT_Bool    delimiters );
117
 
118
 
119
  FT_LOCAL( FT_Fixed )
120
  ps_parser_to_fixed( PS_Parser  parser,
121
                      FT_Int     power_ten );
122
 
123
 
124
  FT_LOCAL( FT_Int )
125
  ps_parser_to_coord_array( PS_Parser  parser,
126
                            FT_Int     max_coords,
127
                            FT_Short*  coords );
128
 
129
  FT_LOCAL( FT_Int )
130
  ps_parser_to_fixed_array( PS_Parser  parser,
131
                            FT_Int     max_values,
132
                            FT_Fixed*  values,
133
                            FT_Int     power_ten );
134
 
135
 
136
  FT_LOCAL( void )
137
  ps_parser_init( PS_Parser  parser,
138
                  FT_Byte*   base,
139
                  FT_Byte*   limit,
140
                  FT_Memory  memory );
141
 
142
  FT_LOCAL( void )
143
  ps_parser_done( PS_Parser  parser );
144
 
145
 
146
  /*************************************************************************/
147
  /*************************************************************************/
148
  /*****                                                               *****/
149
  /*****                            T1 BUILDER                         *****/
150
  /*****                                                               *****/
151
  /*************************************************************************/
152
  /*************************************************************************/
153
 
154
  FT_LOCAL( void )
155
  t1_builder_init( T1_Builder    builder,
156
                   FT_Face       face,
157
                   FT_Size       size,
158
                   FT_GlyphSlot  glyph,
159
                   FT_Bool       hinting );
160
 
161
  FT_LOCAL( void )
162
  t1_builder_done( T1_Builder  builder );
163
 
164
  FT_LOCAL( FT_Error )
165
  t1_builder_check_points( T1_Builder  builder,
166
                           FT_Int      count );
167
 
168
  FT_LOCAL( void )
169
  t1_builder_add_point( T1_Builder  builder,
170
                        FT_Pos      x,
171
                        FT_Pos      y,
172
                        FT_Byte     flag );
173
 
174
  FT_LOCAL( FT_Error )
175
  t1_builder_add_point1( T1_Builder  builder,
176
                         FT_Pos      x,
177
                         FT_Pos      y );
178
 
179
  FT_LOCAL( FT_Error )
180
  t1_builder_add_contour( T1_Builder  builder );
181
 
182
 
183
  FT_LOCAL( FT_Error )
184
  t1_builder_start_point( T1_Builder  builder,
185
                          FT_Pos      x,
186
                          FT_Pos      y );
187
 
188
 
189
  FT_LOCAL( void )
190
  t1_builder_close_contour( T1_Builder  builder );
191
 
192
 
193
  /*************************************************************************/
194
  /*************************************************************************/
195
  /*****                                                               *****/
196
  /*****                            OTHER                              *****/
197
  /*****                                                               *****/
198
  /*************************************************************************/
199
  /*************************************************************************/
200
 
201
  FT_LOCAL( void )
202
  t1_decrypt( FT_Byte*   buffer,
203
              FT_Offset  length,
204
              FT_UShort  seed );
205
 
206
 
207
FT_END_HEADER
208
 
209
#endif /* __PSOBJS_H__ */
210
 
211
 
212
/* END */