cidobjs.h

Go to the documentation of this file.
00001 /***************************************************************************/
00002 /*                                                                         */
00003 /*  cidobjs.h                                                              */
00004 /*                                                                         */
00005 /*    CID objects manager (specification).                                 */
00006 /*                                                                         */
00007 /*  Copyright 1996-2001, 2002, 2004, 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 __CIDOBJS_H__
00020 #define __CIDOBJS_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 CID_Size_Hints_   CID_Size_Hints;
00034   typedef struct CID_Glyph_Hints_  CID_Glyph_Hints;
00035 
00036 
00037   /*************************************************************************/
00038   /*                                                                       */
00039   /* <Type>                                                                */
00040   /*    CID_Driver                                                         */
00041   /*                                                                       */
00042   /* <Description>                                                         */
00043   /*    A handle to a Type 1 driver object.                                */
00044   /*                                                                       */
00045   typedef struct CID_DriverRec_*  CID_Driver;
00046 
00047 
00048   /*************************************************************************/
00049   /*                                                                       */
00050   /* <Type>                                                                */
00051   /*    CID_Size                                                           */
00052   /*                                                                       */
00053   /* <Description>                                                         */
00054   /*    A handle to a Type 1 size object.                                  */
00055   /*                                                                       */
00056   typedef struct CID_SizeRec_*  CID_Size;
00057 
00058 
00059   /*************************************************************************/
00060   /*                                                                       */
00061   /* <Type>                                                                */
00062   /*    CID_GlyphSlot                                                      */
00063   /*                                                                       */
00064   /* <Description>                                                         */
00065   /*    A handle to a Type 1 glyph slot object.                            */
00066   /*                                                                       */
00067   typedef struct CID_GlyphSlotRec_*  CID_GlyphSlot;
00068 
00069 
00070   /*************************************************************************/
00071   /*                                                                       */
00072   /* <Type>                                                                */
00073   /*    CID_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 CID_CharMapRec_*  CID_CharMap;
00084 
00085 
00086   /*************************************************************************/
00087   /*                                                                       */
00088   /* HERE BEGINS THE TYPE 1 SPECIFIC STUFF                                 */
00089   /*                                                                       */
00090   /*************************************************************************/
00091 
00092 
00093   typedef struct  CID_SizeRec_
00094   {
00095     FT_SizeRec  root;
00096     FT_Bool     valid;
00097 
00098   } CID_SizeRec;
00099 
00100 
00101   typedef struct  CID_GlyphSlotRec_
00102   {
00103     FT_GlyphSlotRec  root;
00104 
00105     FT_Bool          hint;
00106     FT_Bool          scaled;
00107 
00108     FT_Fixed         x_scale;
00109     FT_Fixed         y_scale;
00110 
00111   } CID_GlyphSlotRec;
00112 
00113 
00114   FT_LOCAL( void )
00115   cid_slot_done( FT_GlyphSlot  slot );
00116 
00117   FT_LOCAL( FT_Error )
00118   cid_slot_init( FT_GlyphSlot  slot );
00119 
00120 
00121   FT_LOCAL( void )
00122   cid_size_done( FT_Size  size );       /* CID_Size */
00123 
00124   FT_LOCAL( FT_Error )
00125   cid_size_init( FT_Size  size );       /* CID_Size */
00126 
00127   FT_LOCAL( FT_Error )
00128   cid_size_request( FT_Size          size,      /* CID_Size */
00129                     FT_Size_Request  req );
00130 
00131   FT_LOCAL( FT_Error )
00132   cid_face_init( FT_Stream      stream,
00133                  FT_Face        face,           /* CID_Face */
00134                  FT_Int         face_index,
00135                  FT_Int         num_params,
00136                  FT_Parameter*  params );
00137 
00138   FT_LOCAL( void )
00139   cid_face_done( FT_Face  face );               /* CID_Face */
00140 
00141 
00142   FT_LOCAL( FT_Error )
00143   cid_driver_init( FT_Module  driver );
00144 
00145   FT_LOCAL( void )
00146   cid_driver_done( FT_Module  driver );
00147 
00148 
00149 FT_END_HEADER
00150 
00151 #endif /* __CIDOBJS_H__ */
00152 
00153 
00154 /* END */

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