(root)/
freetype-2.13.2/
src/
cid/
cidobjs.h
       1  /****************************************************************************
       2   *
       3   * cidobjs.h
       4   *
       5   *   CID objects manager (specification).
       6   *
       7   * Copyright (C) 1996-2023 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 <freetype/internal/ftobjs.h>
      25  #include FT_CONFIG_CONFIG_H
      26  #include <freetype/internal/t1types.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 */