1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204
#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 */