psobjs.h

Go to the documentation of this file.
00001 /***************************************************************************/
00002 /*                                                                         */
00003 /*  psobjs.h                                                               */
00004 /*                                                                         */
00005 /*    Auxiliary functions for PostScript fonts (specification).            */
00006 /*                                                                         */
00007 /*  Copyright 1996-2001, 2002, 2003 by                                     */
00008 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
00009 /*                                                                         */
00010 /*  This file is part of the FreeType project, and may only be used,       */
00011 /*  modified, and distributed under the terms of the FreeType project      */
00012 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
00013 /*  this file you indicate that you have read the license and              */
00014 /*  understand and accept it fully.                                        */
00015 /*                                                                         */
00016 /***************************************************************************/
00017 
00018 
00019 #ifndef __PSOBJS_H__
00020 #define __PSOBJS_H__
00021 
00022 
00023 #include <ft2build.h>
00024 #include FT_INTERNAL_POSTSCRIPT_AUX_H
00025 
00026 
00027 FT_BEGIN_HEADER
00028 
00029 
00030   /*************************************************************************/
00031   /*************************************************************************/
00032   /*****                                                               *****/
00033   /*****                             T1_TABLE                          *****/
00034   /*****                                                               *****/
00035   /*************************************************************************/
00036   /*************************************************************************/
00037 
00038 
00039   FT_CALLBACK_TABLE
00040   const PS_Table_FuncsRec    ps_table_funcs;
00041 
00042   FT_CALLBACK_TABLE
00043   const PS_Parser_FuncsRec   ps_parser_funcs;
00044 
00045   FT_CALLBACK_TABLE
00046   const T1_Builder_FuncsRec  t1_builder_funcs;
00047 
00048 
00049   FT_LOCAL( FT_Error )
00050   ps_table_new( PS_Table   table,
00051                 FT_Int     count,
00052                 FT_Memory  memory );
00053 
00054   FT_LOCAL( FT_Error )
00055   ps_table_add( PS_Table    table,
00056                 FT_Int      idx,
00057                 void*       object,
00058                 FT_PtrDist  length );
00059 
00060   FT_LOCAL( void )
00061   ps_table_done( PS_Table  table );
00062 
00063 
00064   FT_LOCAL( void )
00065   ps_table_release( PS_Table  table );
00066 
00067 
00068   /*************************************************************************/
00069   /*************************************************************************/
00070   /*****                                                               *****/
00071   /*****                            T1 PARSER                          *****/
00072   /*****                                                               *****/
00073   /*************************************************************************/
00074   /*************************************************************************/
00075 
00076 
00077   FT_LOCAL( void )
00078   ps_parser_skip_spaces( PS_Parser  parser );
00079 
00080   FT_LOCAL( void )
00081   ps_parser_skip_PS_token( PS_Parser  parser );
00082 
00083   FT_LOCAL( void )
00084   ps_parser_to_token( PS_Parser  parser,
00085                       T1_Token   token );
00086 
00087   FT_LOCAL( void )
00088   ps_parser_to_token_array( PS_Parser  parser,
00089                             T1_Token   tokens,
00090                             FT_UInt    max_tokens,
00091                             FT_Int*    pnum_tokens );
00092 
00093   FT_LOCAL( FT_Error )
00094   ps_parser_load_field( PS_Parser       parser,
00095                         const T1_Field  field,
00096                         void**          objects,
00097                         FT_UInt         max_objects,
00098                         FT_ULong*       pflags );
00099 
00100   FT_LOCAL( FT_Error )
00101   ps_parser_load_field_table( PS_Parser       parser,
00102                               const T1_Field  field,
00103                               void**          objects,
00104                               FT_UInt         max_objects,
00105                               FT_ULong*       pflags );
00106 
00107   FT_LOCAL( FT_Long )
00108   ps_parser_to_int( PS_Parser  parser );
00109 
00110 
00111   FT_LOCAL( FT_Error )
00112   ps_parser_to_bytes( PS_Parser  parser,
00113                       FT_Byte*   bytes,
00114                       FT_Offset  max_bytes,
00115                       FT_Long*   pnum_bytes,
00116                       FT_Bool    delimiters );
00117 
00118 
00119   FT_LOCAL( FT_Fixed )
00120   ps_parser_to_fixed( PS_Parser  parser,
00121                       FT_Int     power_ten );
00122 
00123 
00124   FT_LOCAL( FT_Int )
00125   ps_parser_to_coord_array( PS_Parser  parser,
00126                             FT_Int     max_coords,
00127                             FT_Short*  coords );
00128 
00129   FT_LOCAL( FT_Int )
00130   ps_parser_to_fixed_array( PS_Parser  parser,
00131                             FT_Int     max_values,
00132                             FT_Fixed*  values,
00133                             FT_Int     power_ten );
00134 
00135 
00136   FT_LOCAL( void )
00137   ps_parser_init( PS_Parser  parser,
00138                   FT_Byte*   base,
00139                   FT_Byte*   limit,
00140                   FT_Memory  memory );
00141 
00142   FT_LOCAL( void )
00143   ps_parser_done( PS_Parser  parser );
00144 
00145 
00146   /*************************************************************************/
00147   /*************************************************************************/
00148   /*****                                                               *****/
00149   /*****                            T1 BUILDER                         *****/
00150   /*****                                                               *****/
00151   /*************************************************************************/
00152   /*************************************************************************/
00153 
00154   FT_LOCAL( void )
00155   t1_builder_init( T1_Builder    builder,
00156                    FT_Face       face,
00157                    FT_Size       size,
00158                    FT_GlyphSlot  glyph,
00159                    FT_Bool       hinting );
00160 
00161   FT_LOCAL( void )
00162   t1_builder_done( T1_Builder  builder );
00163 
00164   FT_LOCAL( FT_Error )
00165   t1_builder_check_points( T1_Builder  builder,
00166                            FT_Int      count );
00167 
00168   FT_LOCAL( void )
00169   t1_builder_add_point( T1_Builder  builder,
00170                         FT_Pos      x,
00171                         FT_Pos      y,
00172                         FT_Byte     flag );
00173 
00174   FT_LOCAL( FT_Error )
00175   t1_builder_add_point1( T1_Builder  builder,
00176                          FT_Pos      x,
00177                          FT_Pos      y );
00178 
00179   FT_LOCAL( FT_Error )
00180   t1_builder_add_contour( T1_Builder  builder );
00181 
00182 
00183   FT_LOCAL( FT_Error )
00184   t1_builder_start_point( T1_Builder  builder,
00185                           FT_Pos      x,
00186                           FT_Pos      y );
00187 
00188 
00189   FT_LOCAL( void )
00190   t1_builder_close_contour( T1_Builder  builder );
00191 
00192 
00193   /*************************************************************************/
00194   /*************************************************************************/
00195   /*****                                                               *****/
00196   /*****                            OTHER                              *****/
00197   /*****                                                               *****/
00198   /*************************************************************************/
00199   /*************************************************************************/
00200 
00201   FT_LOCAL( void )
00202   t1_decrypt( FT_Byte*   buffer,
00203               FT_Offset  length,
00204               FT_UShort  seed );
00205 
00206 
00207 FT_END_HEADER
00208 
00209 #endif /* __PSOBJS_H__ */
00210 
00211 
00212 /* END */

Generated on Tue Jul 5 14:13:50 2011 for ROOT_528-00b_version by  doxygen 1.5.1