(root)/
freetype-2.13.2/
include/
freetype/
ftparams.h
       1  /****************************************************************************
       2   *
       3   * ftparams.h
       4   *
       5   *   FreeType API for possible FT_Parameter tags (specification only).
       6   *
       7   * Copyright (C) 2017-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 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 */