introduced the new <freetype/config/ftbuild.h> file to determine
where is the top-level include directory for all public, configuration
and internal header files..
diff --git a/ChangeLog b/ChangeLog
index 2b59ede..c96e9f4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2000-11-30 David Turner <david.turner@freetype.ogr>
+
+ * include/config/ftbuild.h, include/internal/internal.h: added
+ a new configuration file used to determine where are all public,
+ configuration and internal header files for FreeType 2. I also
+ modified all headers under "include/freetype" to reflect this
+ change. Note that we still need to change the library source
+ files themselves though..
+
+ * include/freetype.h: modified all public, configuration and
+ internal header files to use the new
+
2000-11-30 Tom Kacvinsky <tjk@ams.org>
* t2objs.c (T2_Init_Face): Added calculation of `face->height' for
diff --git a/include/freetype/cache/ftcchunk.h b/include/freetype/cache/ftcchunk.h
index 4dfa03d..50e06da 100644
--- a/include/freetype/cache/ftcchunk.h
+++ b/include/freetype/cache/ftcchunk.h
@@ -42,15 +42,18 @@
/*************************************************************************/
-#ifndef FTCCHUNK_H
-#define FTCCHUNK_H
+#ifndef __FTCCHUNK_H__
+#define __FTCCHUNK_H__
-#include <freetype/cache/ftcmanag.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_CACHE_H
+#include FT_CACHE_MANAGER_H
+
+FT_BEGIN_HEADER
+
/* maximum number of chunk sets in a given chunk cache */
#define FTC_MAX_CHUNK_SETS 16
@@ -205,12 +208,9 @@
FT_UInt *aindex );
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FTCCHUNK_H */
+#endif /* __FTCCHUNK_H__ */
/* END */
diff --git a/include/freetype/cache/ftcglyph.h b/include/freetype/cache/ftcglyph.h
index b99748f..812eaf1 100644
--- a/include/freetype/cache/ftcglyph.h
+++ b/include/freetype/cache/ftcglyph.h
@@ -50,17 +50,18 @@
/*************************************************************************/
-#ifndef FTCGLYPH_H
-#define FTCGLYPH_H
+#ifndef __FTCGLYPH_H__
+#define __FTCGLYPH_H__
-
-#include <freetype/cache/ftcmanag.h>
-#include <stddef.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_CACHE_H
+#include FT_CACHE_MANAGER_H
+#include <stddef.h>
+
+FT_BEGIN_HEADER
/* maximum number of glyph sets per glyph cache; must be < 256 */
@@ -200,13 +201,9 @@
FT_UInt gindex,
FTC_GlyphNode *anode );
+FT_END_HEADER
-#ifdef __cplusplus
- }
-#endif
-
-
-#endif /* FTCGLYPH_H */
+#endif /* __FTCGLYPH_H__ */
/* END */
diff --git a/include/freetype/cache/ftcimage.h b/include/freetype/cache/ftcimage.h
index 8c457c7..e68988e 100644
--- a/include/freetype/cache/ftcimage.h
+++ b/include/freetype/cache/ftcimage.h
@@ -23,16 +23,17 @@
/*************************************************************************/
-#ifndef FTCIMAGE_H
-#define FTCIMAGE_H
+#ifndef __FTCIMAGE_H__
+#define __FTCIMAGE_H__
-
-#include <freetype/cache/ftcglyph.h>
-#include <freetype/ftglyph.h>
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_CACHE_H
+#include FT_CACHE_INTERNAL_GLYPH_H
+
+FT_BEGIN_HEADER
/*************************************************************************/
@@ -160,12 +161,9 @@
FT_Glyph *aglyph );
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FTCIMAGE_H */
+#endif /* __FTCIMAGE_H__ */
/* END */
diff --git a/include/freetype/cache/ftcmanag.h b/include/freetype/cache/ftcmanag.h
index d43f505..ce1e980 100644
--- a/include/freetype/cache/ftcmanag.h
+++ b/include/freetype/cache/ftcmanag.h
@@ -59,17 +59,17 @@
/*************************************************************************/
-#ifndef FTCMANAG_H
-#define FTCMANAG_H
+#ifndef __FTCMANAG_H__
+#define __FTCMANAG_H__
-#include <freetype/ftcache.h>
-#include <freetype/cache/ftlru.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_CACHE_H
+#include FT_CACHE_INTERNAL_LRU_H
+FT_BEGIN_HEADER
#define FTC_MAX_FACES_DEFAULT 2
#define FTC_MAX_SIZES_DEFAULT 4
@@ -360,13 +360,11 @@
} FTC_CacheRec;
+ /* */
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FTCMANAG_H */
+#endif /* __FTCMANAG_H__ */
/* END */
diff --git a/include/freetype/cache/ftcsbits.h b/include/freetype/cache/ftcsbits.h
index a167f69..9104d21 100644
--- a/include/freetype/cache/ftcsbits.h
+++ b/include/freetype/cache/ftcsbits.h
@@ -16,18 +16,18 @@
/***************************************************************************/
-#ifndef FTCSBITS_H
-#define FTCSBITS_H
+#ifndef __FTCSBITS_H__
+#define __FTCSBITS_H__
-
-#include <freetype/cache/ftcchunk.h>
-#include <freetype/cache/ftcimage.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_CACHE_H
+#include FT_CACHE_INTERNAL_CHUNK_H
+#include FT_CACHE_IMAGE_H
+FT_BEGIN_HEADER
/* handle to small bitmap */
typedef struct FTC_SBitRec_* FTC_SBit;
@@ -60,14 +60,9 @@
FTC_Image_Desc* desc,
FT_UInt gindex,
FTC_SBit *sbit );
+FT_END_HEADER
-
-#ifdef __cplusplus
- }
-#endif
-
-
-#endif /* FTCSBITS_H */
+#endif /* __FTCSBITS_H__ */
/* END */
diff --git a/include/freetype/cache/ftlru.h b/include/freetype/cache/ftlru.h
index ed77fe2..5b7b2c8 100644
--- a/include/freetype/cache/ftlru.h
+++ b/include/freetype/cache/ftlru.h
@@ -55,15 +55,16 @@
/*************************************************************************/
-#ifndef FTLRU_H
-#define FTLRU_H
+#ifndef __FTLRU_H__
+#define __FTLRU_H__
-#include <freetype/freetype.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+
+FT_BEGIN_HEADER
/* generic key type */
@@ -138,40 +139,48 @@
} FT_LruRec;
- FT_EXPORT( FT_Error ) FT_Lru_New( const FT_Lru_Class* clazz,
- FT_UInt max_elements,
- FT_Pointer user_data,
- FT_Memory memory,
- FT_Bool pre_alloc,
- FT_Lru *anlru );
-
- FT_EXPORT( void ) FT_Lru_Reset( FT_Lru lru );
-
- FT_EXPORT( void ) FT_Lru_Done ( FT_Lru lru );
+ FT_EXPORT( FT_Error )
+ FT_Lru_New( const FT_Lru_Class* clazz,
+ FT_UInt max_elements,
+ FT_Pointer user_data,
+ FT_Memory memory,
+ FT_Bool pre_alloc,
+ FT_Lru *anlru );
- FT_EXPORT( FT_Error ) FT_Lru_Lookup_Node( FT_Lru lru,
- FT_LruKey key,
- FT_LruNode *anode );
-
- FT_EXPORT( FT_Error ) FT_Lru_Lookup( FT_Lru lru,
- FT_LruKey key,
- FT_Pointer *anobject );
+ FT_EXPORT( void )
+ FT_Lru_Reset( FT_Lru lru );
- FT_EXPORT( void ) FT_Lru_Remove_Node( FT_Lru lru,
- FT_LruNode node );
-
- FT_EXPORT( void ) FT_Lru_Remove_Selection( FT_Lru lru,
- FT_Lru_Selector selector,
- FT_Pointer data );
-
-#ifdef __cplusplus
- }
-#endif
+ FT_EXPORT( void )
+ FT_Lru_Done ( FT_Lru lru );
-#endif /* FTLRU_H */
+ FT_EXPORT( FT_Error )
+ FT_Lru_Lookup_Node( FT_Lru lru,
+ FT_LruKey key,
+ FT_LruNode *anode );
+
+
+ FT_EXPORT( FT_Error )
+ FT_Lru_Lookup( FT_Lru lru,
+ FT_LruKey key,
+ FT_Pointer *anobject );
+
+
+ FT_EXPORT( void )
+ FT_Lru_Remove_Node( FT_Lru lru,
+ FT_LruNode node );
+
+
+ FT_EXPORT( void )
+ FT_Lru_Remove_Selection( FT_Lru lru,
+ FT_Lru_Selector selector,
+ FT_Pointer data );
+
+FT_END_HEADER
+
+#endif /* __FTLRU_H__ */
/* END */
diff --git a/include/freetype/config/ftbuild.h b/include/freetype/config/ftbuild.h
new file mode 100644
index 0000000..059c547
--- /dev/null
+++ b/include/freetype/config/ftbuild.h
@@ -0,0 +1,186 @@
+/***************************************************************************/
+/* */
+/* ftbuild.h */
+/* */
+/* This file is used to define important macros needed to */
+/* perform a build of the FreeType 2 library.. */
+/* */
+/* Copyright 1996-2000 by */
+/* David Turner, Robert Wilhelm, and Werner Lemberg. */
+/* */
+/* This file is part of the FreeType project, and may only be used, */
+/* modified, and distributed under the terms of the FreeType project */
+/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
+/* this file you indicate that you have read the license and */
+/* understand and accept it fully. */
+/* */
+/***************************************************************************/
+
+#ifndef __FT_BUILD_H__
+#define __FT_BUILD_H__
+
+/****************************************************************************
+ *
+ * the macro FT_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/....>
+ *
+ * you can re-define it to something different, depending on the way
+ * you installed the library on your system.
+ *
+ */
+#ifndef FT_ROOT
+# define FT_ROOT freetype
+#endif
+
+/****************************************************************************
+ *
+ * the macro FT_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 included with a line like:
+ *
+ * #include <freetype/config/...>
+ *
+ * you can re-define it to something different, depending on the way
+ * you installed the library on your system.
+ *
+ */
+#ifndef FT_CONFIG_ROOT
+# define FT_CONFIG_ROOT FT_ROOT/config
+#endif
+
+/****************************************************************************
+ *
+ * the macro FT_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 FT_PUBLIC_FILE(x) <FT_ROOT/x>
+
+
+/****************************************************************************
+ *
+ * the macro FT_CONFIG_FILE is used to include a FreeType 2 config file
+ * its parameter is the file pathname, relative to the configurationroot of a
+ * given header file.
+ */
+#define FT_CONFIG_FILE(x) <FT_CONFIG_ROOT/x>
+
+
+/****************************************************************************
+ *
+ * the macro FT_INTERNAL_FILE is used to include a FreeType 2 internal file
+ * its parameter is the file pathname, relative to the configurationroot of a
+ * given header file.
+ */
+#define FT_INTERNAL_FILE(x) <FT_ROOT/internal/x>
+
+/****************************************************************************
+ *
+ * the macro FT_COMPONENT_FILE is used to include a given FreeType 2 component
+ * source file (be it a header, a C source file, or an included file).
+ *
+ * it's first argument is the component/module's directory according to
+ * the normal FT2 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
+ */
+#define FT_COMPONENT_FILE(d,x) <FT_ROOT/d/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).
+ *
+ * it's first argument is the component/module's directory according to
+ * the normal FT2 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
+ */
+#ifdef FT_FLAT_COMPILATION
+# define FT_SOURCE_FILE(d,x) <d/x>
+#else
+# define FT_SOURCE_FILE(d,x) "x"
+#endif
+
+
+/****************************************************************************
+ *
+ * <Macro> FT_BEGIN_HEADER
+ *
+ * <Description>
+ * this macro is used in association with @FT_END_HEADER in header
+ * files to ensure that the declarations within are properly encapsulated
+ * in an 'extern "C" { .. }' block when included from a C++ compiler
+ */
+#ifdef __cplusplus
+# define FT_BEGIN_HEADER extern "C" {
+#else
+# define FT_BEGIN_HEADER /* nothing */
+#endif
+
+/****************************************************************************
+ *
+ * <Macro> FT_END_HEADER
+ *
+ * <Description>
+ * this macro is used in association with @FT_BEGIN_HEADER in header
+ * files to ensure that the declarations within are properly encapsulated
+ * in an 'extern "C" { .. }' block when included from a C++ compiler
+ */
+#ifdef __cplusplus
+# define FT_END_HEADER }
+#else
+# define FT_END_HEADER /* nothing */
+#endif
+
+/****************************************************************************
+ *
+ * we will now define several aliases for the FreeType 2 public and
+ * configuration files..
+ *
+ */
+
+/* configuration files */
+#define FT_CONFIG_CONFIG_H FT_CONFIG_FILE(ftconfig.h)
+#define FT_CONFIG_OPTIONS_H FT_CONFIG_FILE(ftoption.h)
+#define FT_CONFIG_MODULES_H FT_CONFIG_FILE(ftmodule.h)
+
+/* public headers */
+#define FT_ERRORS_H FT_PUBLIC_FILE(fterrors.h)
+#define FT_SYSTEM_H FT_PUBLIC_FILE(ftsystem.h)
+#define FT_IMAGE_H FT_PUBLIC_FILE(ftimage.h)
+
+#define FT_TYPES_H FT_PUBLIC_FILE(fttypes.h)
+
+#define FT_FREETYPE_H FT_PUBLIC_FILE(freetype.h)
+#define FT_GLYPH_H FT_PUBLIC_FILE(ftglyph.h)
+#define FT_BBOX_H FT_PUBLIC_FILE(ftbbox.h)
+#define FT_CACHE_H FT_PUBLIC_FILE(ftcache.h)
+#define FT_LIST_H FT_PUBLIC_FILE(ftlist.h)
+#define FT_MAC_H FT_PUBLIC_FILE(ftmac.h)
+#define FT_MULTIPLE_MASTERS_H FT_PUBLIC_FILE(ftmm.h)
+#define FT_MODULE_H FT_PUBLIC_FILE(ftmodule.h)
+#define FT_NAMES_H FT_PUBLIC_FILE(ftnames.h)
+#define FT_OUTLINE_H FT_PUBLIC_FILE(ftoutln.h)
+#define FT_RENDER_H FT_PUBLIC_FILE(ftrender.h)
+#define FT_SYNTHESIS_H FT_PUBLIC_FILE(ftsynth.h)
+#define FT_TYPE1_TABLES_H FT_PUBLIC_FILE(t1tables.h)
+#define FT_TRUETYPE_NAMES_H FT_PUBLIC_FILE(ttnameid.h)
+#define FT_TRUETYPE_TABLES_H FT_PUBLIC_FILE(tttables.h)
+#define FT_TRUETYPE_TAGS_H FT_PUBLIC_FILE(tttags.h)
+
+/* now include internal headers definitions from <freetype/internal/..>*/
+#include FT_PUBLIC_FILE(internal/internal.h)
+
+#endif /* __FT_BUILD_H__ */
+
diff --git a/include/freetype/config/ftconfig.h b/include/freetype/config/ftconfig.h
index 71a081a..dc92d94 100644
--- a/include/freetype/config/ftconfig.h
+++ b/include/freetype/config/ftconfig.h
@@ -36,18 +36,18 @@
/*************************************************************************/
-#ifndef FTCONFIG_H
-#define FTCONFIG_H
-
+#ifndef __FTCONFIG_H__
+#define __FTCONFIG_H__
/* Include the header file containing all developer build options */
-#include <freetype/config/ftoption.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+#define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_CONFIG_OPTIONS_H
+
+FT_BEGIN_HEADER
/*************************************************************************/
/* */
@@ -263,13 +263,10 @@
#endif /* __cplusplus */
-
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-#endif /* FTCONFIG_H */
+#endif /* __FTCONFIG_H__ */
/* END */
diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h
index 48bc711..2b0793a 100644
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -16,9 +16,14 @@
/***************************************************************************/
-#ifndef FREETYPE_H
-#define FREETYPE_H
+#ifndef __FREETYPE_H__
+#define __FREETYPE_H__
+/* include potentially build-specific directives and macros */
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
+#endif
+#include FT_BUILD_H
/*************************************************************************/
/* */
@@ -38,15 +43,11 @@
#define FREETYPE_MINOR 0
-#include <freetype/config/ftconfig.h> /* read configuration information */
-#include <freetype/fterrors.h>
-#include <freetype/fttypes.h>
+#include FT_CONFIG_CONFIG_H
+#include FT_ERRORS_H
+#include FT_TYPES_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
+FT_BEGIN_HEADER
/*************************************************************************/
/*************************************************************************/
@@ -2287,12 +2288,9 @@
/* */
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FREETYPE_H */
+#endif /* __FREETYPE_H__ */
/* END */
diff --git a/include/freetype/ftbbox.h b/include/freetype/ftbbox.h
index db73d9f..5a8d2e7 100644
--- a/include/freetype/ftbbox.h
+++ b/include/freetype/ftbbox.h
@@ -30,12 +30,13 @@
#ifndef FTBBOX_H
#define FTBBOX_H
-#include <freetype/freetype.h>
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+FT_BEGIN_HEADER
/*************************************************************************/
/* */
@@ -62,9 +63,9 @@
FT_BBox *abbox );
-#ifdef __cplusplus
- }
-#endif
+ /* */
+
+FT_END_HEADER
#endif /* FTBBOX_H */
diff --git a/include/freetype/ftcache.h b/include/freetype/ftcache.h
index b39d852..9de1bc2 100644
--- a/include/freetype/ftcache.h
+++ b/include/freetype/ftcache.h
@@ -31,16 +31,24 @@
/*************************************************************************/
-#ifndef FTCACHE_H
-#define FTCACHE_H
+#ifndef __FTCACHE_H__
+#define __FTCACHE_H__
-
-#include <freetype/ftglyph.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_GLYPH_H
+
+FT_BEGIN_HEADER
+
+#define FT_CACHE_MANAGER_H FT_PUBLIC_FILE(cache/ftcmanag.h)
+#define FT_CACHE_IMAGE_H FT_PUBLIC_FILE(cache/ftcimage.h)
+#define FT_CACHE_SMALL_BITMAPS_H FT_PUBLIC_FILE(cache/ftcsbits.h)
+
+#define FT_CACHE_INTERNAL_LRU_H FT_PUBLIC_FILE(cache/ftlru.h)
+#define FT_CACHE_INTERNAL_GLYPH_H FT_PUBLIC_FILE(cache/ftcglyph.h)
+#define FT_CACHE_INTERNAL_CHUNK_H FT_PUBLIC_FILE(cache/ftcchunk.h)
/*************************************************************************/
@@ -324,12 +332,9 @@
FTC_Cache *acache );
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FTCACHE_H */
+#endif /* __FTCACHE_H__ */
/* END */
diff --git a/include/freetype/fterrors.h b/include/freetype/fterrors.h
index 036899b..b8269d8 100644
--- a/include/freetype/fterrors.h
+++ b/include/freetype/fterrors.h
@@ -43,23 +43,23 @@
/*************************************************************************/
-#ifndef FTERRORS_H
-#define FTERRORS_H
+#ifndef __FTERRORS_H__
+#define __FTERRORS_H__
#undef FT_NEED_EXTERN_C
-#ifndef FT_ERRORDEF
-#define FT_ERRORDEF( e, v, s ) e = v,
-#define FT_ERROR_START_LIST enum {
-#define FT_ERROR_END_LIST FT_Err_Max };
+#ifndef FT_ERRORDEF
+# define FT_ERRORDEF( e, v, s ) e = v,
+# define FT_ERROR_START_LIST enum {
+# define FT_ERROR_END_LIST FT_Err_Max };
-#ifdef __cplusplus
-#define FT_NEED_EXTERN_C
- extern "C" {
-#endif
+# ifdef __cplusplus
+# define FT_NEED_EXTERN_C
+ extern "C" {
+# endif
#endif /* !FT_ERRORDEF */
@@ -196,8 +196,7 @@
}
#endif
-
-#endif /* FTERRORS_H */
+#endif /* __FTERRORS_H__ */
/* END */
diff --git a/include/freetype/ftglyph.h b/include/freetype/ftglyph.h
index 9126d4d..010327c 100644
--- a/include/freetype/ftglyph.h
+++ b/include/freetype/ftglyph.h
@@ -29,14 +29,17 @@
/*************************************************************************/
-#ifndef FTGLYPH_H
-#define FTGLYPH_H
+#ifndef __FTGLYPH_H__
+#define __FTGLYPH_H__
-#include <freetype/freetype.h>
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+
+FT_BEGIN_HEADER
+
/* forward declaration to a private type */
typedef struct FT_Glyph_Class_ FT_Glyph_Class;
@@ -427,11 +430,9 @@
FT_EXPORT( FT_Error ) FT_Matrix_Invert( FT_Matrix* matrix );
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-#endif /* FTGLYPH_H */
+#endif /* __FTGLYPH_H__ */
/* END */
diff --git a/include/freetype/ftlist.h b/include/freetype/ftlist.h
index bca83de..bf84787 100644
--- a/include/freetype/ftlist.h
+++ b/include/freetype/ftlist.h
@@ -24,14 +24,16 @@
/*************************************************************************/
-#ifndef FTLIST_H
-#define FTLIST_H
+#ifndef __FTLIST_H__
+#define __FTLIST_H__
-#include <freetype/freetype.h>
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+
+FT_BEGIN_HEADER
/*************************************************************************/
@@ -213,11 +215,8 @@
void* user );
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-#endif /* FTLIST_H */
-
+#endif /* __FTLIST_H__ */
/* END */
diff --git a/include/freetype/ftmac.h b/include/freetype/ftmac.h
index 3e528e2..a036c55 100644
--- a/include/freetype/ftmac.h
+++ b/include/freetype/ftmac.h
@@ -25,8 +25,8 @@
/***************************************************************************/
-#ifndef FT_MAC_H
-#define FT_MAC_H
+#ifndef __FT_MAC_H__
+#define __FT_MAC_H__
#ifdef __cplusplus
@@ -75,7 +75,7 @@
#endif
-#endif /* FT_MAC_H */
+#endif /* __FT_MAC_H__ */
/* END */
diff --git a/include/freetype/ftmm.h b/include/freetype/ftmm.h
index 6c9b1dc..7734786 100644
--- a/include/freetype/ftmm.h
+++ b/include/freetype/ftmm.h
@@ -16,15 +16,16 @@
/***************************************************************************/
-#ifndef FTMM_H
-#define FTMM_H
+#ifndef __FTMM_H__
+#define __FTMM_H__
-#include <freetype/t1tables.h>
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_TYPE1_TABLES_H
+FT_BEGIN_HEADER
/*************************************************************************/
/* */
@@ -167,11 +168,9 @@
FT_Fixed* coords );
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-#endif /* FTMM_H */
+#endif /* __FTMM_H__ */
/* END */
diff --git a/include/freetype/ftmodule.h b/include/freetype/ftmodule.h
index bfe37b0..fd07aaa 100644
--- a/include/freetype/ftmodule.h
+++ b/include/freetype/ftmodule.h
@@ -16,16 +16,16 @@
/***************************************************************************/
-#ifndef FTMODULE_H
-#define FTMODULE_H
+#ifndef __FTMODULE_H__
+#define __FTMODULE_H__
-#include <freetype/freetype.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+FT_BEGIN_HEADER
/* module bit flags */
typedef enum FT_Module_Flags_
@@ -266,12 +266,9 @@
FT_EXPORT( void ) FT_Add_Default_Modules( FT_Library library );
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FTMODULE_H */
+#endif /* __FTMODULE_H__ */
/* END */
diff --git a/include/freetype/ftnames.h b/include/freetype/ftnames.h
index f56684d..aabe18f 100644
--- a/include/freetype/ftnames.h
+++ b/include/freetype/ftnames.h
@@ -19,16 +19,16 @@
/***************************************************************************/
-#ifndef FTNAMES_H
-#define FTNAMES_H
+#ifndef __FTNAMES_H__
+#define __FTNAMES_H__
-
-#include <freetype/freetype.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+
+FT_BEGIN_HEADER
/*************************************************************************/
@@ -121,12 +121,9 @@
FT_SfntName *aname );
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FTNAMES_H */
+#endif /* __FTNAMES_H__ */
/* END */
diff --git a/include/freetype/ftoutln.h b/include/freetype/ftoutln.h
index 3827980..37e6b4b 100644
--- a/include/freetype/ftoutln.h
+++ b/include/freetype/ftoutln.h
@@ -17,15 +17,16 @@
/***************************************************************************/
-#ifndef FTOUTLN_H
-#define FTOUTLN_H
+#ifndef __FTOUTLN_H__
+#define __FTOUTLN_H__
-
-#include <freetype/freetype.h>
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+
+FT_BEGIN_HEADER
/*************************************************************************/
@@ -315,13 +316,9 @@
FT_Outline* outline,
FT_Raster_Params* params );
+FT_END_HEADER
-#ifdef __cplusplus
- }
-#endif
-
-
-#endif /* FTOUTLN_H */
+#endif /* __FTOUTLN_H__ */
/* END */
diff --git a/include/freetype/ftrender.h b/include/freetype/ftrender.h
index aab57a7..2a19fc0 100644
--- a/include/freetype/ftrender.h
+++ b/include/freetype/ftrender.h
@@ -16,16 +16,17 @@
/***************************************************************************/
-#ifndef FTRENDER_H
-#define FTRENDER_H
+#ifndef __FTRENDER_H__
+#define __FTRENDER_H__
-#include <freetype/ftmodule.h>
-#include <freetype/ftglyph.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_MODULE_H
+#include FT_GLYPH_H
+
+FT_BEGIN_HEADER
/* create a new glyph object */
@@ -180,13 +181,11 @@
FT_UInt num_params,
FT_Parameter* parameters );
+ /* */
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FTRENDER_H */
+#endif /* __FTRENDER_H__ */
/* END */
diff --git a/include/freetype/ftsynth.h b/include/freetype/ftsynth.h
index 8952969..e51aacf 100644
--- a/include/freetype/ftsynth.h
+++ b/include/freetype/ftsynth.h
@@ -34,16 +34,16 @@
/*************************************************************************/
-#ifndef FTSYNTH_H
-#define FTSYNTH_H
+#ifndef __FTSYNTH_H__
+#define __FTSYNTH_H__
-#include <freetype/freetype.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+FT_BEGIN_HEADER
/* This code is completely experimental -- use with care! */
/* It will probably be completely rewritten in the future */
@@ -56,13 +56,10 @@
FT_Outline* outline,
FT_Pos* advance );
-
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-#endif /* FTSYNTH_H */
+#endif /* __FTSYNTH_H__ */
/* END */
diff --git a/include/freetype/ftsystem.h b/include/freetype/ftsystem.h
index 4311a3d..7620bd6 100644
--- a/include/freetype/ftsystem.h
+++ b/include/freetype/ftsystem.h
@@ -38,8 +38,8 @@
typedef void* (*FT_Alloc_Func)( FT_Memory memory,
long size );
- typedef void (*FT_Free_Func)( FT_Memory memory,
- void* block );
+ typedef void (*FT_Free_Func)( FT_Memory memory,
+ void* block );
typedef void* (*FT_Realloc_Func)( FT_Memory memory,
long cur_size,
diff --git a/include/freetype/fttypes.h b/include/freetype/fttypes.h
index f3e6f1a..e5eabb6 100644
--- a/include/freetype/fttypes.h
+++ b/include/freetype/fttypes.h
@@ -16,18 +16,19 @@
/***************************************************************************/
-#ifndef FTTYPES_H
-#define FTTYPES_H
+#ifndef __FTTYPES_H__
+#define __FTTYPES_H__
-
-#include <freetype/ftsystem.h>
-#include <freetype/ftimage.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_SYSTEM_H
+#include FT_IMAGE_H
+#include <stddef.h>
+
+FT_BEGIN_HEADER
/*************************************************************************/
/* */
@@ -395,16 +396,13 @@
} FT_ListRec;
+ /* */
#define FT_IS_EMPTY( list ) ( (list).head == 0 )
+FT_END_HEADER
-#ifdef __cplusplus
- }
-#endif
-
-
-#endif /* FTTYPES_H */
+#endif /* __FTTYPES_H__ */
/* END */
diff --git a/include/freetype/internal/autohint.h b/include/freetype/internal/autohint.h
index cb9daf5..958ee9b 100644
--- a/include/freetype/internal/autohint.h
+++ b/include/freetype/internal/autohint.h
@@ -24,8 +24,8 @@
/*************************************************************************/
-#ifndef AUTOHINT_H
-#define AUTOHINT_H
+#ifndef __AUTOHINT_H__
+#define __AUTOHINT_H__
/*************************************************************************/
@@ -69,14 +69,13 @@
/* */
/*************************************************************************/
-
-#include <freetype/freetype.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+FT_BEGIN_HEADER
typedef struct FT_AutoHinterRec_ *FT_AutoHinter;
@@ -194,12 +193,9 @@
} FT_AutoHinter_Interface;
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* AUTOHINT_H */
+#endif /* __AUTOHINT_H__ */
/* END */
diff --git a/include/freetype/internal/fnttypes.h b/include/freetype/internal/fnttypes.h
index 99ff9f2..38b01f8 100644
--- a/include/freetype/internal/fnttypes.h
+++ b/include/freetype/internal/fnttypes.h
@@ -17,13 +17,16 @@
/***************************************************************************/
-#ifndef FNTTYPES_H
-#define FNTTYPES_H
+#ifndef __FNTTYPES_H__
+#define __FNTTYPES_H__
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+
+FT_BEGIN_HEADER
typedef struct WinMZ_Header_
@@ -145,12 +148,9 @@
} FNT_FaceRec, *FNT_Face;
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FNTTYPES_H */
+#endif /* __FNTTYPES_H__ */
/* END */
diff --git a/include/freetype/internal/ftcalc.h b/include/freetype/internal/ftcalc.h
index dfc6b52..bac7370 100644
--- a/include/freetype/internal/ftcalc.h
+++ b/include/freetype/internal/ftcalc.h
@@ -16,15 +16,16 @@
/***************************************************************************/
-#ifndef FTCALC_H
-#define FTCALC_H
+#ifndef __FTCALC_H__
+#define __FTCALC_H__
-#include <freetype/freetype.h>
-#include <freetype/config/ftconfig.h> /* for FT_LONG64 */
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+
+FT_BEGIN_HEADER
#ifdef FT_LONG64
@@ -216,12 +217,9 @@
#define ROUND_F26DOT6( x ) ( x >= 0 ? ( ( (x) + 32 ) & -64 ) \
: ( -( ( 32 - (x) ) & -64 ) ) )
+FT_END_HEADER
-#ifdef __cplusplus
- }
-#endif
-
-#endif /* FTCALC_H */
+#endif /* __FTCALC_H__ */
/* END */
diff --git a/include/freetype/internal/ftdebug.h b/include/freetype/internal/ftdebug.h
index 36c60e2..30fc1fe 100644
--- a/include/freetype/internal/ftdebug.h
+++ b/include/freetype/internal/ftdebug.h
@@ -16,16 +16,16 @@
/***************************************************************************/
-#ifndef FTDEBUG_H
-#define FTDEBUG_H
+#ifndef __FTDEBUG_H__
+#define __FTDEBUG_H__
-#include <freetype/config/ftconfig.h> /* for FT_DEBUG_LEVEL_TRACE, */
- /* FT_DEBUG_LEVEL_ERROR */
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_CONFIG_CONFIG_H
+FT_BEGIN_HEADER
#ifdef FT_DEBUG_LEVEL_TRACE
@@ -218,12 +218,9 @@
#define FT_TRACE7( varformat ) FT_TRACE( 7, varformat )
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FTDEBUG_H */
+#endif /* __FTDEBUG_H__ */
/* END */
diff --git a/include/freetype/internal/ftdriver.h b/include/freetype/internal/ftdriver.h
index bdf580a..85706a7 100644
--- a/include/freetype/internal/ftdriver.h
+++ b/include/freetype/internal/ftdriver.h
@@ -16,17 +16,16 @@
/***************************************************************************/
-#ifndef FTDRIVER_H
-#define FTDRIVER_H
+#ifndef __FTDRIVER_H__
+#define __FTDRIVER_H__
-
-#include <freetype/ftmodule.h>
-#include <freetype/config/ftconfig.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_MODULE_H
+
+FT_BEGIN_HEADER
typedef FT_Error (*FTDriver_initFace) ( FT_Stream stream,
@@ -181,12 +180,9 @@
} FT_Driver_Class;
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FTDRIVER_H */
+#endif /* __FTDRIVER_H__ */
/* END */
diff --git a/include/freetype/internal/ftextend.h b/include/freetype/internal/ftextend.h
index 0a7b972..69fe313 100644
--- a/include/freetype/internal/ftextend.h
+++ b/include/freetype/internal/ftextend.h
@@ -16,17 +16,16 @@
/***************************************************************************/
-#ifndef FTEXTEND_H
-#define FTEXTEND_H
+#ifndef __FTEXTEND_H__
+#define __FTEXTEND_H__
-
-#include <freetype/internal/ftobjs.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_INTERNAL_OBJECTS_H
+FT_BEGIN_HEADER
/*************************************************************************/
/* */
@@ -200,12 +199,9 @@
void** extension_interface );
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FTEXTEND_H */
+#endif /* __FTEXTEND_H__ */
/* END */
diff --git a/include/freetype/internal/ftmemory.h b/include/freetype/internal/ftmemory.h
index ad1d266..a5b9b87 100644
--- a/include/freetype/internal/ftmemory.h
+++ b/include/freetype/internal/ftmemory.h
@@ -16,18 +16,17 @@
/***************************************************************************/
-#ifndef FTMEMORY_H
-#define FTMEMORY_H
+#ifndef __FTMEMORY_H__
+#define __FTMEMORY_H__
-
-#include <freetype/config/ftconfig.h>
-#include <freetype/fttypes.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_CONFIG_CONFIG_H
+#include FT_TYPES_H
+FT_BEGIN_HEADER
/*************************************************************************/
/* */
@@ -202,12 +201,9 @@
#define FREE( _pointer_ ) FT_Free( memory, (void**)&(_pointer_) )
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FTMEMORY_H */
+#endif /* __FTMEMORY_H__ */
/* END */
diff --git a/include/freetype/internal/ftobjs.h b/include/freetype/internal/ftobjs.h
index 7cbb0af..95c1e65 100644
--- a/include/freetype/internal/ftobjs.h
+++ b/include/freetype/internal/ftobjs.h
@@ -23,19 +23,20 @@
/*************************************************************************/
-#ifndef FTOBJS_H
-#define FTOBJS_H
+#ifndef __FTOBJS_H__
+#define __FTOBJS_H__
-#include <freetype/internal/ftmemory.h>
-#include <freetype/ftrender.h>
-#include <freetype/internal/ftdriver.h>
-#include <freetype/internal/autohint.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_RENDER_H
+#include FT_INTERNAL_MEMORY_H
+#include FT_INTERNAL_DRIVER_H
+#include FT_INTERNAL_AUTOHINT_H
+
+FT_BEGIN_HEADER
/*************************************************************************/
/* */
@@ -739,12 +740,9 @@
#endif
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FTOBJS_H */
+#endif /* __FTOBJS_H__ */
/* END */
diff --git a/include/freetype/internal/ftstream.h b/include/freetype/internal/ftstream.h
index e33147a..3eaede7 100644
--- a/include/freetype/internal/ftstream.h
+++ b/include/freetype/internal/ftstream.h
@@ -16,16 +16,16 @@
/***************************************************************************/
-#ifndef FTSTREAM_H
-#define FTSTREAM_H
+#ifndef __FTSTREAM_H__
+#define __FTSTREAM_H__
-#include <freetype/internal/ftobjs.h>
-#include <stddef.h> /* for offsetof() macro */
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_INTERNAL_OBJECTS_H
+
+FT_BEGIN_HEADER
/* format of an 8-bit frame_op value = [ xxxxx | e | s ] */
@@ -358,12 +358,9 @@
( ( error = FT_Read_Fields( stream, fields, object ) ) != FT_Err_Ok )
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* FTSTREAM_H */
+#endif /* __FTSTREAM_H__ */
/* END */
diff --git a/include/freetype/internal/internal.h b/include/freetype/internal/internal.h
new file mode 100644
index 0000000..cfe8b4a
--- /dev/null
+++ b/include/freetype/internal/internal.h
@@ -0,0 +1,29 @@
+/* this file is automatically included by <freetype/config/ftbuild.h> */
+/* do not include it manually !! */
+
+/* internal header files */
+#define FT_INTERNAL_OBJECTS_H FT_INTERNAL_FILE(ftobjs.h)
+#define FT_INTERNAL_STREAM_H FT_INTERNAL_FILE(ftstream.h)
+#define FT_INTERNAL_MEMORY_H FT_INTERNAL_FILE(ftmemory.h)
+#define FT_INTERNAL_EXTENSION_H FT_INTERNAL_FILE(ftextend.h)
+#define FT_INTERNAL_DEBUG_H FT_INTERNAL_FILE(ftdebug.h)
+#define FT_INTERNAL_CALC_H FT_INTERNAL_FILE(ftcalc.h)
+#define FT_INTERNAL_DRIVER_H FT_INTERNAL_FILE(ftdriver.h)
+
+#define FT_INTERNAL_SFNT_H FT_INTERNAL_FILE(sfnt.h)
+
+#define FT_INTERNAL_TRUETYPE_TYPES_H FT_INTERNAL_FILE(tttypes.h)
+#define FT_INTERNAL_TRUETYPE_ERRORS_H FT_INTERNAL_FILE(tterrors.h)
+
+#define FT_INTERNAL_TYPE1_ERRORS_H FT_INTERNAL_FILE(t1errors.h)
+#define FT_INTERNAL_TYPE1_TYPES_H FT_INTERNAL_FILE(t1types.h)
+
+#define FT_INTERNAL_CFF_ERRORS_H FT_INTERNAL_FILE(t2errors.h)
+#define FT_INTERNAL_CFF_TYPES_H FT_INTERNAL_FILE(t2types.h)
+
+#define FT_INTERNAL_POSTSCRIPT_NAMES_H FT_INTERNAL_FILE(psnames.h)
+#define FT_INTERNAL_POSTSCRIPT_AUX_H FT_INTERNAL_FILE(psaux.h)
+
+#define FT_INTERNAL_AUTOHINT_H FT_INTERNAL_FILE(autohint.h)
+#define FT_INTERNAL_FNT_TYPES_H FT_INTERNAL_FILE(fnttypes.h)
+
diff --git a/include/freetype/internal/psaux.h b/include/freetype/internal/psaux.h
index 7f8716d..3db7049 100644
--- a/include/freetype/internal/psaux.h
+++ b/include/freetype/internal/psaux.h
@@ -17,16 +17,17 @@
/***************************************************************************/
-#ifndef PSAUX_H
-#define PSAUX_H
+#ifndef __PSAUX_H__
+#define __PSAUX_H__
-
-#include <freetype/internal/ftobjs.h>
-#include <freetype/internal/t1types.h>
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_INTERNAL_OBJECTS_H
+#include FT_INTERNAL_TYPE1_TYPES_H
+
+FT_BEGIN_HEADER
/*************************************************************************/
@@ -627,11 +628,9 @@
} PSAux_Interface;
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-#endif /* PSAUX_H */
+#endif /* __PSAUX_H__ */
/* END */
diff --git a/include/freetype/internal/psnames.h b/include/freetype/internal/psnames.h
index 7254ca7..cb6233f 100644
--- a/include/freetype/internal/psnames.h
+++ b/include/freetype/internal/psnames.h
@@ -17,17 +17,16 @@
/***************************************************************************/
-#ifndef PSNAMES_H
-#define PSNAMES_H
+#ifndef __PSNAMES_H__
+#define __PSNAMES_H__
-
-#include <freetype/freetype.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+FT_BEGIN_HEADER
/*************************************************************************/
/* */
@@ -219,12 +218,9 @@
} PSNames_Interface;
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* PSNAMES_H */
+#endif /* __PSNAMES_H__ */
/* END */
diff --git a/include/freetype/internal/sfnt.h b/include/freetype/internal/sfnt.h
index f9cc0ac..6815ce6 100644
--- a/include/freetype/internal/sfnt.h
+++ b/include/freetype/internal/sfnt.h
@@ -16,19 +16,17 @@
/***************************************************************************/
-#ifndef SFNT_H
-#define SFNT_H
+#ifndef __SFNT_H__
+#define __SFNT_H__
-
-#include <freetype/freetype.h>
-#include <freetype/internal/ftdriver.h>
-#include <freetype/internal/tttypes.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_INTERNAL_DRIVER_H
+#include FT_INTERNAL_TRUETYPE_TYPES_H
+FT_BEGIN_HEADER
/*************************************************************************/
/* */
@@ -524,12 +522,9 @@
} SFNT_Interface;
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* SFNT_H */
+#endif /* __SFNT_H__ */
/* END */
diff --git a/include/freetype/internal/t1errors.h b/include/freetype/internal/t1errors.h
index a81be21..79fdf69 100644
--- a/include/freetype/internal/t1errors.h
+++ b/include/freetype/internal/t1errors.h
@@ -16,8 +16,8 @@
/***************************************************************************/
-#ifndef T1ERRORS_H
-#define T1ERRORS_H
+#ifndef __T1ERRORS_H__
+#define __T1ERRORS_H__
#ifdef __cplusplus
@@ -71,7 +71,7 @@
#endif
-#endif /* T1ERRORS_H */
+#endif /* __T1ERRORS_H__ */
/* END */
diff --git a/include/freetype/internal/t1types.h b/include/freetype/internal/t1types.h
index b25f653..2f27a07 100644
--- a/include/freetype/internal/t1types.h
+++ b/include/freetype/internal/t1types.h
@@ -17,17 +17,17 @@
/***************************************************************************/
-#ifndef T1TYPES_H
-#define T1TYPES_H
+#ifndef __T1TYPES_H__
+#define __T1TYPES_H__
-
-#include <freetype/t1tables.h>
-#include <freetype/internal/psnames.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_TYPE1_TABLES_H
+#include FT_INTERNAL_POSTSCRIPT_NAMES_H
+
+FT_BEGIN_HEADER
/*************************************************************************/
@@ -189,12 +189,9 @@
} CID_FaceRec;
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* T1TYPES_H */
+#endif /* __T1TYPES_H__ */
/* END */
diff --git a/include/freetype/internal/t2errors.h b/include/freetype/internal/t2errors.h
index dc872c4..7a3d397 100644
--- a/include/freetype/internal/t2errors.h
+++ b/include/freetype/internal/t2errors.h
@@ -16,8 +16,8 @@
/***************************************************************************/
-#ifndef T2ERRORS_H
-#define T2ERRORS_H
+#ifndef __T2ERRORS_H__
+#define __T2ERRORS_H__
#ifdef __cplusplus
@@ -125,7 +125,7 @@
#endif
-#endif /* T2ERRORS_H */
+#endif /* __T2ERRORS_H__ */
/* END */
diff --git a/include/freetype/internal/t2types.h b/include/freetype/internal/t2types.h
index c2a23ae..c4e8dc2 100644
--- a/include/freetype/internal/t2types.h
+++ b/include/freetype/internal/t2types.h
@@ -17,16 +17,16 @@
/***************************************************************************/
-#ifndef T2TYPES_H
-#define T2TYPES_H
+#ifndef __T2TYPES_H__
+#define __T2TYPES_H__
-
-#include <freetype/freetype.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+
+FT_BEGIN_HEADER
/*************************************************************************/
@@ -38,7 +38,7 @@
/* A structure used to model a CFF Index table. */
/* */
/* <Fields> */
- /* stream :: XXX */
+ /* stream :: source input stream */
/* */
/* count :: The number of elements in the index. */
/* */
@@ -47,7 +47,7 @@
/* data_offset :: The position of first data byte in the index's */
/* bytes. */
/* */
- /* offsets :: XXX */
+ /* offsets :: table of element offsets in the index */
/* */
/* bytes :: If the index is loaded in memory, its bytes. */
/* */
@@ -79,6 +79,7 @@
FT_Int paint_type;
FT_Int charstring_type;
FT_Matrix font_matrix;
+ FT_Vector font_offset;
FT_ULong unique_id;
FT_BBox font_bbox;
FT_Pos stroke_width;
@@ -217,12 +218,9 @@
} CFF_Font;
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* T2TYPES_H */
+#endif /* __T2TYPES_H__ */
/* END */
diff --git a/include/freetype/internal/tterrors.h b/include/freetype/internal/tterrors.h
index c987623..3f6c334 100644
--- a/include/freetype/internal/tterrors.h
+++ b/include/freetype/internal/tterrors.h
@@ -16,8 +16,8 @@
/***************************************************************************/
-#ifndef TTERRORS_H
-#define TTERRORS_H
+#ifndef __TTERRORS_H__
+#define __TTERRORS_H__
#ifdef __cplusplus
@@ -125,7 +125,7 @@
#endif
-#endif /* TTERRORS_H */
+#endif /* __TTERRORS_H__ */
/* END */
diff --git a/include/freetype/internal/tttypes.h b/include/freetype/internal/tttypes.h
index 5657fa3..ef74ac2 100644
--- a/include/freetype/internal/tttypes.h
+++ b/include/freetype/internal/tttypes.h
@@ -17,17 +17,17 @@
/***************************************************************************/
-#ifndef TTTYPES_H
-#define TTTYPES_H
+#ifndef __TTTYPES_H__
+#define __TTTYPES_H__
-
-#include <freetype/tttables.h>
-#include <freetype/internal/ftobjs.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_TRUETYPE_TABLES_H
+#include FT_INTERNAL_OBJECTS_H
+
+FT_BEGIN_HEADER
/*************************************************************************/
@@ -1591,12 +1591,9 @@
};
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* TTTYPES_H */
+#endif /* __TTTYPES_H__ */
/* END */
diff --git a/include/freetype/t1tables.h b/include/freetype/t1tables.h
index 1b89df0..212627f 100644
--- a/include/freetype/t1tables.h
+++ b/include/freetype/t1tables.h
@@ -17,17 +17,17 @@
/***************************************************************************/
-#ifndef T1TABLES_H
-#define T1TABLES_H
+#ifndef __T1TABLES_H__
+#define __T1TABLES_H__
-
-#include <freetype/freetype.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+
+FT_BEGIN_HEADER
/* Note that we separate font data in T1_FontInfo and T1_Private */
/* structures in order to support Multiple Master fonts. */
@@ -235,12 +235,9 @@
} CID_Info;
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* T1TABLES_H */
+#endif /* __T1TABLES_H__ */
/* END */
diff --git a/include/freetype/ttnameid.h b/include/freetype/ttnameid.h
index b6aeb46..fcb1d96 100644
--- a/include/freetype/ttnameid.h
+++ b/include/freetype/ttnameid.h
@@ -16,8 +16,8 @@
/***************************************************************************/
-#ifndef TTNAMEID_H
-#define TTNAMEID_H
+#ifndef __TTNAMEID_H__
+#define __TTNAMEID_H__
#ifdef __cplusplus
@@ -718,7 +718,7 @@
#endif
-#endif /* TTNAMEID_H */
+#endif /* __TTNAMEID_H__ */
/* END */
diff --git a/include/freetype/tttables.h b/include/freetype/tttables.h
index a1f0afa..6de013f 100644
--- a/include/freetype/tttables.h
+++ b/include/freetype/tttables.h
@@ -17,17 +17,17 @@
/***************************************************************************/
-#ifndef TTTABLES_H
-#define TTTABLES_H
+#ifndef __TTTABLES_H__
+#define __TTTABLES_H__
-
-#include <freetype/freetype.h>
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+
+FT_BEGIN_HEADER
/*************************************************************************/
/* */
@@ -570,12 +570,9 @@
FT_Sfnt_Tag tag );
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* TTTABLES_H */
+#endif /* __TTTABLES_H__ */
/* END */
diff --git a/include/freetype/tttags.h b/include/freetype/tttags.h
index 203ebe7..4ab1669 100644
--- a/include/freetype/tttags.h
+++ b/include/freetype/tttags.h
@@ -16,17 +16,17 @@
/***************************************************************************/
-#ifndef TTAGS_H
-#define TTAGS_H
+#ifndef __TTAGS_H__
+#define __TTAGS_H__
-
-#include <freetype/freetype.h> /* for MAKE_TT_TAG() */
-
-
-#ifdef __cplusplus
- extern "C" {
+#ifndef FT_BUILD_H
+# define FT_BUILD_H <freetype/config/ftbuild.h>
#endif
+#include FT_BUILD_H
+#include FT_FREETYPE_H
+
+FT_BEGIN_HEADER
#define TTAG_cmap FT_MAKE_TAG( 'c', 'm', 'a', 'p' )
#define TTAG_cvt FT_MAKE_TAG( 'c', 'v', 't', ' ' )
@@ -66,12 +66,9 @@
#define TTAG_vhea FT_MAKE_TAG( 'v', 'h', 'e', 'a' )
#define TTAG_vmtx FT_MAKE_TAG( 'v', 'm', 't', 'x' )
-#ifdef __cplusplus
- }
-#endif
+FT_END_HEADER
-
-#endif /* TTAGS_H */
+#endif /* __TTAGS_H__ */
/* END */