tor-browser

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

t1objs.h (3452B)


      1 /****************************************************************************
      2 *
      3 * t1objs.h
      4 *
      5 *   Type 1 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 T1OBJS_H_
     20 #define T1OBJS_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 T1_Size_Hints_   T1_Size_Hints;
     34  typedef struct T1_Glyph_Hints_  T1_Glyph_Hints;
     35 
     36 
     37  /**************************************************************************
     38   *
     39   * @Type:
     40   *   T1_Size
     41   *
     42   * @Description:
     43   *   A handle to a Type 1 size object.
     44   */
     45  typedef struct T1_SizeRec_*  T1_Size;
     46 
     47 
     48  /**************************************************************************
     49   *
     50   * @Type:
     51   *   T1_GlyphSlot
     52   *
     53   * @Description:
     54   *   A handle to a Type 1 glyph slot object.
     55   */
     56  typedef struct T1_GlyphSlotRec_*  T1_GlyphSlot;
     57 
     58 
     59  /**************************************************************************
     60   *
     61   * @Type:
     62   *   T1_CharMap
     63   *
     64   * @Description:
     65   *   A handle to a Type 1 character mapping object.
     66   *
     67   * @Note:
     68   *   The Type 1 format doesn't use a charmap but an encoding table.
     69   *   The driver is responsible for making up charmap objects
     70   *   corresponding to these tables.
     71   */
     72  typedef struct T1_CharMapRec_*   T1_CharMap;
     73 
     74 
     75  /**************************************************************************
     76   *
     77   *                 HERE BEGINS THE TYPE1 SPECIFIC STUFF
     78   *
     79   */
     80 
     81 
     82  /**************************************************************************
     83   *
     84   * @Type:
     85   *   T1_SizeRec
     86   *
     87   * @Description:
     88   *   Type 1 size record.
     89   */
     90  typedef struct  T1_SizeRec_
     91  {
     92    FT_SizeRec  root;
     93 
     94  } T1_SizeRec;
     95 
     96 
     97  FT_LOCAL( void )
     98  T1_Size_Done( FT_Size  size );
     99 
    100  FT_LOCAL( FT_Error )
    101  T1_Size_Request( FT_Size          size,
    102                   FT_Size_Request  req );
    103 
    104  FT_LOCAL( FT_Error )
    105  T1_Size_Init( FT_Size  size );
    106 
    107 
    108  /**************************************************************************
    109   *
    110   * @Type:
    111   *   T1_GlyphSlotRec
    112   *
    113   * @Description:
    114   *   Type 1 glyph slot record.
    115   */
    116  typedef struct  T1_GlyphSlotRec_
    117  {
    118    FT_GlyphSlotRec  root;
    119 
    120    FT_Bool          hint;
    121    FT_Bool          scaled;
    122 
    123    FT_Fixed         x_scale;
    124    FT_Fixed         y_scale;
    125 
    126    FT_Int           max_points;
    127    FT_Int           max_contours;
    128 
    129  } T1_GlyphSlotRec;
    130 
    131 
    132  FT_LOCAL( FT_Error )
    133  T1_Face_Init( FT_Stream      stream,
    134                FT_Face        face,
    135                FT_Int         face_index,
    136                FT_Int         num_params,
    137                FT_Parameter*  params );
    138 
    139  FT_LOCAL( void )
    140  T1_Face_Done( FT_Face  face );
    141 
    142  FT_LOCAL( FT_Error )
    143  T1_GlyphSlot_Init( FT_GlyphSlot  slot );
    144 
    145  FT_LOCAL( void )
    146  T1_GlyphSlot_Done( FT_GlyphSlot  slot );
    147 
    148  FT_LOCAL( FT_Error )
    149  T1_Driver_Init( FT_Module  driver );
    150 
    151  FT_LOCAL( void )
    152  T1_Driver_Done( FT_Module  driver );
    153 
    154 
    155 FT_END_HEADER
    156 
    157 #endif /* T1OBJS_H_ */
    158 
    159 
    160 /* END */