t1load.h

Go to the documentation of this file.
00001 /***************************************************************************/
00002 /*                                                                         */
00003 /*  t1load.h                                                               */
00004 /*                                                                         */
00005 /*    Type 1 font loader (specification).                                  */
00006 /*                                                                         */
00007 /*  Copyright 1996-2001, 2002, 2004, 2006, 2007 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 __T1LOAD_H__
00020 #define __T1LOAD_H__
00021 
00022 
00023 #include <ft2build.h>
00024 #include FT_INTERNAL_STREAM_H
00025 #include FT_INTERNAL_POSTSCRIPT_AUX_H
00026 #include FT_MULTIPLE_MASTERS_H
00027 
00028 #include "t1parse.h"
00029 
00030 
00031 FT_BEGIN_HEADER
00032 
00033 
00034   typedef struct  T1_Loader_
00035   {
00036     T1_ParserRec  parser;          /* parser used to read the stream */
00037 
00038     FT_Int        num_chars;       /* number of characters in encoding */
00039     PS_TableRec   encoding_table;  /* PS_Table used to store the       */
00040                                    /* encoding character names         */
00041 
00042     FT_Int        num_glyphs;
00043     PS_TableRec   glyph_names;
00044     PS_TableRec   charstrings;
00045     PS_TableRec   swap_table;      /* For moving .notdef glyph to index 0. */
00046 
00047     FT_Int        num_subrs;
00048     PS_TableRec   subrs;
00049     FT_Bool       fontdata;
00050 
00051     FT_UInt       keywords_encountered; /* T1_LOADER_ENCOUNTERED_XXX */
00052 
00053   } T1_LoaderRec, *T1_Loader;
00054 
00055 
00056   /* treatment of some keywords differs depending on whether */
00057   /* they precede or follow certain other keywords           */
00058 
00059 #define T1_PRIVATE                ( 1 << 0 )
00060 #define T1_FONTDIR_AFTER_PRIVATE  ( 1 << 1 )
00061 
00062 
00063   FT_LOCAL( FT_Error )
00064   T1_Open_Face( T1_Face  face );
00065 
00066 #ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT
00067 
00068   FT_LOCAL( FT_Error )
00069   T1_Get_Multi_Master( T1_Face           face,
00070                        FT_Multi_Master*  master );
00071 
00072   FT_LOCAL_DEF( FT_Error )
00073   T1_Get_MM_Var( T1_Face      face,
00074                  FT_MM_Var*  *master );
00075 
00076   FT_LOCAL( FT_Error )
00077   T1_Set_MM_Blend( T1_Face    face,
00078                    FT_UInt    num_coords,
00079                    FT_Fixed*  coords );
00080 
00081   FT_LOCAL( FT_Error )
00082   T1_Set_MM_Design( T1_Face   face,
00083                     FT_UInt   num_coords,
00084                     FT_Long*  coords );
00085 
00086   FT_LOCAL_DEF( FT_Error )
00087   T1_Set_Var_Design( T1_Face    face,
00088                      FT_UInt    num_coords,
00089                      FT_Fixed*  coords );
00090 
00091   FT_LOCAL( void )
00092   T1_Done_Blend( T1_Face  face );
00093 
00094 #endif /* !T1_CONFIG_OPTION_NO_MM_SUPPORT */
00095 
00096 
00097 FT_END_HEADER
00098 
00099 #endif /* __T1LOAD_H__ */
00100 
00101 
00102 /* END */

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