Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /***************************************************************************/
  2. /*                                                                         */
  3. /*  t1load.h                                                               */
  4. /*                                                                         */
  5. /*    Type 1 font loader (specification).                                  */
  6. /*                                                                         */
  7. /*  Copyright 1996-2001, 2002, 2004, 2006, 2007 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 __T1LOAD_H__
  20. #define __T1LOAD_H__
  21.  
  22.  
  23. #include <ft2build.h>
  24. #include FT_INTERNAL_STREAM_H
  25. #include FT_INTERNAL_POSTSCRIPT_AUX_H
  26. #include FT_MULTIPLE_MASTERS_H
  27.  
  28. #include "t1parse.h"
  29.  
  30.  
  31. FT_BEGIN_HEADER
  32.  
  33.  
  34.   typedef struct  T1_Loader_
  35.   {
  36.     T1_ParserRec  parser;          /* parser used to read the stream */
  37.  
  38.     FT_Int        num_chars;       /* number of characters in encoding */
  39.     PS_TableRec   encoding_table;  /* PS_Table used to store the       */
  40.                                    /* encoding character names         */
  41.  
  42.     FT_Int        num_glyphs;
  43.     PS_TableRec   glyph_names;
  44.     PS_TableRec   charstrings;
  45.     PS_TableRec   swap_table;      /* For moving .notdef glyph to index 0. */
  46.  
  47.     FT_Int        num_subrs;
  48.     PS_TableRec   subrs;
  49.     FT_Bool       fontdata;
  50.  
  51.     FT_UInt       keywords_encountered; /* T1_LOADER_ENCOUNTERED_XXX */
  52.  
  53.   } T1_LoaderRec, *T1_Loader;
  54.  
  55.  
  56.   /* treatment of some keywords differs depending on whether */
  57.   /* they precede or follow certain other keywords           */
  58.  
  59. #define T1_PRIVATE                ( 1 << 0 )
  60. #define T1_FONTDIR_AFTER_PRIVATE  ( 1 << 1 )
  61.  
  62.  
  63.   FT_LOCAL( FT_Error )
  64.   T1_Open_Face( T1_Face  face );
  65.  
  66. #ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT
  67.  
  68.   FT_LOCAL( FT_Error )
  69.   T1_Get_Multi_Master( T1_Face           face,
  70.                        FT_Multi_Master*  master );
  71.  
  72.   FT_LOCAL_DEF( FT_Error )
  73.   T1_Get_MM_Var( T1_Face      face,
  74.                  FT_MM_Var*  *master );
  75.  
  76.   FT_LOCAL( FT_Error )
  77.   T1_Set_MM_Blend( T1_Face    face,
  78.                    FT_UInt    num_coords,
  79.                    FT_Fixed*  coords );
  80.  
  81.   FT_LOCAL( FT_Error )
  82.   T1_Set_MM_Design( T1_Face   face,
  83.                     FT_UInt   num_coords,
  84.                     FT_Long*  coords );
  85.  
  86.   FT_LOCAL_DEF( FT_Error )
  87.   T1_Set_Var_Design( T1_Face    face,
  88.                      FT_UInt    num_coords,
  89.                      FT_Fixed*  coords );
  90.  
  91.   FT_LOCAL( void )
  92.   T1_Done_Blend( T1_Face  face );
  93.  
  94. #endif /* !T1_CONFIG_OPTION_NO_MM_SUPPORT */
  95.  
  96.  
  97. FT_END_HEADER
  98.  
  99. #endif /* __T1LOAD_H__ */
  100.  
  101.  
  102. /* END */
  103.