Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  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 <ft2build.h>
  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 */
  213.