Home | History | Annotate | Download | only in type42
      1 /***************************************************************************/
      2 /*                                                                         */
      3 /*  t42objs.h                                                              */
      4 /*                                                                         */
      5 /*    Type 42 objects manager (specification).                             */
      6 /*                                                                         */
      7 /*  Copyright 2002-2018 by                                                 */
      8 /*  Roberto Alameda.                                                       */
      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 T42OBJS_H_
     20 #define T42OBJS_H_
     21 
     22 #include <ft2build.h>
     23 #include FT_FREETYPE_H
     24 #include FT_TYPE1_TABLES_H
     25 #include FT_INTERNAL_TYPE1_TYPES_H
     26 #include "t42types.h"
     27 #include FT_INTERNAL_OBJECTS_H
     28 #include FT_INTERNAL_DRIVER_H
     29 #include FT_SERVICE_POSTSCRIPT_CMAPS_H
     30 #include FT_INTERNAL_POSTSCRIPT_HINTS_H
     31 
     32 
     33 FT_BEGIN_HEADER
     34 
     35 
     36   /* Type42 size */
     37   typedef struct  T42_SizeRec_
     38   {
     39     FT_SizeRec  root;
     40     FT_Size     ttsize;
     41 
     42   } T42_SizeRec, *T42_Size;
     43 
     44 
     45   /* Type42 slot */
     46   typedef struct  T42_GlyphSlotRec_
     47   {
     48     FT_GlyphSlotRec  root;
     49     FT_GlyphSlot     ttslot;
     50 
     51   } T42_GlyphSlotRec, *T42_GlyphSlot;
     52 
     53 
     54   /* Type 42 driver */
     55   typedef struct  T42_DriverRec_
     56   {
     57     FT_DriverRec     root;
     58     FT_Driver_Class  ttclazz;
     59 
     60   } T42_DriverRec, *T42_Driver;
     61 
     62 
     63   /* */
     64 
     65 
     66   FT_LOCAL( FT_Error )
     67   T42_Face_Init( FT_Stream      stream,
     68                  FT_Face        face,
     69                  FT_Int         face_index,
     70                  FT_Int         num_params,
     71                  FT_Parameter*  params );
     72 
     73 
     74   FT_LOCAL( void )
     75   T42_Face_Done( FT_Face  face );
     76 
     77 
     78   FT_LOCAL( FT_Error )
     79   T42_Size_Init( FT_Size  size );
     80 
     81 
     82   FT_LOCAL( FT_Error )
     83   T42_Size_Request( FT_Size          size,
     84                     FT_Size_Request  req );
     85 
     86 
     87   FT_LOCAL( FT_Error )
     88   T42_Size_Select( FT_Size   size,
     89                    FT_ULong  strike_index );
     90 
     91 
     92   FT_LOCAL( void )
     93   T42_Size_Done( FT_Size  size );
     94 
     95 
     96   FT_LOCAL( FT_Error )
     97   T42_GlyphSlot_Init( FT_GlyphSlot  slot );
     98 
     99 
    100   FT_LOCAL( FT_Error )
    101   T42_GlyphSlot_Load( FT_GlyphSlot  glyph,
    102                       FT_Size       size,
    103                       FT_UInt       glyph_index,
    104                       FT_Int32      load_flags );
    105 
    106   FT_LOCAL( void )
    107   T42_GlyphSlot_Done( FT_GlyphSlot  slot );
    108 
    109 
    110   FT_LOCAL( FT_Error )
    111   T42_Driver_Init( FT_Module  module );
    112 
    113   FT_LOCAL( void )
    114   T42_Driver_Done( FT_Module  module );
    115 
    116  /* */
    117 
    118 FT_END_HEADER
    119 
    120 
    121 #endif /* T42OBJS_H_ */
    122 
    123 
    124 /* END */
    125