@ -15,134 +15,8 @@
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This file corresponds to the default "ft2build.h" file for */
/* FreeType 2. It uses the "freetype" include root. */
/* */
/* Note that specific platforms might use a different configuration. */
/* For example, on Unix, the "freetype2" include root could be used, */
/* with a specific "ft2build.h" to take care of this. The latter then */
/* looks like the following: */
/* */
/* #ifndef __FT2_BUILD_UNIX_H__ */
/* #define __FT2_BUILD_UNIX_H__ */
/* */
/* #define FT2_ROOT freetype2 */
/* #include <freetype2/config/ft2build.h> */
/* */
/* #include FT2_CONFIG_FILE( ft2build.h ) */
/* */
/* #endif */
/* */
/* If necessary, the macro FT_SOURCE_FILE() can be redefined also if a */
/* different path separator is needed. */
/* */
/*************************************************************************/
# ifndef __FT2_BUILD_H__
# define __FT2_BUILD_H__
/* this macro is used to enclose its argument in brackets */
# define FT2_ENCLOSE(x) <x>
/* this macro is used to join a path and a file name */
# define FT2_JOINPATH(d,x) d / x
/* this macro is used to format a path in "<d/x>" format easily */
# define FT2_PUBLIC_PATH(d,x) FT2_ENCLOSE(d / x)
/*************************************************************************/
/* */
/* The macro FT2_ROOT is used to define the root of all public header */
/* files for FreeType 2. By default, it is set to "freetype", which */
/* means that all public files should be included with a line like: */
/* */
/* #include <freetype/...> */
/* */
/* Redefine it to something different if necessary, depending where the */
/* library is installed on the particular system. */
/* */
# ifndef FT2_ROOT
# define FT2_ROOT freetype
# endif
/*************************************************************************/
/* */
/* The macro FT2_CONFIG_ROOT is used to define the root of all */
/* configuration header files for FreeType 2. By default, it is set to */
/* "freetype/config", which means that all config files should be */
/* include with a line like: */
/* */
/* #include <freetype/config/...> */
/* */
/* Redefine it to something different, depending where the library is */
/* installed on the particular system. */
/* */
# ifndef FT2_CONFIG_ROOT
# define FT2_CONFIG_ROOT FT2_JOINPATH(FT2_ROOT,config)
# endif
# define FT2_INTERNAL_ROOT FT2_JOINPATH(FT2_ROOT,internal)
/*************************************************************************/
/* */
/* The macro FT2_PUBLIC_FILE is used to include a FreeType 2 public file.*/
/* Its parameter is the file pathname, relative to the public root of a */
/* given header file. */
/* */
# define FT2_PUBLIC_FILE( x ) FT2_PUBLIC_PATH(FT2_ROOT,x)
/*************************************************************************/
/* */
/* The macro FT2_CONFIG_FILE is used to include a FreeType 2 config file.*/
/* Its parameter is the file pathname, relative to the configuration */
/* root directory of a given header file. */
/* */
# define FT2_CONFIG_FILE( x ) FT2_PUBLIC_PATH(FT2_CONFIG_ROOT,x)
/*************************************************************************/
/* */
/* The macro FT2_INTERNAL_FILE is used to include a FreeType 2 internal */
/* file. Its parameter is the file pathname, relative to the */
/* configuration root directory of a given header file. */
/* */
# define FT2_INTERNAL_FILE( x ) FT2_ENCLOSE(FT2_ROOT / internal / x)
/*************************************************************************/
/* */
/* The macro FT_SOURCE_FILE is used to include a given FreeType 2 */
/* component source file (be it a header, a C source file, or an */
/* included file). */
/* */
/* Its first argument is the component/module's directory according to */
/* the normal FreeType 2 source directory hierarchy, and the second one */
/* the file name. */
/* */
/* Note that you can also put all library source files in a single */
/* directory and compile them normally by defining the macro */
/* FT_FLAT_COMPILATION. */
/* */
# ifndef FT_SOURCE_FILE
# ifdef FT_FLAT_COMPILATION
# define FT_SOURCE_FILE( d, x ) #x
# else
# define FT_SOURCE_FILE( d, x ) FT2_PUBLIC_PATH(d,x)
# endif
# endif /* !FT_SOURCE_FILE */
# ifndef __FT_HEADER_H__
# define __FT_HEADER_H__
/*************************************************************************/
/* */
@ -431,7 +305,36 @@
* a macro used in # include statements to name the file containing
* the API of the optional FreeType 2 cache sub - system .
*/
# define FT_CACHE_H <freetype / ftcache.h>
# define FT_CACHE_H <freetype / ftcache.h>
/*************************************************************************
*
* @ macro : FT_CACHE_IMAGE_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the " glyph image " API of the FreeType 2 cache sub - system
*
* it is used to define a cache for @ FT_Glyph elements . You can also
* see the API defined in @ FT_CACHE_SMALL_BITMAPS_H if you only need
* to store small glyph bitmaps , as it will use less memory
*/
# define FT_CACHE_IMAGE_H <freetype / cache / ftcimage.h>
/*************************************************************************
*
* @ macro : FT_CACHE_SMALL_BITMAPS_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the " small bitmaps " API of the FreeType 2 cache sub - system
*
* it is used to define a cache for small glyph bitmaps in a relatively
* memory - efficient way . You can also use the API defined in
* @ FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images , including
* scalable outlines .
*/
# define FT_CACHE_SMALL_BITMAPS_H <freetype / cache / ftcsbits.h>
/*************************************************************************
*
@ -466,15 +369,20 @@
* the optional FreeType 2 API used to access embedded " name " strings
* in SFNT - based font formats ( i . e . TrueType and OpenType )
*/
# define FT_NAMES_H <freetype / ftnames.h>
# define FT_NAMES_H <freetype / ftnames.h>
/* */
# define FT_SYNTHESIS_H <freetype / ftsynth.h>
# define FT_SYNTHESIS_H <freetype / ftsynth.h>
# define FT_CACHE_MANAGER_H <freetype / cache / ftcmanag.h>
# define FT_CACHE_INTERNAL_LRU_H <freetype / cache / ftlru.h>
# define FT_CACHE_INTERNAL_GLYPH_H <freetype / cache / ftcglyph.h>
# define FT_CACHE_INTERNAL_CHUNK_H <freetype / cache / ftcchunk.h>
/* now include internal headers definitions from <freetype/internal/...> */
# define FT_INTERNAL_INTERNAL_H <freetype / internal / internal.h>
# define FT_INTERNAL_INTERNAL_H <freetype / internal / internal.h>
# include FT_INTERNAL_INTERNAL_H