tor-browser

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

ftparams.h (6041B)


      1 /****************************************************************************
      2 *
      3 * ftparams.h
      4 *
      5 *   FreeType API for possible FT_Parameter tags (specification only).
      6 *
      7 * Copyright (C) 2017-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 FTPARAMS_H_
     20 #define FTPARAMS_H_
     21 
     22 #include <freetype/freetype.h>
     23 
     24 #ifdef FREETYPE_H
     25 #error "freetype.h of FreeType 1 has been loaded!"
     26 #error "Please fix the directory search order for header files"
     27 #error "so that freetype.h of FreeType 2 is found first."
     28 #endif
     29 
     30 
     31 FT_BEGIN_HEADER
     32 
     33 
     34  /**************************************************************************
     35   *
     36   * @section:
     37   *   parameter_tags
     38   *
     39   * @title:
     40   *   Parameter Tags
     41   *
     42   * @abstract:
     43   *   Macros for driver property and font loading parameter tags.
     44   *
     45   * @description:
     46   *   This section contains macros for the @FT_Parameter structure that are
     47   *   used with various functions to activate some special functionality or
     48   *   different behaviour of various components of FreeType.
     49   *
     50   */
     51 
     52 
     53  /**************************************************************************
     54   *
     55   * @enum:
     56   *   FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY
     57   *
     58   * @description:
     59   *   A tag for @FT_Parameter to make @FT_Open_Face ignore typographic
     60   *   family names in the 'name' table (introduced in OpenType version 1.4).
     61   *   Use this for backward compatibility with legacy systems that have a
     62   *   four-faces-per-family restriction.
     63   *
     64   * @since:
     65   *   2.8
     66   *
     67   */
     68 #define FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY \
     69          FT_MAKE_TAG( 'i', 'g', 'p', 'f' )
     70 
     71 
     72  /* this constant is deprecated */
     73 #define FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY \
     74          FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY
     75 
     76 
     77  /**************************************************************************
     78   *
     79   * @enum:
     80   *   FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY
     81   *
     82   * @description:
     83   *   A tag for @FT_Parameter to make @FT_Open_Face ignore typographic
     84   *   subfamily names in the 'name' table (introduced in OpenType version
     85   *   1.4).  Use this for backward compatibility with legacy systems that
     86   *   have a four-faces-per-family restriction.
     87   *
     88   * @since:
     89   *   2.8
     90   *
     91   */
     92 #define FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY \
     93          FT_MAKE_TAG( 'i', 'g', 'p', 's' )
     94 
     95 
     96  /* this constant is deprecated */
     97 #define FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY \
     98          FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY
     99 
    100 
    101  /**************************************************************************
    102   *
    103   * @enum:
    104   *   FT_PARAM_TAG_INCREMENTAL
    105   *
    106   * @description:
    107   *   An @FT_Parameter tag to be used with @FT_Open_Face to indicate
    108   *   incremental glyph loading.
    109   *
    110   */
    111 #define FT_PARAM_TAG_INCREMENTAL \
    112          FT_MAKE_TAG( 'i', 'n', 'c', 'r' )
    113 
    114 
    115  /**************************************************************************
    116   *
    117   * @enum:
    118   *   FT_PARAM_TAG_IGNORE_SBIX
    119   *
    120   * @description:
    121   *   A tag for @FT_Parameter to make @FT_Open_Face ignore an 'sbix' table
    122   *   while loading a font.  Use this if @FT_FACE_FLAG_SBIX is set and you
    123   *   want to access the outline glyphs in the font.
    124   *
    125   */
    126 #define FT_PARAM_TAG_IGNORE_SBIX \
    127          FT_MAKE_TAG( 'i', 's', 'b', 'x' )
    128 
    129 
    130  /**************************************************************************
    131   *
    132   * @enum:
    133   *   FT_PARAM_TAG_LCD_FILTER_WEIGHTS
    134   *
    135   * @description:
    136   *   An @FT_Parameter tag to be used with @FT_Face_Properties.  The
    137   *   corresponding argument specifies the five LCD filter weights for a
    138   *   given face (if using @FT_LOAD_TARGET_LCD, for example), overriding the
    139   *   global default values or the values set up with
    140   *   @FT_Library_SetLcdFilterWeights.
    141   *
    142   * @since:
    143   *   2.8
    144   *
    145   */
    146 #define FT_PARAM_TAG_LCD_FILTER_WEIGHTS \
    147          FT_MAKE_TAG( 'l', 'c', 'd', 'f' )
    148 
    149 
    150  /**************************************************************************
    151   *
    152   * @enum:
    153   *   FT_PARAM_TAG_RANDOM_SEED
    154   *
    155   * @description:
    156   *   An @FT_Parameter tag to be used with @FT_Face_Properties.  The
    157   *   corresponding 32bit signed integer argument overrides the font
    158   *   driver's random seed value with a face-specific one; see @random-seed.
    159   *
    160   * @since:
    161   *   2.8
    162   *
    163   */
    164 #define FT_PARAM_TAG_RANDOM_SEED \
    165          FT_MAKE_TAG( 's', 'e', 'e', 'd' )
    166 
    167 
    168  /**************************************************************************
    169   *
    170   * @enum:
    171   *   FT_PARAM_TAG_STEM_DARKENING
    172   *
    173   * @description:
    174   *   An @FT_Parameter tag to be used with @FT_Face_Properties.  The
    175   *   corresponding Boolean argument specifies whether to apply stem
    176   *   darkening, overriding the global default values or the values set up
    177   *   with @FT_Property_Set (see @no-stem-darkening).
    178   *
    179   *   This is a passive setting that only takes effect if the font driver or
    180   *   autohinter honors it, which the CFF, Type~1, and CID drivers always
    181   *   do, but the autohinter only in 'light' hinting mode (as of version
    182   *   2.9).
    183   *
    184   * @since:
    185   *   2.8
    186   *
    187   */
    188 #define FT_PARAM_TAG_STEM_DARKENING \
    189          FT_MAKE_TAG( 'd', 'a', 'r', 'k' )
    190 
    191 
    192  /**************************************************************************
    193   *
    194   * @enum:
    195   *   FT_PARAM_TAG_UNPATENTED_HINTING
    196   *
    197   * @description:
    198   *   Deprecated, no effect.
    199   *
    200   *   Previously: A constant used as the tag of an @FT_Parameter structure
    201   *   to indicate that unpatented methods only should be used by the
    202   *   TrueType bytecode interpreter for a typeface opened by @FT_Open_Face.
    203   *
    204   */
    205 #define FT_PARAM_TAG_UNPATENTED_HINTING \
    206          FT_MAKE_TAG( 'u', 'n', 'p', 'a' )
    207 
    208 
    209  /* */
    210 
    211 
    212 FT_END_HEADER
    213 
    214 
    215 #endif /* FTPARAMS_H_ */
    216 
    217 
    218 /* END */