tor-browser

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

t1load.h (3285B)


      1 /****************************************************************************
      2 *
      3 * t1load.h
      4 *
      5 *   Type 1 font loader (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 T1LOAD_H_
     20 #define T1LOAD_H_
     21 
     22 
     23 #include <freetype/internal/ftstream.h>
     24 #include <freetype/internal/psaux.h>
     25 #include <freetype/ftmm.h>
     26 
     27 #include "t1parse.h"
     28 
     29 
     30 FT_BEGIN_HEADER
     31 
     32 
     33  typedef struct  T1_Loader_
     34  {
     35    T1_ParserRec  parser;          /* parser used to read the stream */
     36 
     37    FT_Int        num_chars;       /* number of characters in encoding */
     38    PS_TableRec   encoding_table;  /* PS_Table used to store the       */
     39                                   /* encoding character names         */
     40 
     41    FT_Int        num_glyphs;
     42    PS_TableRec   glyph_names;
     43    PS_TableRec   charstrings;
     44    PS_TableRec   swap_table;      /* For moving .notdef glyph to index 0. */
     45 
     46    FT_Int        num_subrs;
     47    PS_TableRec   subrs;
     48    FT_Hash       subrs_hash;
     49    FT_Bool       fontdata;
     50 
     51    FT_UInt       keywords_encountered; /* T1_LOADER_ENCOUNTERED_XXX */
     52 
     53  } T1_LoaderRec, *T1_Loader;
     54 
     55 
     56  /* treatment of some keywords differs depending on whether */
     57  /* they precede or follow certain other keywords           */
     58 
     59 #define T1_PRIVATE                ( 1 << 0 )
     60 #define T1_FONTDIR_AFTER_PRIVATE  ( 1 << 1 )
     61 
     62 
     63  FT_LOCAL( FT_Error )
     64  T1_Open_Face( T1_Face  face );
     65 
     66 #ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT
     67 
     68  FT_LOCAL( FT_Error )
     69  T1_Get_Multi_Master( FT_Face           face,
     70                       FT_Multi_Master*  master );
     71 
     72  FT_LOCAL( FT_Error )
     73  T1_Get_MM_Var( FT_Face      face,
     74                 FT_MM_Var*  *master );
     75 
     76  FT_LOCAL( FT_Error )
     77  T1_Set_MM_Blend( FT_Face    face,
     78                   FT_UInt    num_coords,
     79                   FT_Fixed*  coords );
     80 
     81  FT_LOCAL( FT_Error )
     82  T1_Get_MM_Blend( FT_Face    face,
     83                   FT_UInt    num_coords,
     84                   FT_Fixed*  coords );
     85 
     86  FT_LOCAL( FT_Error )
     87  T1_Set_MM_Design( FT_Face   face,
     88                    FT_UInt   num_coords,
     89                    FT_Long*  coords );
     90 
     91  FT_LOCAL( FT_Error )
     92  T1_Reset_MM_Blend( FT_Face  face,
     93                     FT_UInt  instance_index );
     94 
     95  FT_LOCAL( FT_Error )
     96  T1_Get_Var_Design( FT_Face    face,
     97                     FT_UInt    num_coords,
     98                     FT_Fixed*  coords );
     99 
    100  FT_LOCAL( FT_Error )
    101  T1_Set_Var_Design( FT_Face    face,
    102                     FT_UInt    num_coords,
    103                     FT_Fixed*  coords );
    104 
    105  FT_LOCAL( void )
    106  T1_Done_Blend( FT_Face  face );
    107 
    108  FT_LOCAL( FT_Error )
    109  T1_Set_MM_WeightVector( FT_Face    face,
    110                          FT_UInt    len,
    111                          FT_Fixed*  weightvector );
    112 
    113  FT_LOCAL( FT_Error )
    114  T1_Get_MM_WeightVector( FT_Face    face,
    115                          FT_UInt*   len,
    116                          FT_Fixed*  weightvector );
    117 
    118 #endif /* !T1_CONFIG_OPTION_NO_MM_SUPPORT */
    119 
    120 
    121 FT_END_HEADER
    122 
    123 #endif /* T1LOAD_H_ */
    124 
    125 
    126 /* END */