misc/libfreetype/src/psaux/psobjs.h
changeset 5172 88f2e05288ba
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/libfreetype/src/psaux/psobjs.h	Mon Apr 25 01:46:54 2011 +0200
@@ -0,0 +1,212 @@
+/***************************************************************************/
+/*                                                                         */
+/*  psobjs.h                                                               */
+/*                                                                         */
+/*    Auxiliary functions for PostScript fonts (specification).            */
+/*                                                                         */
+/*  Copyright 1996-2001, 2002, 2003 by                                     */
+/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
+/*                                                                         */
+/*  This file is part of the FreeType project, and may only be used,       */
+/*  modified, and distributed under the terms of the FreeType project      */
+/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
+/*  this file you indicate that you have read the license and              */
+/*  understand and accept it fully.                                        */
+/*                                                                         */
+/***************************************************************************/
+
+
+#ifndef __PSOBJS_H__
+#define __PSOBJS_H__
+
+
+#include <ft2build.h>
+#include FT_INTERNAL_POSTSCRIPT_AUX_H
+
+
+FT_BEGIN_HEADER
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*****                                                               *****/
+  /*****                             T1_TABLE                          *****/
+  /*****                                                               *****/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  FT_CALLBACK_TABLE
+  const PS_Table_FuncsRec    ps_table_funcs;
+
+  FT_CALLBACK_TABLE
+  const PS_Parser_FuncsRec   ps_parser_funcs;
+
+  FT_CALLBACK_TABLE
+  const T1_Builder_FuncsRec  t1_builder_funcs;
+
+
+  FT_LOCAL( FT_Error )
+  ps_table_new( PS_Table   table,
+                FT_Int     count,
+                FT_Memory  memory );
+
+  FT_LOCAL( FT_Error )
+  ps_table_add( PS_Table    table,
+                FT_Int      idx,
+                void*       object,
+                FT_PtrDist  length );
+
+  FT_LOCAL( void )
+  ps_table_done( PS_Table  table );
+
+
+  FT_LOCAL( void )
+  ps_table_release( PS_Table  table );
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*****                                                               *****/
+  /*****                            T1 PARSER                          *****/
+  /*****                                                               *****/
+  /*************************************************************************/
+  /*************************************************************************/
+
+
+  FT_LOCAL( void )
+  ps_parser_skip_spaces( PS_Parser  parser );
+
+  FT_LOCAL( void )
+  ps_parser_skip_PS_token( PS_Parser  parser );
+
+  FT_LOCAL( void )
+  ps_parser_to_token( PS_Parser  parser,
+                      T1_Token   token );
+
+  FT_LOCAL( void )
+  ps_parser_to_token_array( PS_Parser  parser,
+                            T1_Token   tokens,
+                            FT_UInt    max_tokens,
+                            FT_Int*    pnum_tokens );
+
+  FT_LOCAL( FT_Error )
+  ps_parser_load_field( PS_Parser       parser,
+                        const T1_Field  field,
+                        void**          objects,
+                        FT_UInt         max_objects,
+                        FT_ULong*       pflags );
+
+  FT_LOCAL( FT_Error )
+  ps_parser_load_field_table( PS_Parser       parser,
+                              const T1_Field  field,
+                              void**          objects,
+                              FT_UInt         max_objects,
+                              FT_ULong*       pflags );
+
+  FT_LOCAL( FT_Long )
+  ps_parser_to_int( PS_Parser  parser );
+
+
+  FT_LOCAL( FT_Error )
+  ps_parser_to_bytes( PS_Parser  parser,
+                      FT_Byte*   bytes,
+                      FT_Offset  max_bytes,
+                      FT_Long*   pnum_bytes,
+                      FT_Bool    delimiters );
+
+
+  FT_LOCAL( FT_Fixed )
+  ps_parser_to_fixed( PS_Parser  parser,
+                      FT_Int     power_ten );
+
+
+  FT_LOCAL( FT_Int )
+  ps_parser_to_coord_array( PS_Parser  parser,
+                            FT_Int     max_coords,
+                            FT_Short*  coords );
+
+  FT_LOCAL( FT_Int )
+  ps_parser_to_fixed_array( PS_Parser  parser,
+                            FT_Int     max_values,
+                            FT_Fixed*  values,
+                            FT_Int     power_ten );
+
+
+  FT_LOCAL( void )
+  ps_parser_init( PS_Parser  parser,
+                  FT_Byte*   base,
+                  FT_Byte*   limit,
+                  FT_Memory  memory );
+
+  FT_LOCAL( void )
+  ps_parser_done( PS_Parser  parser );
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*****                                                               *****/
+  /*****                            T1 BUILDER                         *****/
+  /*****                                                               *****/
+  /*************************************************************************/
+  /*************************************************************************/
+
+  FT_LOCAL( void )
+  t1_builder_init( T1_Builder    builder,
+                   FT_Face       face,
+                   FT_Size       size,
+                   FT_GlyphSlot  glyph,
+                   FT_Bool       hinting );
+
+  FT_LOCAL( void )
+  t1_builder_done( T1_Builder  builder );
+
+  FT_LOCAL( FT_Error )
+  t1_builder_check_points( T1_Builder  builder,
+                           FT_Int      count );
+
+  FT_LOCAL( void )
+  t1_builder_add_point( T1_Builder  builder,
+                        FT_Pos      x,
+                        FT_Pos      y,
+                        FT_Byte     flag );
+
+  FT_LOCAL( FT_Error )
+  t1_builder_add_point1( T1_Builder  builder,
+                         FT_Pos      x,
+                         FT_Pos      y );
+
+  FT_LOCAL( FT_Error )
+  t1_builder_add_contour( T1_Builder  builder );
+
+
+  FT_LOCAL( FT_Error )
+  t1_builder_start_point( T1_Builder  builder,
+                          FT_Pos      x,
+                          FT_Pos      y );
+
+
+  FT_LOCAL( void )
+  t1_builder_close_contour( T1_Builder  builder );
+
+
+  /*************************************************************************/
+  /*************************************************************************/
+  /*****                                                               *****/
+  /*****                            OTHER                              *****/
+  /*****                                                               *****/
+  /*************************************************************************/
+  /*************************************************************************/
+
+  FT_LOCAL( void )
+  t1_decrypt( FT_Byte*   buffer,
+              FT_Offset  length,
+              FT_UShort  seed );
+
+
+FT_END_HEADER
+
+#endif /* __PSOBJS_H__ */
+
+
+/* END */