* 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.


* builds/toplevel.mk (.PHONY): Adding `distclean'.
* builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
`setup'.


* 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 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/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/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).
This commit is contained in:
Werner Lemberg 2000-12-01 17:25:58 +00:00
parent b1aabf4c5e
commit 4c80f0c9ca
17 changed files with 393 additions and 296 deletions

View File

@ -1,27 +1,44 @@
2000-12-01 Werner Lemberg <wl@gnu.org>
* 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 <wl@gnu.org>
* builds/toplevel.mk (.PHONY): Adding `distclean'.
* builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
`setup'.
2000-11-30 David Turner <david.turner@freetype.ogr> 2000-11-30 David Turner <david.turner@freetype.ogr>
* INSTALL: slightly updated the quick starter documentation to * INSTALL: Slightly updated the quick starter documentation to
include IDE compilation, prevent agains BSD Make, and specify include IDE compilation, prevent against BSD Make, and specify "make
"make setup" instead of a single "make" for build configuration. setup" instead of a single "make" for build configuration.
* include/config/ftbuild.h, include/internal/internal.h: added * include/config/ftbuild.h, include/internal/internal.h: Added new
a new configuration file used to determine where are all public, configuration files used to determine the location of all public,
configuration and internal header files for FreeType 2. I also configuration, and internal header files for FreeType 2. Modified
modified all headers under "include/freetype" to reflect this all headers under "include/freetype" to reflect this change. Note
change. Note that we still need to change the library source that we still need to change the library source files themselves
files themselves though.. though.
* builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk, * builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk,
builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk, builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk,
builds/win32/detect.mk: added new files to support compilation with builds/win32/detect.mk: Added new files to support compilation with
the free Borland C++ command-line compiler. Modified the detection the free Borland C++ command-line compiler. Modified the detection
rules to recognize the new "bcc32" target in "make setup bcc32" rules to recognize the new "bcc32" target in "make setup bcc32".
* src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c, * src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
src/truetype/ttobjs.c, src/truetype/ttgload.c, src/truetype/ttinterp.c: src/truetype/ttobjs.c, src/truetype/ttgload.c,
fixed a few comparisons that Borland C++ didn't really like. Basically, src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++
this compiler complains when a FT_UInt is compared to a FT_UShort didn't really like. Basically, this compiler complains when FT_UInt
(apparently, it promotes the UShort to an Int in these cases) is compared to FT_UShort (apparently, it promotes `UShort' to `Int'
in these cases).
2000-11-30 Tom Kacvinsky <tjk@ams.org> 2000-11-30 Tom Kacvinsky <tjk@ams.org>

113
INSTALL
View File

@ -1,90 +1,93 @@
In order to build the library, read the `BUILD' document in the `docs' 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: I. From the command line:
You need to have GNU Make installed on your system to compile the You need to have GNU Make installed on your system to compile the
library from the command line. This will _not_ work with other library from the command line. This will _not_ work with other
Make tools (including the BSD ones !!) 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 setup (don't worry, this will invoke a configure script)
- make - make
- make install - make install
alternatively, you can pass parameters to the configure script Alternatively, you can pass parameters to the configure script
with the CFG variable, as in: within the CFG variable, as in:
- make setup CFG="--prefix=/usr" - make setup CFG="--prefix=/usr"
- make - make
- make install - make install
- On Windows: - On Windows:
we provide a version of GNU Make for Win32 on the FreeType site. We provide a version of GNU Make for Win32 on the FreeType site.
See http://www.freetype.org/download.html for details.. See http://www.freetype.org/download.html for details.
o if you're using gcc: If you are using gcc:
- make setup - make setup
- make - make
o if you're using Visual C++: If you are using Visual C++:
- make setup visualc - make setup visualc
- make - make
o if you're using Win32-lCC: If you are using Win32-lCC:
- make setup lcc - make setup lcc
- make - make
o if you're using the Borland C++ Builder compiler: If you are using the Borland C++ Builder compiler:
- make setup bcc32 - make setup bcc32
- make - make
II. In your own environment (IDE): 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. 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/ftsystem.c
src/base/ftinit.c src/base/ftinit.c
src/base/ftdebug.c src/base/ftdebug.c
src/base/ftbase.c src/base/ftbase.c
src/base/ftglyph.c src/base/ftglyph.c
src/base/ftbbox.c src/base/ftbbox.c
src/base/ftmm.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/autohint/autohint.c -- auto hinting module
src/cache/ftcache.c -- cache sub-system (in beta) src/cache/ftcache.c -- cache sub-system (in beta)
src/sfnt/sfnt.c -- SFNT files support (TrueType & OpenType) src/sfnt/sfnt.c -- SFNT files support (TrueType & OpenType)
src/cff/cff.c -- CFF/OpenType font driver src/cff/cff.c -- CFF/OpenType font driver
src/psnames/psnames.c -- Postscript glyph names support src/psnames/psnames.c -- Postscript glyph names support
src/psaux/psaux.c -- Postscript Type 1 parsing src/psaux/psaux.c -- Postscript Type 1 parsing
src/truetype/truetype.c -- TrueType font driver src/truetype/truetype.c -- TrueType font driver
src/type1/type1.c -- Type 1 font driver src/type1/type1.c -- Type 1 font driver
src/cid/type1cid.c -- Type 1 CID-keyed font driver src/cid/type1cid.c -- Type 1 CID-keyed font driver
src/winfonts/winfonts.c -- Windows FONT / FNT font driver src/winfonts/winfonts.c -- Windows FONT / FNT font driver
note that: Note:
'truetype.c' needs 'sfnt.c' and 'psnames.c' `truetype.c' needs `sfnt.c' and `psnames.c'
'type1.c' needs 'psaux.c' and 'psnames.c' `type1.c' needs `psaux.c' and `psnames.c'
'type1cid.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' `cff.c' needs `sfnt.c', `psaux.c', and `psnames.c'
etc. etc.
--- end of INSTALL --

View File

@ -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 # Compiler command line name
#
CC := bcc32 CC := bcc32
# The object file extension (for standard and static libraries). This can be # 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 # 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 D := -D
@ -37,7 +48,7 @@ D := -D
L := L :=
# Target flag. - no trailing space # Target flag -- no trailing space.
# #
T := -o T := -o
@ -61,9 +72,10 @@ ANSIFLAGS := -A
# Library linking # Library linking
# #
ifndef CLEAN_LIBRARY ifndef CLEAN_LIBRARY
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) $(NO_OUTPUT) CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) \
$(NO_OUTPUT)
endif endif
TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST)) TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST))
LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%) LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%)
# EOF # EOF

View File

@ -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 # Compiler command line name
#
CC := bcc32 CC := bcc32
# The object file extension (for standard and static libraries). This can be # 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 # 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 D := -D
@ -37,7 +48,7 @@ D := -D
L := L :=
# Target flag. - no trailing space # Target flag -- no trailing space.
# #
T := -o T := -o
@ -61,9 +72,10 @@ ANSIFLAGS := -A
# Library linking # Library linking
# #
ifndef CLEAN_LIBRARY ifndef CLEAN_LIBRARY
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) $(NO_OUTPUT) CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) \
$(NO_OUTPUT)
endif endif
TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST)) TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST))
LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%) LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%)
# EOF # EOF

View File

@ -15,7 +15,7 @@
# command line compiler name # command line compiler name
# #
CC := icc CC := icc
# The object file extension (for standard and static libraries). This can be # 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 # 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 D := /D

View File

@ -34,7 +34,7 @@
# details on host platform detection and library builds. # 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 # The `space' variable is used to avoid trailing spaces in defining the
# `T' variable later. # `T' variable later.

View File

@ -12,6 +12,7 @@
# indicate that you have read the license and understand and accept it # indicate that you have read the license and understand and accept it
# fully. # fully.
.PHONY: devel lcc setup unix
ifeq ($(PLATFORM),ansi) ifeq ($(PLATFORM),ansi)

View File

@ -89,7 +89,7 @@ ifeq ($(PLATFORM),ansi)
mingw32: setup mingw32: setup
endif endif
ifneq ($(findstring bcc32,$(MAKECMDGOALS)),) # Borland C++ ifneq ($(findstring bcc32,$(MAKECMDGOALS)),) # Borland C++
CONFIG_FILE := w32-bcc.mk CONFIG_FILE := w32-bcc.mk
SEP := $(BACKSLASH) SEP := $(BACKSLASH)
CC := bcc32 CC := bcc32

View File

@ -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 := / SEP := /
include $(TOP)/builds/win32/win32-def.mk include $(TOP)/builds/win32/win32-def.mk
include $(TOP)/builds/compiler/bcc.mk include $(TOP)/builds/compiler/bcc.mk

View File

@ -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 := / SEP := /
include $(TOP)/builds/win32/win32-def.mk include $(TOP)/builds/win32/win32-def.mk
include $(TOP)/builds/compiler/bcc-dev.mk include $(TOP)/builds/compiler/bcc-dev.mk

View File

@ -139,44 +139,31 @@ FT_BEGIN_HEADER
} FT_LruRec; } FT_LruRec;
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error ) FT_Lru_New( const FT_Lru_Class* clazz,
FT_Lru_New( const FT_Lru_Class* clazz, FT_UInt max_elements,
FT_UInt max_elements, FT_Pointer user_data,
FT_Pointer user_data, FT_Memory memory,
FT_Memory memory, FT_Bool pre_alloc,
FT_Bool pre_alloc, FT_Lru *anlru );
FT_Lru *anlru );
FT_EXPORT( void ) FT_Lru_Reset( FT_Lru lru );
FT_EXPORT( void ) FT_EXPORT( void ) FT_Lru_Done ( FT_Lru lru );
FT_Lru_Reset( FT_Lru lru );
FT_EXPORT( FT_Error ) FT_Lru_Lookup_Node( FT_Lru lru,
FT_LruKey key,
FT_LruNode *anode );
FT_EXPORT( void ) FT_EXPORT( FT_Error ) FT_Lru_Lookup( FT_Lru lru,
FT_Lru_Done ( FT_Lru lru ); FT_LruKey key,
FT_Pointer *anobject );
FT_EXPORT( void ) FT_Lru_Remove_Node( FT_Lru lru,
FT_EXPORT( FT_Error ) FT_LruNode node );
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_EXPORT( void ) FT_Lru_Selector selector,
FT_Lru_Remove_Selection( FT_Lru lru, FT_Pointer data );
FT_Lru_Selector selector,
FT_Pointer data );
FT_END_HEADER FT_END_HEADER

View File

@ -2,8 +2,7 @@
/* */ /* */
/* ftbuild.h */ /* ftbuild.h */
/* */ /* */
/* This file is used to define important macros needed to */ /* Build macros of the FreeType 2 library. */
/* perform a build of the FreeType 2 library.. */
/* */ /* */
/* Copyright 1996-2000 by */ /* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
@ -16,171 +15,188 @@
/* */ /* */
/***************************************************************************/ /***************************************************************************/
#ifndef __FT_BUILD_H__ #ifndef __FT_BUILD_H__
#define __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 /* The macro FT_ROOT is used to define the root of all public header */
* means that all public files should be included with a line like: /* 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/....> /* */
* /* #include <freetype/...> */
* you can re-define it to something different, depending on the way /* */
* you installed the library on your system. /* Redefine it to something different if necessary, depending where the */
* /* library is installed on the particular system. */
*/ /* */
#ifndef FT_ROOT #ifndef FT_ROOT
# define FT_ROOT freetype #define FT_ROOT freetype
#endif #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", /* The macro FT_CONFIG_ROOT is used to define the root of all */
* which means that all config files should be included with a line like: /* configuration header files for FreeType 2. By default, it is set to */
* /* "freetype/config", which means that all config files should be */
* #include <freetype/config/...> /* include with a line like: */
* /* */
* you can re-define it to something different, depending on the way /* #include <freetype/config/...> */
* you installed the library on your system. /* */
* /* 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 #ifndef FT_CONFIG_ROOT
#define FT_CONFIG_ROOT FT_ROOT/config
#endif #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 /* The macro FT_PUBLIC_FILE is used to include a FreeType 2 public file. */
* given header 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> /* */
#define FT_PUBLIC_FILE( x ) <FT_ROOT/x>
/**************************************************************************** /*************************************************************************/
* /* */
* the macro FT_CONFIG_FILE is used to include a FreeType 2 config file /* 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 /* Its parameter is the file pathname, relative to the configuration */
* given header file. /* root directory of a given header file. */
*/ /* */
#define FT_CONFIG_FILE(x) <FT_CONFIG_ROOT/x> #define FT_CONFIG_FILE( x ) <FT_CONFIG_ROOT/x>
/**************************************************************************** /*************************************************************************/
* /* */
* the macro FT_INTERNAL_FILE is used to include a FreeType 2 internal file /* The macro FT_INTERNAL_FILE is used to include a FreeType 2 internal */
* its parameter is the file pathname, relative to the configurationroot of a /* file. Its parameter is the file pathname, relative to the */
* given header file. /* configuration root directory of a given header file. */
*/ /* */
#define FT_INTERNAL_FILE(x) <FT_ROOT/internal/x> #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 /* The macro FT_COMPONENT_FILE is used to include a given FreeType 2 */
* source file (be it a header, a C source file, or an included file). /* 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 /* Its first argument is the component/module's directory according to */
* file name. /* 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 /* Note that you can also put all library source files in a single */
* FT_FLAT_COMPILATION /* 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). */
/* */
/* 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 #ifdef FT_FLAT_COMPILATION
# define FT_SOURCE_FILE(d,x) <d/x> #define FT_SOURCE_FILE( d, x ) <d/x>
#else #else
# define FT_SOURCE_FILE(d,x) "x" #define FT_SOURCE_FILE( d, x ) "x"
#endif #endif
/**************************************************************************** /*************************************************************************/
* /* */
* <Macro> FT_BEGIN_HEADER /* <Macro> */
* /* FT_BEGIN_HEADER */
* <Description> /* */
* this macro is used in association with @FT_END_HEADER in header /* <Description> */
* files to ensure that the declarations within are properly encapsulated /* This macro is used in association with @FT_END_HEADER in header */
* in an 'extern "C" { .. }' block when included from a C++ compiler /* files to ensure that the declarations within are properly */
*/ /* encapsulated in an `extern "C" { .. }' block when included from a */
/* C++ compiler. */
/* */
#ifdef __cplusplus #ifdef __cplusplus
# define FT_BEGIN_HEADER extern "C" { #define FT_BEGIN_HEADER extern "C" {
#else #else
# define FT_BEGIN_HEADER /* nothing */ #define FT_BEGIN_HEADER /* nothing */
#endif #endif
/****************************************************************************
* /*************************************************************************/
* <Macro> FT_END_HEADER /* */
* /* <Macro> */
* <Description> /* 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 /* <Description> */
* in an 'extern "C" { .. }' block when included from a C++ compiler /* 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 #ifdef __cplusplus
# define FT_END_HEADER } #define FT_END_HEADER }
#else #else
# define FT_END_HEADER /* nothing */ #define FT_END_HEADER /* nothing */
#endif #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) /* Aliases for the FreeType 2 public and configuration files. */
#define FT_CONFIG_MODULES_H FT_CONFIG_FILE(ftmodule.h) /* */
/*************************************************************************/
/* public headers */ /* don't add spaces around arguments to FT_CONFIG_FILE! */
#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) /* 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) /* public headers */
#define FT_GLYPH_H FT_PUBLIC_FILE(ftglyph.h) #define FT_ERRORS_H FT_PUBLIC_FILE(fterrors.h)
#define FT_BBOX_H FT_PUBLIC_FILE(ftbbox.h) #define FT_SYSTEM_H FT_PUBLIC_FILE(ftsystem.h)
#define FT_CACHE_H FT_PUBLIC_FILE(ftcache.h) #define FT_IMAGE_H FT_PUBLIC_FILE(ftimage.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/..>*/ #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) #include FT_PUBLIC_FILE(internal/internal.h)
#endif /* __FT_BUILD_H__ */ #endif /* __FT_BUILD_H__ */
/* END */

View File

@ -50,16 +50,16 @@
#undef FT_NEED_EXTERN_C #undef FT_NEED_EXTERN_C
#ifndef FT_ERRORDEF #ifndef FT_ERRORDEF
# define FT_ERRORDEF( e, v, s ) e = v, #define FT_ERRORDEF( e, v, s ) e = v,
# define FT_ERROR_START_LIST enum { #define FT_ERROR_START_LIST enum {
# define FT_ERROR_END_LIST FT_Err_Max }; #define FT_ERROR_END_LIST FT_Err_Max };
# ifdef __cplusplus #ifdef __cplusplus
# define FT_NEED_EXTERN_C #define FT_NEED_EXTERN_C
extern "C" { extern "C" {
# endif #endif
#endif /* !FT_ERRORDEF */ #endif /* !FT_ERRORDEF */

View File

@ -24,13 +24,16 @@
/*************************************************************************/ /*************************************************************************/
#ifndef FTIMAGE_H #ifndef __FTIMAGE_H__
#define FTIMAGE_H #define __FTIMAGE_H__
#ifdef __cplusplus #ifndef FT_BUILD_H
extern "C" { # define FT_BUILD_H <freetype/config/ftbuild.h>
#endif #endif
#include FT_BUILD_H
FT_BEGIN_HEADER
/*************************************************************************/ /*************************************************************************/
@ -992,12 +995,10 @@
} FT_Raster_Funcs; } FT_Raster_Funcs;
#ifdef __cplusplus FT_END_HEADER
}
#endif
#endif /* FTIMAGE_H */ #endif /* __FTIMAGE_H__ */
/* END */ /* END */

View File

@ -1,29 +1,55 @@
/* this file is automatically included by <freetype/config/ftbuild.h> */ /***************************************************************************/
/* 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) /* don't add spaces around the argument of FT_INTERNAL_FILE! */
#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_OBJECTS_H FT_INTERNAL_FILE(ftobjs.h)
#define FT_INTERNAL_CFF_TYPES_H FT_INTERNAL_FILE(t2types.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_SFNT_H FT_INTERNAL_FILE(sfnt.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_TRUETYPE_TYPES_H FT_INTERNAL_FILE(tttypes.h)
#define FT_INTERNAL_FNT_TYPES_H FT_INTERNAL_FILE(fnttypes.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 */

View File

@ -49,7 +49,7 @@ FT_BEGIN_HEADER
/* T1_Encoding */ /* T1_Encoding */
/* */ /* */
/* <Description> */ /* <Description> */
/* A structure modeling a custom encoding */ /* A structure modeling a custom encoding. */
/* */ /* */
/* <Fields> */ /* <Fields> */
/* num_chars :: The number of character codes in the encoding. */ /* num_chars :: The number of character codes in the encoding. */

View File

@ -38,7 +38,7 @@ FT_BEGIN_HEADER
/* A structure used to model a CFF Index table. */ /* A structure used to model a CFF Index table. */
/* */ /* */
/* <Fields> */ /* <Fields> */
/* stream :: source input stream */ /* stream :: The source input stream. */
/* */ /* */
/* count :: The number of elements in the index. */ /* 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 */ /* data_offset :: The position of first data byte in the index's */
/* bytes. */ /* 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. */ /* bytes :: If the index is loaded in memory, its bytes. */
/* */ /* */