tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

cidobjs.h (3412B)


      1 /****************************************************************************
      2 *
      3 * cidobjs.h
      4 *
      5 *   CID objects manager (specification).
      6 *
      7 * Copyright (C) 1996-2025 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 */