1049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/
2049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
3049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  psobjs.h                                                               */
4049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
5049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*    Auxiliary functions for PostScript fonts (specification).            */
6049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
7049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  Copyright 1996-2001, 2002, 2003 by                                     */
8049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
10049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  This file is part of the FreeType project, and may only be used,       */
11049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  modified, and distributed under the terms of the FreeType project      */
12049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  this file you indicate that you have read the license and              */
14049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  understand and accept it fully.                                        */
15049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
16049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/
17049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
18049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
19049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#ifndef __PSOBJS_H__
20049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define __PSOBJS_H__
21049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
22049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
23049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include <ft2build.h>
24049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include FT_INTERNAL_POSTSCRIPT_AUX_H
25049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
26049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
27049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_BEGIN_HEADER
28049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
29049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
30049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
31049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
32049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*****                                                               *****/
33049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*****                             T1_TABLE                          *****/
34049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*****                                                               *****/
35049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
36049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
37049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
38049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
39049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_CALLBACK_TABLE
40049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  const PS_Table_FuncsRec    ps_table_funcs;
41049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
42049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_CALLBACK_TABLE
43049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  const PS_Parser_FuncsRec   ps_parser_funcs;
44049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
45049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_CALLBACK_TABLE
46049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  const T1_Builder_FuncsRec  t1_builder_funcs;
47049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
48049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
49049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( FT_Error )
50049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_table_new( PS_Table   table,
51049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                FT_Int     count,
52049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                FT_Memory  memory );
53049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
54049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( FT_Error )
55049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_table_add( PS_Table    table,
56049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                FT_Int      idx,
57049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                void*       object,
58049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                FT_PtrDist  length );
59049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
60049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( void )
61049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_table_done( PS_Table  table );
62049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
63049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
64049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( void )
65049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_table_release( PS_Table  table );
66049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
67049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
68049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
69049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
70049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*****                                                               *****/
71049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*****                            T1 PARSER                          *****/
72049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*****                                                               *****/
73049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
74049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
75049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
76049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
77049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( void )
78049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_parser_skip_spaces( PS_Parser  parser );
79049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
80049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( void )
81049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_parser_skip_PS_token( PS_Parser  parser );
82049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
83049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( void )
84049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_parser_to_token( PS_Parser  parser,
85049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                      T1_Token   token );
86049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
87049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( void )
88049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_parser_to_token_array( PS_Parser  parser,
89049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                            T1_Token   tokens,
90049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                            FT_UInt    max_tokens,
91049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                            FT_Int*    pnum_tokens );
92049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
93049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( FT_Error )
94049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_parser_load_field( PS_Parser       parser,
95049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                        const T1_Field  field,
96049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                        void**          objects,
97049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                        FT_UInt         max_objects,
98049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                        FT_ULong*       pflags );
99049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
100049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( FT_Error )
101049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_parser_load_field_table( PS_Parser       parser,
102049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                              const T1_Field  field,
103049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                              void**          objects,
104049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                              FT_UInt         max_objects,
105049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                              FT_ULong*       pflags );
106049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
107049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( FT_Long )
108049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_parser_to_int( PS_Parser  parser );
109049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
110049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
111049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( FT_Error )
112049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_parser_to_bytes( PS_Parser  parser,
113049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                      FT_Byte*   bytes,
114295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner                      FT_Offset  max_bytes,
115049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                      FT_Long*   pnum_bytes,
116049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                      FT_Bool    delimiters );
117049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
118049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
119049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( FT_Fixed )
120049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_parser_to_fixed( PS_Parser  parser,
121049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                      FT_Int     power_ten );
122049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
123049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
124049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( FT_Int )
125049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_parser_to_coord_array( PS_Parser  parser,
126049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                            FT_Int     max_coords,
127049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                            FT_Short*  coords );
128049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
129049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( FT_Int )
130049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_parser_to_fixed_array( PS_Parser  parser,
131049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                            FT_Int     max_values,
132049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                            FT_Fixed*  values,
133049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                            FT_Int     power_ten );
134049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
135049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
136049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( void )
137049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_parser_init( PS_Parser  parser,
138049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                  FT_Byte*   base,
139049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                  FT_Byte*   limit,
140049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                  FT_Memory  memory );
141049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
142049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( void )
143049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  ps_parser_done( PS_Parser  parser );
144049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
145049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
146049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
147049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
148049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*****                                                               *****/
149049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*****                            T1 BUILDER                         *****/
150049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*****                                                               *****/
151049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
152049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
153049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
154049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( void )
155049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  t1_builder_init( T1_Builder    builder,
156049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                   FT_Face       face,
157049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                   FT_Size       size,
158049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                   FT_GlyphSlot  glyph,
159049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                   FT_Bool       hinting );
160049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
161049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( void )
162049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  t1_builder_done( T1_Builder  builder );
163049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
164049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( FT_Error )
165049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  t1_builder_check_points( T1_Builder  builder,
166049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                           FT_Int      count );
167049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
168049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( void )
169049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  t1_builder_add_point( T1_Builder  builder,
170049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                        FT_Pos      x,
171049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                        FT_Pos      y,
172049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                        FT_Byte     flag );
173049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
174049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( FT_Error )
175049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  t1_builder_add_point1( T1_Builder  builder,
176049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                         FT_Pos      x,
177049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                         FT_Pos      y );
178049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
179049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( FT_Error )
180049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  t1_builder_add_contour( T1_Builder  builder );
181049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
182049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
183049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( FT_Error )
184049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  t1_builder_start_point( T1_Builder  builder,
185049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                          FT_Pos      x,
186049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                          FT_Pos      y );
187049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
188049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
189049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( void )
190049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  t1_builder_close_contour( T1_Builder  builder );
191049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
192049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
193049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
194049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
195049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*****                                                               *****/
196049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*****                            OTHER                              *****/
197049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*****                                                               *****/
198049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
199049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
200049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
201049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_LOCAL( void )
202049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  t1_decrypt( FT_Byte*   buffer,
203049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project              FT_Offset  length,
204049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project              FT_UShort  seed );
205049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
206049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
207049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_END_HEADER
208049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
209049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#endif /* __PSOBJS_H__ */
210049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
211049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
212049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* END */
213