@ -60,318 +60,369 @@
/* */
/*************************************************************************/
/*************************************************************************
*
* < Section > header_file_macros
*
* < Title > Header File Macros
*
* < Abstract >
* Macro definitions used to # include specific header files
*
* < Description >
* The following macros are defined to the name of specific FreeType 2
* header files . They can be used directly in # include statements as in :
*
* {
* # include FT_FREETYPE_H
* # include FT_MULTIPLE_MASTERS_H
* # include FT_GLYPH_H
* }
*
* there are several reasons why we ' re now using macros to name
* public header files . The first one is that the macros are not
* limited to the infamous 8.3 naming rule required by Dos
* ( and FT_MULTIPLE_MASTERS_H is a lot more meaningful than " ftmm.h " )
*
* The second reason is that is allows for more flexibility in the way
* FreeType 2 is installed on a given system . .
*
*/
/*************************************************************************/
/* */
/* <Section> */
/* header_file_macros */
/* */
/* <Title> */
/* Header File Macros */
/* */
/* <Abstract> */
/* Macro definitions used to #include specific header files. */
/* */
/* <Description> */
/* The following macros are defined to the name of specific */
/* FreeType 2 header files. They can be used directly in #include */
/* statements as in: */
/* */
/* { */
/* #include FT_FREETYPE_H */
/* #include FT_MULTIPLE_MASTERS_H */
/* #include FT_GLYPH_H */
/* } */
/* */
/* There are several reasons why we are now using macros to name */
/* public header files. The first one is that such macros are not */
/* limited to the infamous 8.3 naming rule required by DOS (and */
/* `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h'). */
/* */
/* The second reason is that is allows for more flexibility in the */
/* way FreeType 2 is installed on a given system. */
/* */
/*************************************************************************/
/* configuration files */
/*************************************************************************
*
* @ macro : FT_CONFIG_CONFIG_H
*
* @ description :
* a macro used in # include statements to name the file containing
* FreeType 2 configuration
*/
/*************************************************************************/
/* */
/* @macro: */
/* FT_CONFIG_CONFIG_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* FreeType 2 configuration data. */
/* */
# ifndef FT_CONFIG_CONFIG_H
# define FT_CONFIG_CONFIG_H <freetype / config / ftconfig.h>
# define FT_CONFIG_CONFIG_H <freetype / config / ftconfig.h>
# endif
/*************************************************************************
*
* @ macro : FT_CONFIG_OPTIONS_H
*
* @ description :
* a macro used in # include statements to name the file containing
* FreeType 2 project - specific configuration options
*/
/*************************************************************************/
/* */
/* @macro: */
/* FT_CONFIG_OPTIONS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* FreeType 2 project-specific configuration options. */
/* */
# ifndef FT_CONFIG_OPTIONS_H
# define FT_CONFIG_OPTIONS_H <freetype / config / ftoption.h>
# define FT_CONFIG_OPTIONS_H <freetype / config / ftoption.h>
# endif
/*************************************************************************
*
* @ macro : FT_CONFIG_MODULES_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the list of FreeType 2 modules that are statically linked to new
* library instances in @ FT_Init_FreeType
*/
/*************************************************************************/
/* */
/* @macro: */
/* FT_CONFIG_MODULES_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the list of FreeType 2 modules that are statically linked to new */
/* library instances in @FT_Init_FreeType. */
/* */
# ifndef FT_CONFIG_MODULES_H
# define FT_CONFIG_MODULES_H <freetype / config / ftmodule.h>
# define FT_CONFIG_MODULES_H <freetype / config / ftmodule.h>
# endif
/* public headers */
/*************************************************************************
*
* @ macro : FT_FREETYPE_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the base FreeType 2 API
*/
# define FT_FREETYPE_H <freetype / freetype.h>
/*************************************************************************
*
* @ macro : FT_ERRORS_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the list of FreeType 2 error codes ( and messages ) .
*
* it is included by @ FT_FREETYPE_H
*/
# define FT_ERRORS_H <freetype / fterrors.h>
/*************************************************************************
*
* @ macro : FT_SYSTEM_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the FreeType 2 interface to low - level operations ( i . e . memory management
* and stream i / o )
*
* it is included by @ FT_FREETYPE_H
*/
# define FT_SYSTEM_H <freetype / ftsystem.h>
/*************************************************************************
*
* @ macro : FT_IMAGE_H
*
* @ description :
* a macro used in # include statements to name the file containing
* types definitions related to glyph images ( i . e . bitmaps , outlines ,
* scan - converter parameters )
*
* it is included by @ FT_FREETYPE_H
*/
# define FT_IMAGE_H <freetype / ftimage.h>
/*************************************************************************
*
* @ macro : FT_TYPES_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the basic data types defined by FreeType 2
*
* it is included by @ FT_FREETYPE_H
*/
# define FT_TYPES_H <freetype / fttypes.h>
/*************************************************************************
*
* @ macro : FT_LIST_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the list management API of FreeType 2
*
* ( most applications will never need to include this file )
*/
# define FT_LIST_H <freetype / ftlist.h>
/*************************************************************************
*
* @ macro : FT_OUTLINE_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the scalable outline management API of FreeType 2
*/
# define FT_OUTLINE_H <freetype / ftoutln.h>
/*************************************************************************
*
* @ macro : FT_MODULE_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the module management API of FreeType 2
*/
# define FT_MODULE_H <freetype / ftmodule.h>
/*************************************************************************
*
* @ macro : FT_RENDER_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the renderer module management API of FreeType 2
*/
# define FT_RENDER_H <freetype / ftrender.h>
/*************************************************************************
*
* @ macro : FT_TYPE1_TABLES_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the types and API specific to the Type 1 format .
*/
# define FT_TYPE1_TABLES_H <freetype / t1tables.h>
/*************************************************************************
*
* @ macro : FT_TRUETYPE_IDS_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the enumeration values used to identify name strings , languages ,
* encodings , etc . . This file really contains a _large_ set of
* constant macro definitions , taken from the TrueType and OpenType
* specs . .
*/
# define FT_TRUETYPE_IDS_H <freetype / ttnameid.h>
/*************************************************************************
*
* @ macro : FT_TRUETYPE_TABLES_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the types and API specific to the TrueType ( as well as OpenType ) format .
*/
# define FT_TRUETYPE_TABLES_H <freetype / tttables.h>
/*************************************************************************
*
* @ macro : FT_TRUETYPE_TAGS_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the definitions of TrueType 4 - byte " tags " used to identify blocks
* in SFNT - based font formats ( i . e . TrueType and OpenType )
*/
# define FT_TRUETYPE_TAGS_H <freetype / tttags.h>
/*************************************************************************
*
* @ macro : FT_GLYPH_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the API of the optional glyph management component .
*/
# define FT_GLYPH_H <freetype / ftglyph.h>
/*************************************************************************
*
* @ macro : FT_BBOX_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the API of the optional exact bounding box computation routines
*/
# define FT_BBOX_H <freetype / ftbbox.h>
/*************************************************************************
*
* @ macro : FT_CACHE_H
*
* @ description :
* 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>
/*************************************************************************
*
* @ 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>
/*************************************************************************
*
* @ macro : FT_MAC_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the Macintosh - specific FreeType 2 API . The latter is used to
* access fonts embedded in resource forks . .
*
* this header file must be explicitely included by client applications
* compiled on the Mac ( note that the base API still works though )
*/
# define FT_MAC_H <freetype / ftmac.h>
/*************************************************************************
*
* @ macro : FT_MULTIPLE_MASTERS_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the optional multiple - masters management API of FreeType 2
*/
/*************************************************************************/
/* */
/* @macro: */
/* FT_FREETYPE_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the base FreeType 2 API. */
/* */
# define FT_FREETYPE_H <freetype / freetype.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_ERRORS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the list of FreeType 2 error codes (and messages). */
/* */
/* It is included by @FT_FREETYPE_H. */
/* */
# define FT_ERRORS_H <freetype / fterrors.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_SYSTEM_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the FreeType 2 interface to low-level operations (i.e. memory */
/* management and stream i/o). */
/* */
/* It is included by @FT_FREETYPE_H. */
/* */
# define FT_SYSTEM_H <freetype / ftsystem.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_IMAGE_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* types definitions related to glyph images (i.e. bitmaps, outlines, */
/* scan-converter parameters). */
/* */
/* It is included by @FT_FREETYPE_H. */
/* */
# define FT_IMAGE_H <freetype / ftimage.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_TYPES_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the basic data types defined by FreeType 2. */
/* */
/* It is included by @FT_FREETYPE_H. */
/* */
# define FT_TYPES_H <freetype / fttypes.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_LIST_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the list management API of FreeType 2. */
/* */
/* (Most applications will never need to include this file.) */
/* */
# define FT_LIST_H <freetype / ftlist.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_OUTLINE_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the scalable outline management API of FreeType 2. */
/* */
# define FT_OUTLINE_H <freetype / ftoutln.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_MODULE_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the module management API of FreeType 2. */
/* */
# define FT_MODULE_H <freetype / ftmodule.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_RENDER_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the renderer module management API of FreeType 2. */
/* */
# define FT_RENDER_H <freetype / ftrender.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_TYPE1_TABLES_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the types and API specific to the Type 1 format. */
/* */
# define FT_TYPE1_TABLES_H <freetype / t1tables.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_TRUETYPE_IDS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the enumeration values used to identify name strings, languages, */
/* encodings, etc. This file really contains a _large_ set of */
/* constant macro definitions, taken from the TrueType and OpenType */
/* specifications. */
/* */
# define FT_TRUETYPE_IDS_H <freetype / ttnameid.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_TRUETYPE_TABLES_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the types and API specific to the TrueType (as well as OpenType) */
/* format. */
/* */
# define FT_TRUETYPE_TABLES_H <freetype / tttables.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_TRUETYPE_TAGS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the definitions of TrueType 4-byte `tags' used to identify blocks */
/* in SFNT-based font formats (i.e. TrueType and OpenType). */
/* */
# define FT_TRUETYPE_TAGS_H <freetype / tttags.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_GLYPH_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the API of the optional glyph management component. */
/* */
# define FT_GLYPH_H <freetype / ftglyph.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_BBOX_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the API of the optional exact bounding box computation routines. */
/* */
# define FT_BBOX_H <freetype / ftbbox.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_CACHE_H */
/* */
/* @description: */
/* 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>
/*************************************************************************/
/* */
/* @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>
/*************************************************************************/
/* */
/* @macro: */
/* FT_MAC_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the Macintosh-specific FreeType 2 API. The latter is used to */
/* access fonts embedded in resource forks. */
/* */
/* This header file must be explicitly included by client */
/* applications compiled on the Mac (note that the base API still */
/* works though). */
/* */
# define FT_MAC_H <freetype / ftmac.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_MULTIPLE_MASTERS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the optional multiple-masters management API of FreeType 2. */
/* */
# define FT_MULTIPLE_MASTERS_H <freetype / ftmm.h>
/*************************************************************************
*
* @ macro : FT_SFNT_NAMES_H
*
* @ description :
* a macro used in # include statements to name the file containing
* the optional FreeType 2 API used to access embedded " name " strings
* in SFNT - based font formats ( i . e . TrueType and OpenType )
*/
# define FT_SFNT_NAMES_H <freetype / ftsnames.h>
/* */
/*************************************************************************/
/* */
/* @macro: */
/* FT_SFNT_NAMES_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the optional FreeType 2 API used to access embedded `name' strings */
/* in SFNT-based font formats (i.e. TrueType and OpenType). */
/* */
# define FT_SFNT_NAMES_H <freetype / ftsnames.h>
/* */
# define FT_SYNTHESIS_H <freetype / ftsynth.h>
@ -382,6 +433,7 @@
# 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>
# include FT_INTERNAL_INTERNAL_H