t1objs.h

Go to the documentation of this file.
00001 /***************************************************************************/
00002 /*                                                                         */
00003 /*  t1objs.h                                                               */
00004 /*                                                                         */
00005 /*    Type 1 objects manager (specification).                              */
00006 /*                                                                         */
00007 /*  Copyright 1996-2001, 2002, 2006 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 __T1OBJS_H__
00020 #define __T1OBJS_H__
00021 
00022 
00023 #include <ft2build.h>
00024 #include FT_INTERNAL_OBJECTS_H
00025 #include FT_CONFIG_CONFIG_H
00026 #include FT_INTERNAL_TYPE1_TYPES_H
00027 
00028 
00029 FT_BEGIN_HEADER
00030 
00031 
00032   /* The following structures must be defined by the hinter */
00033   typedef struct T1_Size_Hints_   T1_Size_Hints;
00034   typedef struct T1_Glyph_Hints_  T1_Glyph_Hints;
00035 
00036 
00037   /*************************************************************************/
00038   /*                                                                       */
00039   /* <Type>                                                                */
00040   /*    T1_Driver                                                          */
00041   /*                                                                       */
00042   /* <Description>                                                         */
00043   /*    A handle to a Type 1 driver object.                                */
00044   /*                                                                       */
00045   typedef struct T1_DriverRec_   *T1_Driver;
00046 
00047 
00048   /*************************************************************************/
00049   /*                                                                       */
00050   /* <Type>                                                                */
00051   /*    T1_Size                                                            */
00052   /*                                                                       */
00053   /* <Description>                                                         */
00054   /*    A handle to a Type 1 size object.                                  */
00055   /*                                                                       */
00056   typedef struct T1_SizeRec_*  T1_Size;
00057 
00058 
00059   /*************************************************************************/
00060   /*                                                                       */
00061   /* <Type>                                                                */
00062   /*    T1_GlyphSlot                                                       */
00063   /*                                                                       */
00064   /* <Description>                                                         */
00065   /*    A handle to a Type 1 glyph slot object.                            */
00066   /*                                                                       */
00067   typedef struct T1_GlyphSlotRec_*  T1_GlyphSlot;
00068 
00069 
00070   /*************************************************************************/
00071   /*                                                                       */
00072   /* <Type>                                                                */
00073   /*    T1_CharMap                                                         */
00074   /*                                                                       */
00075   /* <Description>                                                         */
00076   /*    A handle to a Type 1 character mapping object.                     */
00077   /*                                                                       */
00078   /* <Note>                                                                */
00079   /*    The Type 1 format doesn't use a charmap but an encoding table.     */
00080   /*    The driver is responsible for making up charmap objects            */
00081   /*    corresponding to these tables.                                     */
00082   /*                                                                       */
00083   typedef struct T1_CharMapRec_*   T1_CharMap;
00084 
00085 
00086   /*************************************************************************/
00087   /*                                                                       */
00088   /*                  HERE BEGINS THE TYPE1 SPECIFIC STUFF                 */
00089   /*                                                                       */
00090   /*************************************************************************/
00091 
00092 
00093   /*************************************************************************/
00094   /*                                                                       */
00095   /* <Type>                                                                */
00096   /*    T1_SizeRec                                                         */
00097   /*                                                                       */
00098   /* <Description>                                                         */
00099   /*    Type 1 size record.                                                */
00100   /*                                                                       */
00101   typedef struct  T1_SizeRec_
00102   {
00103     FT_SizeRec  root;
00104 
00105   } T1_SizeRec;
00106 
00107 
00108   FT_LOCAL( void )
00109   T1_Size_Done( T1_Size  size );
00110 
00111   FT_LOCAL( FT_Error )
00112   T1_Size_Request( T1_Size          size,
00113                    FT_Size_Request  req );
00114 
00115   FT_LOCAL( FT_Error )
00116   T1_Size_Init( T1_Size  size );
00117 
00118 
00119   /*************************************************************************/
00120   /*                                                                       */
00121   /* <Type>                                                                */
00122   /*    T1_GlyphSlotRec                                                    */
00123   /*                                                                       */
00124   /* <Description>                                                         */
00125   /*    Type 1 glyph slot record.                                          */
00126   /*                                                                       */
00127   typedef struct  T1_GlyphSlotRec_
00128   {
00129     FT_GlyphSlotRec  root;
00130 
00131     FT_Bool          hint;
00132     FT_Bool          scaled;
00133 
00134     FT_Int           max_points;
00135     FT_Int           max_contours;
00136 
00137     FT_Fixed         x_scale;
00138     FT_Fixed         y_scale;
00139 
00140   } T1_GlyphSlotRec;
00141 
00142 
00143   FT_LOCAL( FT_Error )
00144   T1_Face_Init( FT_Stream      stream,
00145                 T1_Face        face,
00146                 FT_Int         face_index,
00147                 FT_Int         num_params,
00148                 FT_Parameter*  params );
00149 
00150   FT_LOCAL( void )
00151   T1_Face_Done( T1_Face  face );
00152 
00153   FT_LOCAL( FT_Error )
00154   T1_GlyphSlot_Init( T1_GlyphSlot  slot );
00155 
00156   FT_LOCAL( void )
00157   T1_GlyphSlot_Done( T1_GlyphSlot  slot );
00158 
00159   FT_LOCAL( FT_Error )
00160   T1_Driver_Init( T1_Driver  driver );
00161 
00162   FT_LOCAL( void )
00163   T1_Driver_Done( T1_Driver  driver );
00164 
00165 
00166 FT_END_HEADER
00167 
00168 #endif /* __T1OBJS_H__ */
00169 
00170 
00171 /* END */

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