diff --git a/ChangeLog b/ChangeLog index d7e7cdfd3..361010596 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,7 +2,14 @@ * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c, src/type1/t1load.c, src/type1/t1objs.c: added a few casts to remove - compiler warnings in pedantic modes.. + compiler warnings in pedantic modes.. + + * include/config/ft2build.h, include/config/ftheader.h: the file + "ft2build.h" was renamed to "ftheader.h" to avoid conflicts with the + top-level + + * include/config/ftheader.h: added new section describing the #include + macros.. 2001-03-17 Tom Kacvinsky diff --git a/include/freetype/config/ft2build.h b/include/freetype/config/ftheader.h similarity index 61% rename from include/freetype/config/ft2build.h rename to include/freetype/config/ftheader.h index 13603f0a9..f8c16abb6 100644 --- a/include/freetype/config/ft2build.h +++ b/include/freetype/config/ftheader.h @@ -1,6 +1,6 @@ /***************************************************************************/ /* */ -/* ft2build.h */ +/* ftheader.h */ /* */ /* Build macros of the FreeType 2 library. */ /* */ @@ -186,43 +186,293 @@ /* */ /*************************************************************************/ +/************************************************************************* + * + *
header_file_macros + * + * 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.. + * + */ + /* configuration files */ +/************************************************************************* + * + * @macro: FT_CONFIG_CONFIG_H + * + * @description: + * a macro used in #include statements to name the file containing + * FreeType 2 configuration + */ #ifndef FT_CONFIG_CONFIG_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 + */ #ifndef FT_CONFIG_OPTIONS_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 + */ #ifndef FT_CONFIG_MODULES_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> -#define FT_FREETYPE_H <freetype/freetype.h> -#define FT_GLYPH_H <freetype/ftglyph.h> -#define FT_BBOX_H <freetype/ftbbox.h> -#define FT_CACHE_H <freetype/ftcache.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> -#define FT_MAC_H <freetype/ftmac.h> -#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h> -#define FT_MODULE_H <freetype/ftmodule.h> -#define FT_NAMES_H <freetype/ftnames.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> -#define FT_SYNTHESIS_H <freetype/ftsynth.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_NAMES_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_NAMES_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_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 + */ +#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h> + +/************************************************************************* + * + * @macro: FT_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_NAMES_H <freetype/ftnames.h> + + /* */ + +#define FT_SYNTHESIS_H <freetype/ftsynth.h> + + /* now include internal headers definitions from <freetype/internal/...> */ #define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h> #include FT_INTERNAL_INTERNAL_H diff --git a/include/freetype/ftchapters.h b/include/freetype/ftchapters.h index cb1c33d6b..fcca1dad4 100644 --- a/include/freetype/ftchapters.h +++ b/include/freetype/ftchapters.h @@ -17,6 +17,7 @@ /* sfnt_names */ /* module_management */ /* system_interface */ +/* header_file_macros */ /* */ /***************************************************************************/ diff --git a/include/ft2build.h b/include/ft2build.h index 3da8add34..cd94c00fc 100644 --- a/include/ft2build.h +++ b/include/ft2build.h @@ -31,7 +31,7 @@ #ifndef __FT2_BUILD_GENERIC_H__ #define __FT2_BUILD_GENERIC_H__ -#include <freetype/config/ft2build.h> +#include <freetype/config/ftheader.h> #endif /* __FT2_BUILD_GENERIC_H__ */