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