Subversion Repositories Kolibri OS

Rev

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

  1. /***************************************************************************/
  2. /*                                                                         */
  3. /*  cidobjs.h                                                              */
  4. /*                                                                         */
  5. /*    CID objects manager (specification).                                 */
  6. /*                                                                         */
  7. /*  Copyright 1996-2001, 2002, 2004, 2006 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 __CIDOBJS_H__
  20. #define __CIDOBJS_H__
  21.  
  22.  
  23. #include <ft2build.h>
  24. #include FT_INTERNAL_OBJECTS_H
  25. #include FT_CONFIG_CONFIG_H
  26. #include FT_INTERNAL_TYPE1_TYPES_H
  27.  
  28.  
  29. FT_BEGIN_HEADER
  30.  
  31.  
  32.   /* The following structures must be defined by the hinter */
  33.   typedef struct CID_Size_Hints_   CID_Size_Hints;
  34.   typedef struct CID_Glyph_Hints_  CID_Glyph_Hints;
  35.  
  36.  
  37.   /*************************************************************************/
  38.   /*                                                                       */
  39.   /* <Type>                                                                */
  40.   /*    CID_Driver                                                         */
  41.   /*                                                                       */
  42.   /* <Description>                                                         */
  43.   /*    A handle to a Type 1 driver object.                                */
  44.   /*                                                                       */
  45.   typedef struct CID_DriverRec_*  CID_Driver;
  46.  
  47.  
  48.   /*************************************************************************/
  49.   /*                                                                       */
  50.   /* <Type>                                                                */
  51.   /*    CID_Size                                                           */
  52.   /*                                                                       */
  53.   /* <Description>                                                         */
  54.   /*    A handle to a Type 1 size object.                                  */
  55.   /*                                                                       */
  56.   typedef struct CID_SizeRec_*  CID_Size;
  57.  
  58.  
  59.   /*************************************************************************/
  60.   /*                                                                       */
  61.   /* <Type>                                                                */
  62.   /*    CID_GlyphSlot                                                      */
  63.   /*                                                                       */
  64.   /* <Description>                                                         */
  65.   /*    A handle to a Type 1 glyph slot object.                            */
  66.   /*                                                                       */
  67.   typedef struct CID_GlyphSlotRec_*  CID_GlyphSlot;
  68.  
  69.  
  70.   /*************************************************************************/
  71.   /*                                                                       */
  72.   /* <Type>                                                                */
  73.   /*    CID_CharMap                                                        */
  74.   /*                                                                       */
  75.   /* <Description>                                                         */
  76.   /*    A handle to a Type 1 character mapping object.                     */
  77.   /*                                                                       */
  78.   /* <Note>                                                                */
  79.   /*    The Type 1 format doesn't use a charmap but an encoding table.     */
  80.   /*    The driver is responsible for making up charmap objects            */
  81.   /*    corresponding to these tables.                                     */
  82.   /*                                                                       */
  83.   typedef struct CID_CharMapRec_*  CID_CharMap;
  84.  
  85.  
  86.   /*************************************************************************/
  87.   /*                                                                       */
  88.   /* HERE BEGINS THE TYPE 1 SPECIFIC STUFF                                 */
  89.   /*                                                                       */
  90.   /*************************************************************************/
  91.  
  92.  
  93.   typedef struct  CID_SizeRec_
  94.   {
  95.     FT_SizeRec  root;
  96.     FT_Bool     valid;
  97.  
  98.   } CID_SizeRec;
  99.  
  100.  
  101.   typedef struct  CID_GlyphSlotRec_
  102.   {
  103.     FT_GlyphSlotRec  root;
  104.  
  105.     FT_Bool          hint;
  106.     FT_Bool          scaled;
  107.  
  108.     FT_Fixed         x_scale;
  109.     FT_Fixed         y_scale;
  110.  
  111.   } CID_GlyphSlotRec;
  112.  
  113.  
  114.   FT_LOCAL( void )
  115.   cid_slot_done( FT_GlyphSlot  slot );
  116.  
  117.   FT_LOCAL( FT_Error )
  118.   cid_slot_init( FT_GlyphSlot  slot );
  119.  
  120.  
  121.   FT_LOCAL( void )
  122.   cid_size_done( FT_Size  size );       /* CID_Size */
  123.  
  124.   FT_LOCAL( FT_Error )
  125.   cid_size_init( FT_Size  size );       /* CID_Size */
  126.  
  127.   FT_LOCAL( FT_Error )
  128.   cid_size_request( FT_Size          size,      /* CID_Size */
  129.                     FT_Size_Request  req );
  130.  
  131.   FT_LOCAL( FT_Error )
  132.   cid_face_init( FT_Stream      stream,
  133.                  FT_Face        face,           /* CID_Face */
  134.                  FT_Int         face_index,
  135.                  FT_Int         num_params,
  136.                  FT_Parameter*  params );
  137.  
  138.   FT_LOCAL( void )
  139.   cid_face_done( FT_Face  face );               /* CID_Face */
  140.  
  141.  
  142.   FT_LOCAL( FT_Error )
  143.   cid_driver_init( FT_Module  driver );
  144.  
  145.   FT_LOCAL( void )
  146.   cid_driver_done( FT_Module  driver );
  147.  
  148.  
  149. FT_END_HEADER
  150.  
  151. #endif /* __CIDOBJS_H__ */
  152.  
  153.  
  154. /* END */
  155.