ref: fbff3e8fc75e891ced1d8350234bc9d8f21314b9
dir: /config/win32/ftoption.h/
#ifndef FTOPTION_H #define FTOPTION_H /*************************************************************************/ /* */ /* USER-SELECTABLE CONFIGURATION MACROS */ /* */ /* These macros can be toggled by developers to enable or disable */ /* certain aspects of FreeType. This file contains macros that apply to */ /* all of FreeType. Driver-specific configurations are placed in each */ /* driver directory (e.g. `freetype/drivers/ttlib/ttconfig.h'). */ /* */ /*************************************************************************/ /*************************************************************************/ /* */ /* Alternate Glyph Image Format support */ /* */ /* By default, the glyph images returned by the FreeType glyph loader */ /* can either be a pixmap or a vectorial outline defined through */ /* bezier control points. When defining the following configuration */ /* macro, some font drivers will be able to register alternate */ /* glyph image formats. */ /* */ /* Unset this macro if you're sure that you'll never use a font driver */ /* with an alternate glyph format, this will reduce the size of the */ /* base layer code. */ /* */ #define FT_CONFIG_OPTION_ALTERNATE_GLYPH_FORMATS /*************************************************************************/ /* */ /* Glyph Postscript Names handling */ /* */ /* By default, FreeType 2 is built with the "psnames" module compiled */ /* in. This module is in charge of converting a glyph name string into */ /* a Unicode value, or return a Macintosh standard glyph name for the */ /* use with the TrueType "post" table. */ /* */ /* Undefine this macro if you do not want the "psnames" compiled in */ /* your build of FreeType. This has the following effects : */ /* */ /* - the TrueType driver will provide its own set of glyph names, */ /* if you build it to support postscript names in the TrueType */ /* "post" table. */ /* */ /* - the Type 1 driver will not be able to synthetize a */ /* Unicode charmap out of the glyphs found in the fonts. */ /* */ /* You would normally undefine this configuration macro when */ /* building a version of FreeType that doesn't contain a Type 1 */ /* or CFF driver. */ /* */ #define FT_CONFIG_OPTION_POSTSCRIPT_NAMES /*************************************************************************/ /* */ /* Postscript Names to Unicode Values support */ /* */ /* By default, FreeType 2 is built with the "psnames" module compiled */ /* in. Among other things, the module is used to convert a glyph */ /* name into a unicode value. This is especially useful in order to */ /* synthetize on the fly a Unicode charmap from the CFF/Type 1 driver */ /* through a big table named the "Adobe Glyph List". */ /* */ /* Undefine this macro if you do not want the Adobe Glyph List */ /* compiled in your "psnames" module. The Type 1 driver will not */ /* be able to synthetize a Unicode charmap out of the glyphs found */ /* in the fonts.. */ /* */ #define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST /*************************************************************************/ /* */ /* GCC provides the non-ANSI `long long' 64-bit type. You can activate */ /* it by defining the FTCALC_USE_LONG_LONG macro here. Note however */ /* that we did not experience any improvement in speed with gcc, and */ /* that the final code seems bigger when linked. */ /* */ #undef FTCALC_USE_LONG_LONG /*************************************************************************/ /* */ /* When compiling FreeType as a DLL, some systems/compilers need a */ /* special keyword in front of each function definition instead of */ /* `extern'. */ /* */ /* The macros EXPORT_DEF and EXPORT_FUNC are thus used to define */ /* exported library function interfaces and exported library functions */ /* implementations respectively. */ /* */ /* If not defined here, they automatically default to `extern' and void */ /* later in this header file. */ /* */ #undef EXPORT_DEF #undef EXPORT_FUNC /*************************************************************************/ /* */ /* Debug level */ /* */ /* FreeType can be compiled in debug or trace mode. In debug mode, */ /* errors are reported through the `ftdebug' component. In trace */ /* mode, additional messages are sent to the standard output during */ /* execution. */ /* */ /* Define FT_DEBUG_LEVEL_ERROR to build the library in debug mode. */ /* Define FT_DEBUG_LEVEL_TRACE to build it in trace mode. */ /* */ /* Don't define any of these macros to compile in `release' mode. */ /* */ #undef FT_DEBUG_LEVEL_ERROR #undef FT_DEBUG_LEVEL_TRACE /*************************************************************************/ /* */ /* Anti-aliasing support */ /* */ /* Undefine this macro only if you want to disable the anti-aliasing */ /* support in FreeType. This will save you about 5 Kb of code. It */ /* may be important for some embedded systems. */ /* */ #define FT_CONFIG_OPTION_ANTI_ALIAS /*************************************************************************/ /* */ /* Endianess performance improvement */ /* */ /* FreeType is completely endian-independent, and can thus be compiled */ /* directly on _any_ machine. However, some components of the library */ /* provide improved routines for the cases where endianess is known. */ /* */ /* It usually results in speed-ups and reduced code size. Note that */ /* you should not define both of these macros. */ /* */ /* */ /* NOTE: For now, only the scan-line converter (base/ftraster.c) uses */ /* these macros to speed-up some anti-alias rendering routines. */ /* */ #undef FT_CONFIG_OPTION_LITTLE_ENDIAN #undef FT_CONFIG_OPTION_BIG_ENDIAN /*************************************************************************/ /* */ /* Define this configuration macro whenever you want to build a version */ /* of FreeType that does not include a default `system' component. */ /* */ /* Note that this will prevent the compilation of `ftinit', hence the */ /* function FT_Init_FreeType */ /* */ #undef FT_CONFIG_OPTION_NO_DEFAULT_SYSTEM /*************************************************************************/ /* */ /* The size in bytes of the render pool used by the scan-line */ /* converter to do all of its work. */ /* */ /* This must be greater than 4 Kb */ /* */ #define FT_RENDER_POOL_SIZE 32768 /*************************************************************************/ /* */ /* FT_MAX_DRIVERS */ /* */ /* The maximum number of font drivers that can be registered in a */ /* single FreeType library object. 8 seems to be a good choice due */ /* to the relative low actual number of drivers ;-) */ /* */ #define FT_MAX_DRIVERS 8 /*************************************************************************/ /* */ /* FT_MAX_EXTENSIONS */ /* */ /* The maximum number of extensions that can be registered in a */ /* single font driver. 8 seems to be a good choice for now.. */ /* */ #define FT_MAX_EXTENSIONS 8 /*************************************************************************/ /* */ /* FT_MAX_GLYPH_FORMATS */ /* */ /* The maximum number of glyph image formats that might be registered */ /* in a given library instance. 8 seems to be a good choice due to */ /* the relatively low number of current formats ;-) */ /* */ #define FT_MAX_GLYPH_FORMATS 8 #endif /* FTOPTION_H */