* devel/ftoption.h: Synchronize with main `ftoption.h'.

This commit is contained in:
Werner Lemberg 2018-08-06 11:02:51 +02:00
parent f24dbb2811
commit b09e773591
3 changed files with 115 additions and 55 deletions

View File

@ -1,3 +1,7 @@
2018-08-06 Werner Lemberg <wl@gnu.org>
* devel/ftoption.h: Synchronize with main `ftoption.h'.
2018-08-06 Alexei Podtelezhnikov <apodtele@gmail.com> 2018-08-06 Alexei Podtelezhnikov <apodtele@gmail.com>
[pcf] Use unsigned types. [pcf] Use unsigned types.

View File

@ -75,32 +75,38 @@ FT_BEGIN_HEADER
/*************************************************************************/ /*************************************************************************/
/************************************************************************** /*#************************************************************************
* *
* If you enable this configuration option, FreeType recognizes an * If you enable this configuration option, FreeType recognizes an
* environment variable called `FREETYPE_PROPERTIES', which can be used * environment variable called `FREETYPE_PROPERTIES', which can be used to
* to control the various font drivers and modules. The controllable * control the various font drivers and modules. The controllable
* properties are listed in the section `Controlling FreeType Modules' * properties are listed in the section @properties.
* in the reference's table of contents; currently there are properties *
* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), * You have to undefine this configuration option on platforms that lack
* TrueType (file `ftttdrv.h'), and PCF (file `ftpcfdrv.h'). * the concept of environment variables (and thus don't have the `getenv'
* function), for example Windows CE.
* *
* `FREETYPE_PROPERTIES' has the following syntax form (broken here into * `FREETYPE_PROPERTIES' has the following syntax form (broken here into
* multiple lines for better readability). * multiple lines for better readability).
* *
* {
* <optional whitespace> * <optional whitespace>
* <module-name1> ':' * <module-name1> ':'
* @property-name1: '=' <property-value1> * <property-name1> '=' <property-value1>
* @whitespace: * <whitespace>
* <module-name2> ':' * <module-name2> ':'
* @property-name2: '=' <property-value2> * <property-name2> '=' <property-value2>
* ... * ...
* }
* *
* Example: * Example:
* *
* FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ * {
* cff:no-stem-darkening=1 \ * FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
* autofitter:warping=1 * cff:no-stem-darkening=1 \
* autofitter:warping=1
* }
*
*/ */
#define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES #define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
@ -211,6 +217,10 @@ FT_BEGIN_HEADER
* *
* Do not #undef this macro here since the build system might define * Do not #undef this macro here since the build system might define
* it for certain configurations only. * it for certain configurations only.
*
* If you use a build system like cmake or the `configure' script,
* options set by those programs have precendence, overwriting the
* value here with the configured one.
*/ */
/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */ /* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
@ -227,6 +237,10 @@ FT_BEGIN_HEADER
* the system available bzip2 implementation. * the system available bzip2 implementation.
* *
* Define this macro if you want to enable this `feature'. * Define this macro if you want to enable this `feature'.
*
* If you use a build system like cmake or the `configure' script,
* options set by those programs have precendence, overwriting the
* value here with the configured one.
*/ */
#define FT_CONFIG_OPTION_USE_BZIP2 #define FT_CONFIG_OPTION_USE_BZIP2
@ -252,6 +266,10 @@ FT_BEGIN_HEADER
* supported regardless of this configuration. * supported regardless of this configuration.
* *
* Define this macro if you want to enable this `feature'. * Define this macro if you want to enable this `feature'.
*
* If you use a build system like cmake or the `configure' script,
* options set by those programs have precendence, overwriting the
* value here with the configured one.
*/ */
#define FT_CONFIG_OPTION_USE_PNG #define FT_CONFIG_OPTION_USE_PNG
@ -265,6 +283,10 @@ FT_BEGIN_HEADER
* by a font's character map will be hinted also. * by a font's character map will be hinted also.
* *
* Define this macro if you want to enable this `feature'. * Define this macro if you want to enable this `feature'.
*
* If you use a build system like cmake or the `configure' script,
* options set by those programs have precendence, overwriting the
* value here with the configured one.
*/ */
#define FT_CONFIG_OPTION_USE_HARFBUZZ #define FT_CONFIG_OPTION_USE_HARFBUZZ
@ -577,17 +599,21 @@ FT_BEGIN_HEADER
* [1] for a technical overview on what this means. See `ttinterp.h' * [1] for a technical overview on what this means. See `ttinterp.h'
* for more details on the LEAN option. * for more details on the LEAN option.
* *
* There are three options. * There are three possible values.
* *
* 1. This option is associated with the `Infinality' moniker. * Value 1:
* Contributed by an individual nicknamed Infinality with the goal of * This value is associated with the `Infinality' moniker,
* contributed by an individual nicknamed Infinality with the goal of
* making TrueType fonts render better than on Windows. A high * making TrueType fonts render better than on Windows. A high
* amount of configurability and flexibility, down to rules for * amount of configurability and flexibility, down to rules for
* single glyphs in fonts, but also very slow. Its experimental and * single glyphs in fonts, but also very slow. Its experimental and
* slow nature and the original developer losing interest meant that * slow nature and the original developer losing interest meant that
* this option was never enabled in default builds. * this option was never enabled in default builds.
* *
* 2. The new default mode for the TrueType driver. The Infinality code * The corresponding interpreter version is v38.
*
* Value 2:
* The new default mode for the TrueType driver. The Infinality code
* base was stripped to the bare minimum and all configurability * base was stripped to the bare minimum and all configurability
* removed in the name of speed and simplicity. The configurability * removed in the name of speed and simplicity. The configurability
* was mainly aimed at legacy fonts like Arial, Times New Roman, or * was mainly aimed at legacy fonts like Arial, Times New Roman, or
@ -597,14 +623,19 @@ FT_BEGIN_HEADER
* that modern and web fonts render well while legacy fonts render * that modern and web fonts render well while legacy fonts render
* okay. * okay.
* *
* 3. Compile both. * The corresponding interpreter version is v40.
*
* Value 3:
* Compile both, making both v38 and v40 available (the latter is the
* default).
* *
* By undefining these, you get rendering behavior like on Windows * By undefining these, you get rendering behavior like on Windows
* without ClearType, i.e., Windows XP without ClearType enabled and * without ClearType, i.e., Windows XP without ClearType enabled and
* Win9x (interpreter version v35). Or not, depending on how much * Win9x (interpreter version v35). Or not, depending on how much
* hinting blood and testing tears the font designer put into a given * hinting blood and testing tears the font designer put into a given
* font. If you define one or both subpixel hinting options, you can * font. If you define one or both subpixel hinting options, you can
* switch between between v35 and the ones you define. * switch between between v35 and the ones you define (using
* `FT_Property_Set').
* *
* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be * This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be
* defined. * defined.
@ -751,8 +782,8 @@ FT_BEGIN_HEADER
* possible to set up the default values of the four control points that * possible to set up the default values of the four control points that
* define the stem darkening behaviour of the (new) CFF engine. For * define the stem darkening behaviour of the (new) CFF engine. For
* more details please read the documentation of the * more details please read the documentation of the
* `darkening-parameters' property of the cff driver module (file * `darkening-parameters' property (file `ftdriver.h'), which allows the
* `ftcffdrv.h'), which allows the control at run-time. * control at run-time.
* *
* Do *not* undefine these macros! * Do *not* undefine these macros!
*/ */
@ -824,7 +855,9 @@ FT_BEGIN_HEADER
/************************************************************************** /**************************************************************************
* *
* Compile autofit module with Indic script support. * Compile autofit module with fallback Indic script support, covering
* some scripts that the `latin' submodule of the autofit module doesn't
* (yet) handle.
*/ */
#define AF_CONFIG_OPTION_INDIC #define AF_CONFIG_OPTION_INDIC
@ -838,11 +871,31 @@ FT_BEGIN_HEADER
* *
* This experimental option is active only if the rendering mode is * This experimental option is active only if the rendering mode is
* FT_RENDER_MODE_LIGHT; you can switch warping on and off with the * FT_RENDER_MODE_LIGHT; you can switch warping on and off with the
* `warping' property of the auto-hinter (see file `ftautoh.h' for more * `warping' property of the auto-hinter (see file `ftdriver.h' for more
* information; by default it is switched off). * information; by default it is switched off).
*/ */
#define AF_CONFIG_OPTION_USE_WARPER #define AF_CONFIG_OPTION_USE_WARPER
/**************************************************************************
*
* Use TrueType-like size metrics for `light' auto-hinting.
*
* It is strongly recommended to avoid this option, which exists only to
* help some legacy applications retain its appearance and behaviour
* with respect to auto-hinted TrueType fonts.
*
* The very reason this option exists at all are GNU/Linux distributions
* like Fedora that did not un-patch the following change (which was
* present in FreeType between versions 2.4.6 and 2.7.1, inclusive).
*
* 2011-07-16 Steven Chu <steven.f.chu@gmail.com>
*
* [truetype] Fix metrics on size request for scalable fonts.
*
* This problematic commit is now reverted (more or less).
*/
/* #define AF_CONFIG_OPTION_TT_SIZE_METRICS */
/* */ /* */

View File

@ -75,36 +75,39 @@ FT_BEGIN_HEADER
/*************************************************************************/ /*************************************************************************/
/*#***********************************************************************/ /*#************************************************************************
/* */ *
/* If you enable this configuration option, FreeType recognizes an */ * If you enable this configuration option, FreeType recognizes an
/* environment variable called `FREETYPE_PROPERTIES', which can be used */ * environment variable called `FREETYPE_PROPERTIES', which can be used to
/* to control the various font drivers and modules. The controllable */ * control the various font drivers and modules. The controllable
/* properties are listed in the section @properties. */ * properties are listed in the section @properties.
/* */ *
/* You have to undefine this configuration option on platforms that lack */ * You have to undefine this configuration option on platforms that lack
/* the concept of environment variables (and thus don't have the */ * the concept of environment variables (and thus don't have the `getenv'
/* `getenv' function), for example Windows CE. */ * function), for example Windows CE.
/* */ *
/* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */ * `FREETYPE_PROPERTIES' has the following syntax form (broken here into
/* multiple lines for better readability). */ * multiple lines for better readability).
/* */ *
/* { */ * {
/* <optional whitespace> */ * <optional whitespace>
/* <module-name1> ':' */ * <module-name1> ':'
/* <property-name1> '=' <property-value1> */ * <property-name1> '=' <property-value1>
/* <whitespace> */ * <whitespace>
/* <module-name2> ':' */ * <module-name2> ':'
/* <property-name2> '=' <property-value2> */ * <property-name2> '=' <property-value2>
/* ... */ * ...
/* } */ * }
/* */ *
/* Example: */ * Example:
/* */ *
/* FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ */ * {
/* cff:no-stem-darkening=1 \ */ * FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
/* autofitter:warping=1 */ * cff:no-stem-darkening=1 \
/* */ * autofitter:warping=1
* }
*
*/
#define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES #define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES