diff --git a/ChangeLog b/ChangeLog index 90ab3ec51..8de9c29c9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,27 +1,44 @@ +2000-12-01 Werner Lemberg + + * INSTALL: Revised. + * builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk, + builds/compiler/bcc.mk, builds/win32/w32-bcc.mk, + builds/win32/w32-bccd.mk: Revised. + * include/freetype/config/ftbuild.h, + include/freetype/internal/internal.h: Revised. + * include/freetype/ftimage.h: Updated to new header inclusion scheme. + +2000-11-30 Werner Lemberg + + * builds/toplevel.mk (.PHONY): Adding `distclean'. + * builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc', + `setup'. + 2000-11-30 David Turner - * INSTALL: slightly updated the quick starter documentation to - include IDE compilation, prevent agains BSD Make, and specify - "make setup" instead of a single "make" for build configuration. + * INSTALL: Slightly updated the quick starter documentation to + include IDE compilation, prevent against BSD Make, and specify "make + setup" instead of a single "make" for build configuration. - * 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/config/ftbuild.h, include/internal/internal.h: Added new + configuration files used to determine the location of all public, + configuration, and internal header files for FreeType 2. Modified + all headers under "include/freetype" to reflect this change. Note + that we still need to change the library source files themselves + though. * builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk, builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk, - builds/win32/detect.mk: added new files to support compilation with - the free Borland C++ command-line compiler. Modified the detection - rules to recognize the new "bcc32" target in "make setup bcc32" + builds/win32/detect.mk: Added new files to support compilation with + the free Borland C++ command-line compiler. Modified the detection + rules to recognize the new "bcc32" target in "make setup bcc32". * src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c, - src/truetype/ttobjs.c, src/truetype/ttgload.c, src/truetype/ttinterp.c: - fixed a few comparisons that Borland C++ didn't really like. Basically, - this compiler complains when a FT_UInt is compared to a FT_UShort - (apparently, it promotes the UShort to an Int in these cases) + src/truetype/ttobjs.c, src/truetype/ttgload.c, + src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++ + didn't really like. Basically, this compiler complains when FT_UInt + is compared to FT_UShort (apparently, it promotes `UShort' to `Int' + in these cases). 2000-11-30 Tom Kacvinsky diff --git a/INSTALL b/INSTALL index c9492ead1..777fb4e1a 100644 --- a/INSTALL +++ b/INSTALL @@ -1,90 +1,93 @@ In order to build the library, read the `BUILD' document in the `docs' -directory. This is only a quick starter: +directory. This is only a quick starter: I. From the command line: You need to have GNU Make installed on your system to compile the - library from the command line. This will _not_ work with other - Make tools (including the BSD ones !!) + library from the command line. This will _not_ work with other + make tools (including BSD make)! - - Go to the 'freetype2' directory + - Go to the `freetype2' directory. - - on Unix (any C compiler should work): + - On Unix (any C compiler should work): - - make setup (don't worry, this will invoke a configure script) - - make - - make install + - make setup (don't worry, this will invoke a configure script) + - make + - make install - alternatively, you can pass parameters to the configure script - with the CFG variable, as in: + Alternatively, you can pass parameters to the configure script + within the CFG variable, as in: - - make setup CFG="--prefix=/usr" - - make - - make install + - make setup CFG="--prefix=/usr" + - make + - make install - On Windows: - we provide a version of GNU Make for Win32 on the FreeType site. - See http://www.freetype.org/download.html for details.. + We provide a version of GNU Make for Win32 on the FreeType site. + See http://www.freetype.org/download.html for details. - o if you're using gcc: + If you are using gcc: - - make setup - - make + - make setup + - make - o if you're using Visual C++: + If you are using Visual C++: - - make setup visualc - - make + - make setup visualc + - make - o if you're using Win32-lCC: + If you are using Win32-lCC: - - make setup lcc - - make + - make setup lcc + - make - o if you're using the Borland C++ Builder compiler: + If you are using the Borland C++ Builder compiler: - - make setup bcc32 - - make + - make setup bcc32 + - make II. In your own environment (IDE): - you need to add the directories "freetype2/include" and "freetype2/src" + You need to add the directories "freetype2/include" and "freetype2/src" to your include path when compiling the library. - compile each library component through the following files: + Compile each library component through the following files: - -- base components (required) + -- base components (required) - src/base/ftsystem.c - src/base/ftinit.c - src/base/ftdebug.c - src/base/ftbase.c - src/base/ftglyph.c - src/base/ftbbox.c - src/base/ftmm.c + src/base/ftsystem.c + src/base/ftinit.c + src/base/ftdebug.c + src/base/ftbase.c + src/base/ftglyph.c + src/base/ftbbox.c + src/base/ftmm.c - src/base/ftmac.c -- only on the Macintosh + src/base/ftmac.c -- only on the Macintosh - -- other components are optional + -- other components are optional - src/autohint/autohint.c -- auto hinting module - src/cache/ftcache.c -- cache sub-system (in beta) - src/sfnt/sfnt.c -- SFNT files support (TrueType & OpenType) - src/cff/cff.c -- CFF/OpenType font driver - src/psnames/psnames.c -- Postscript glyph names support - src/psaux/psaux.c -- Postscript Type 1 parsing - src/truetype/truetype.c -- TrueType font driver - src/type1/type1.c -- Type 1 font driver - src/cid/type1cid.c -- Type 1 CID-keyed font driver - src/winfonts/winfonts.c -- Windows FONT / FNT font driver + src/autohint/autohint.c -- auto hinting module + src/cache/ftcache.c -- cache sub-system (in beta) + src/sfnt/sfnt.c -- SFNT files support (TrueType & OpenType) + src/cff/cff.c -- CFF/OpenType font driver + src/psnames/psnames.c -- Postscript glyph names support + src/psaux/psaux.c -- Postscript Type 1 parsing + src/truetype/truetype.c -- TrueType font driver + src/type1/type1.c -- Type 1 font driver + src/cid/type1cid.c -- Type 1 CID-keyed font driver + src/winfonts/winfonts.c -- Windows FONT / FNT font driver - note that: + Note: - 'truetype.c' needs 'sfnt.c' and 'psnames.c' - 'type1.c' needs 'psaux.c' and 'psnames.c' - 'type1cid.c' needs 'psaux.c' and 'psnames.c' - 'cff.c' needs 'sfnt.c', 'psaux.c' and 'psnames.c' + `truetype.c' needs `sfnt.c' and `psnames.c' + `type1.c' needs `psaux.c' and `psnames.c' + `type1cid.c' needs `psaux.c' and `psnames.c' + `cff.c' needs `sfnt.c', `psaux.c', and `psnames.c' - etc. + etc. + + +--- end of INSTALL -- diff --git a/builds/compiler/bcc-dev.mk b/builds/compiler/bcc-dev.mk index 52b188c3a..e9b2eea5e 100644 --- a/builds/compiler/bcc-dev.mk +++ b/builds/compiler/bcc-dev.mk @@ -1,9 +1,20 @@ -# Copyright 2000 David Turner # -# Borland C++-specific with NO OPTIMISATIONS + DEBUGGING +# FreeType 2 Borland C++-specific with NO OPTIMIZATIONS + DEBUGGING # + +# 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. + + # Compiler command line name +# CC := bcc32 # The object file extension (for standard and static libraries). This can be @@ -26,7 +37,7 @@ I := -I # C flag used to define a macro before the compilation of a given source -# object. Usually is `-D' like in `-DDEBUG'. +# object. Usually it is `-D' like in `-DDEBUG'. # D := -D @@ -37,7 +48,7 @@ D := -D L := -# Target flag. - no trailing space +# Target flag -- no trailing space. # T := -o @@ -61,9 +72,10 @@ ANSIFLAGS := -A # Library linking # ifndef CLEAN_LIBRARY -CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) $(NO_OUTPUT) + CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) \ + $(NO_OUTPUT) endif TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST)) -LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%) +LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%) # EOF diff --git a/builds/compiler/bcc.mk b/builds/compiler/bcc.mk index 2d70ffeb4..8c9fabfc0 100644 --- a/builds/compiler/bcc.mk +++ b/builds/compiler/bcc.mk @@ -1,9 +1,20 @@ -# Copyright 2000 David Turner # -# Borland C++-specific rules +# FreeType 2 Borland C++-specific rules # + +# 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. + + # Compiler command line name +# CC := bcc32 # The object file extension (for standard and static libraries). This can be @@ -26,7 +37,7 @@ I := -I # C flag used to define a macro before the compilation of a given source -# object. Usually is `-D' like in `-DDEBUG'. +# object. Usually it is `-D' like in `-DDEBUG'. # D := -D @@ -37,7 +48,7 @@ D := -D L := -# Target flag. - no trailing space +# Target flag -- no trailing space. # T := -o @@ -61,9 +72,10 @@ ANSIFLAGS := -A # Library linking # ifndef CLEAN_LIBRARY -CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) $(NO_OUTPUT) + CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) \ + $(NO_OUTPUT) endif TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST)) -LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%) +LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%) # EOF diff --git a/builds/compiler/visualage.mk b/builds/compiler/visualage.mk index 7d5533b74..3d07ac6ec 100644 --- a/builds/compiler/visualage.mk +++ b/builds/compiler/visualage.mk @@ -15,7 +15,7 @@ # command line compiler name # -CC := icc +CC := icc # The object file extension (for standard and static libraries). This can be @@ -39,7 +39,7 @@ I := /I # C flag used to define a macro before the compilation of a given source -# object. Usually is `-D' like in `-DDEBUG'. +# object. Usually it is `-D' like in `-DDEBUG'. # D := /D diff --git a/builds/toplevel.mk b/builds/toplevel.mk index 478b8250b..fe1af48f1 100644 --- a/builds/toplevel.mk +++ b/builds/toplevel.mk @@ -34,7 +34,7 @@ # details on host platform detection and library builds. -.PHONY: setup +.PHONY: setup distclean # The `space' variable is used to avoid trailing spaces in defining the # `T' variable later. diff --git a/builds/unix/detect.mk b/builds/unix/detect.mk index a59aae797..cbdefd5ad 100644 --- a/builds/unix/detect.mk +++ b/builds/unix/detect.mk @@ -12,6 +12,7 @@ # indicate that you have read the license and understand and accept it # fully. +.PHONY: devel lcc setup unix ifeq ($(PLATFORM),ansi) diff --git a/builds/win32/detect.mk b/builds/win32/detect.mk index be6d3d9f8..6e4624c3a 100644 --- a/builds/win32/detect.mk +++ b/builds/win32/detect.mk @@ -89,7 +89,7 @@ ifeq ($(PLATFORM),ansi) mingw32: setup endif - ifneq ($(findstring bcc32,$(MAKECMDGOALS)),) # Borland C++ + ifneq ($(findstring bcc32,$(MAKECMDGOALS)),) # Borland C++ CONFIG_FILE := w32-bcc.mk SEP := $(BACKSLASH) CC := bcc32 diff --git a/builds/win32/w32-bcc.mk b/builds/win32/w32-bcc.mk index 76991a4e4..824ddadb3 100644 --- a/builds/win32/w32-bcc.mk +++ b/builds/win32/w32-bcc.mk @@ -1,7 +1,18 @@ # -# Borland C++ on Win32 +# FreeType 2 Borland C++ on Win32 # + +# 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. + + SEP := / include $(TOP)/builds/win32/win32-def.mk include $(TOP)/builds/compiler/bcc.mk diff --git a/builds/win32/w32-bccd.mk b/builds/win32/w32-bccd.mk index 4c307165c..943f72ca2 100644 --- a/builds/win32/w32-bccd.mk +++ b/builds/win32/w32-bccd.mk @@ -1,7 +1,18 @@ # -# Borland C++ on Win32 + debugging +# FreeType 2 Borland C++ on Win32 + debugging # + +# 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. + + SEP := / include $(TOP)/builds/win32/win32-def.mk include $(TOP)/builds/compiler/bcc-dev.mk diff --git a/include/freetype/cache/ftlru.h b/include/freetype/cache/ftlru.h index 5b7b2c877..538a23826 100644 --- a/include/freetype/cache/ftlru.h +++ b/include/freetype/cache/ftlru.h @@ -139,44 +139,31 @@ FT_BEGIN_HEADER } 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( 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_Reset( FT_Lru lru ); + FT_EXPORT( void ) FT_Lru_Done ( FT_Lru lru ); + FT_EXPORT( FT_Error ) FT_Lru_Lookup_Node( FT_Lru lru, + FT_LruKey key, + FT_LruNode *anode ); - FT_EXPORT( void ) - FT_Lru_Done ( FT_Lru lru ); + FT_EXPORT( FT_Error ) FT_Lru_Lookup( FT_Lru lru, + FT_LruKey key, + FT_Pointer *anobject ); - - 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_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_EXPORT( void ) FT_Lru_Remove_Selection( FT_Lru lru, + FT_Lru_Selector selector, + FT_Pointer data ); FT_END_HEADER diff --git a/include/freetype/config/ftbuild.h b/include/freetype/config/ftbuild.h index 059c547a7..9d501624f 100644 --- a/include/freetype/config/ftbuild.h +++ b/include/freetype/config/ftbuild.h @@ -2,8 +2,7 @@ /* */ /* ftbuild.h */ /* */ -/* This file is used to define important macros needed to */ -/* perform a build of the FreeType 2 library.. */ +/* Build macros of the FreeType 2 library. */ /* */ /* Copyright 1996-2000 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ @@ -16,171 +15,188 @@ /* */ /***************************************************************************/ + #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 - * - * 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 + + /*************************************************************************/ + /* */ + /* 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 */ + /* */ + /* Redefine it to something different if necessary, depending where the */ + /* library is installed on the particular 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 - * - * 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 + + /*************************************************************************/ + /* */ + /* 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 */ + /* include with a line like: */ + /* */ + /* #include */ + /* */ + /* Redefine it to something different, depending where the library is */ + /* installed on the particular 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) + + /*************************************************************************/ + /* */ + /* 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 ) -/**************************************************************************** - * - * 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) + /*************************************************************************/ + /* */ + /* The macro FT_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 FT_CONFIG_FILE( 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) - -/**************************************************************************** - * - * 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) + /*************************************************************************/ + /* */ + /* The macro FT_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 FT_INTERNAL_FILE( 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 - */ + /*************************************************************************/ + /* */ + /* 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). */ + /* */ + /* 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. */ + /* */ +#define FT_COMPONENT_FILE( 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). */ + /* */ + /* 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. */ + /* */ #ifdef FT_FLAT_COMPILATION -# define FT_SOURCE_FILE(d,x) +#define FT_SOURCE_FILE( d, x ) #else -# define FT_SOURCE_FILE(d,x) "x" +#define FT_SOURCE_FILE( d, x ) "x" #endif -/**************************************************************************** - * - * FT_BEGIN_HEADER - * - * - * 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 - */ + /*************************************************************************/ + /* */ + /* */ + /* FT_BEGIN_HEADER */ + /* */ + /* */ + /* 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" { +#define FT_BEGIN_HEADER extern "C" { #else -# define FT_BEGIN_HEADER /* nothing */ +#define FT_BEGIN_HEADER /* nothing */ #endif -/**************************************************************************** - * - * FT_END_HEADER - * - * - * 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 - */ + + /*************************************************************************/ + /* */ + /* */ + /* FT_END_HEADER */ + /* */ + /* */ + /* 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 } +#define FT_END_HEADER } #else -# define FT_END_HEADER /* nothing */ +#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) + /*************************************************************************/ + /* */ + /* Aliases for the FreeType 2 public and configuration files. */ + /* */ + /*************************************************************************/ -/* 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) + /* don't add spaces around arguments to FT_CONFIG_FILE! */ -#define FT_TYPES_H FT_PUBLIC_FILE(fttypes.h) + /* 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) -#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) + /* 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) -/* now include internal headers definitions from */ +#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 */ #include FT_PUBLIC_FILE(internal/internal.h) + #endif /* __FT_BUILD_H__ */ + +/* END */ diff --git a/include/freetype/fterrors.h b/include/freetype/fterrors.h index b8269d812..8764b0167 100644 --- a/include/freetype/fterrors.h +++ b/include/freetype/fterrors.h @@ -50,16 +50,16 @@ #undef FT_NEED_EXTERN_C -#ifndef FT_ERRORDEF +#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 }; +#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 */ diff --git a/include/freetype/ftimage.h b/include/freetype/ftimage.h index d375a2251..16f42ca6f 100644 --- a/include/freetype/ftimage.h +++ b/include/freetype/ftimage.h @@ -24,13 +24,16 @@ /*************************************************************************/ -#ifndef FTIMAGE_H -#define FTIMAGE_H +#ifndef __FTIMAGE_H__ +#define __FTIMAGE_H__ -#ifdef __cplusplus - extern "C" { +#ifndef FT_BUILD_H +# define FT_BUILD_H #endif +#include FT_BUILD_H + +FT_BEGIN_HEADER /*************************************************************************/ @@ -992,12 +995,10 @@ } FT_Raster_Funcs; -#ifdef __cplusplus - } -#endif +FT_END_HEADER -#endif /* FTIMAGE_H */ +#endif /* __FTIMAGE_H__ */ /* END */ diff --git a/include/freetype/internal/internal.h b/include/freetype/internal/internal.h index cfe8b4a61..767cc08bb 100644 --- a/include/freetype/internal/internal.h +++ b/include/freetype/internal/internal.h @@ -1,29 +1,55 @@ -/* this file is automatically included by */ -/* do not include it manually !! */ +/***************************************************************************/ +/* */ +/* internal.h */ +/* */ +/* Internal header files (specification only). */ +/* */ +/* 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. */ +/* */ +/***************************************************************************/ -/* 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) + /*************************************************************************/ + /* */ + /* This file is automatically included by `ftbuild.h'. */ + /* Do not include it manually! */ + /* */ + /*************************************************************************/ -#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) + /* don't add spaces around the argument of FT_INTERNAL_FILE! */ -#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_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_POSTSCRIPT_NAMES_H FT_INTERNAL_FILE(psnames.h) -#define FT_INTERNAL_POSTSCRIPT_AUX_H FT_INTERNAL_FILE(psaux.h) +#define FT_INTERNAL_SFNT_H FT_INTERNAL_FILE(sfnt.h) -#define FT_INTERNAL_AUTOHINT_H FT_INTERNAL_FILE(autohint.h) -#define FT_INTERNAL_FNT_TYPES_H FT_INTERNAL_FILE(fnttypes.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) + + +/* END */ diff --git a/include/freetype/internal/t1types.h b/include/freetype/internal/t1types.h index 2f27a077d..0aa42cc7d 100644 --- a/include/freetype/internal/t1types.h +++ b/include/freetype/internal/t1types.h @@ -49,7 +49,7 @@ FT_BEGIN_HEADER /* T1_Encoding */ /* */ /* */ - /* A structure modeling a custom encoding */ + /* A structure modeling a custom encoding. */ /* */ /* */ /* num_chars :: The number of character codes in the encoding. */ diff --git a/include/freetype/internal/t2types.h b/include/freetype/internal/t2types.h index c4e8dc2db..29ab9675f 100644 --- a/include/freetype/internal/t2types.h +++ b/include/freetype/internal/t2types.h @@ -38,7 +38,7 @@ FT_BEGIN_HEADER /* A structure used to model a CFF Index table. */ /* */ /* */ - /* stream :: source input stream */ + /* stream :: The source input stream. */ /* */ /* count :: The number of elements in the index. */ /* */ @@ -47,7 +47,7 @@ FT_BEGIN_HEADER /* data_offset :: The position of first data byte in the index's */ /* bytes. */ /* */ - /* offsets :: table of element offsets in the index */ + /* offsets :: A table of element offsets in the index. */ /* */ /* bytes :: If the index is loaded in memory, its bytes. */ /* */