* builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to

FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
files.
* builds/unix/ftconfig.in: Add argument to FT_LOCAL and
FT_LOCAL_DEF.
* src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
* builds/unix/configure.ac: Temporarily deactivate creation of
../../Jamfile.
* builds/unix/configure: Updated.
This commit is contained in:
Werner Lemberg 2002-03-29 07:43:04 +00:00
parent 2282f341d6
commit b1e6e59782
17 changed files with 272 additions and 209 deletions

View File

@ -1,3 +1,15 @@
2002-03-29 Werner Lemberg <wl@gnu.org>
* builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to
FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
files.
* builds/unix/ftconfig.in: Add argument to FT_LOCAL and
FT_LOCAL_DEF.
* src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
* builds/unix/configure.ac: Temporarily deactivate creation of
../../Jamfile.
* builds/unix/configure: Updated.
2002-03-28 KUSANO Takayuki <AE5T-KSN@asahi-net.or.jp>
* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fix serious typos.
@ -34,9 +46,11 @@
src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Updated
the SFNT charmap support to use FT_CMaps.
* include/freetype/config/ftheader.h, include/freetype/fterrors.h:
Modified "fterrors.h" to include the error definitions list found in
"fterrdef.h".
* include/freetype/fterrdef.h: New file.
* include/freetype/fterrors.h: Include it. It contains all error
codes.
* include/freetype/config/ftheader.h (FT_ERROR_DEFINITIONS_H): New
macro.
* include/freetype/internal/ftmemory.h, and a lot of other files:
Changed the names of memory macros. Examples:
@ -75,6 +89,10 @@
Also introduced the FT_PEEK_XXXX functions.
* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_CMAPS,
TT_CONFIG_CMAP_FORMAT{0,2,4,6,8,10,12}): New macros to fine-tune
support of cmaps.
2002-03-21 David Turner <david@freetype.org>
* src/base/ftobjs.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c: Updated
@ -302,10 +320,10 @@
* include/freetype/ftconfig.h: Changed `FT_LOCAL xxxx' to
`FT_LOCAL( xxxx )' everywhere in the source. The same goes for
`FT_LOCAL_DEF xxxx' translated to `FT_LOCAL_DEF( xxxxx )'.
`FT_LOCAL_DEF xxxx' which is translated to `FT_LOCAL_DEF( xxxxx )'.
* include/freetype/freetype.h: Changing version to 2.1.0 to indicate
an unstable branch.
* include/freetype/freetype.h (FREETYPE_MINOR, FREETYPE_PATCH):
Changing version to 2.1.0 to indicate an unstable branch.
Added the declarations of FT_Get_First_Char and FT_Get_Next_Char.
* src/base/ftobjs.c: Implement FT_Get_First_Char and
@ -326,7 +344,7 @@
typedef PS_StructRec T1_Struct; /* backwards-compatibility */
Hence, we increase the coherency of the source code by effectively
using the `Rec' prefix for structure types.
using the `Rec' prefix for structure types.
2002-02-27 David Turner <david@freetype.org>
@ -376,6 +394,9 @@
FT_Stream_IO => FT_Stream_IOFunc
FT_Stream_Close => FT_Stream_CloseFunc
ft_close_stream => ft_ansi_stream_close (in base/ftsystem.c only)
ft_io_stream => ft_ansi_stream_io (in base/ftsystem.c only)
* Moving all memory and list management code to "src/base/ftutil.c"
(previously in "ftobjs.c" and "ftlist.c" respectively).

View File

@ -1,3 +1,31 @@
/***************************************************************************/
/* */
/* ftsystem.c */
/* */
/* Amiga-specific FreeType low-level system interface (body). */
/* */
/* Copyright 1996-2001, 2002 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. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This file contains the Amiga interface used by FreeType to access */
/* low-level, i.e. memory management, i/o access as well as thread */
/* synchronisation. */
/* */
/*************************************************************************/
// Maintained by Detlef Würkner <TetiSoft@apg.lahn.de>
// TetiSoft: Modified to avoid fopen() fclose() fread() fseek() ftell()
// malloc() realloc() and free() which can't be used in an amiga
// shared run-time library linked with libinit.o
@ -22,79 +50,62 @@
/* TetiSoft: Missing in alib_protos.h, see amiga.lib autodoc
* (These amiga.lib functions work under AmigaOS V33 and up)
*/
extern APTR __asm AsmCreatePool(register __d0 ULONG memFlags,
register __d1 ULONG puddleSize,
register __d2 ULONG threshSize,
register __a6 struct ExecBase *SysBase);
extern APTR __asm
AsmCreatePool( register __d0 ULONG memFlags,
register __d1 ULONG puddleSize,
register __d2 ULONG threshSize,
register __a6 struct ExecBase* SysBase );
extern VOID __asm AsmDeletePool(register __a0 APTR poolHeader,
register __a6 struct ExecBase *SysBase);
extern VOID __asm
AsmDeletePool( register __a0 APTR poolHeader,
register __a6 struct ExecBase* SysBase );
extern APTR __asm AsmAllocPooled(register __a0 APTR poolHeader,
register __d0 ULONG memSize,
register __a6 struct ExecBase *SysBase);
extern APTR __asm
AsmAllocPooled( register __a0 APTR poolHeader,
register __d0 ULONG memSize,
register __a6 struct ExecBase* SysBase );
extern VOID __asm AsmFreePooled(register __a0 APTR poolHeader,
register __a1 APTR memory,
register __d0 ULONG memSize,
register __a6 struct ExecBase *SysBase);
extern VOID __asm
AsmFreePooled( register __a0 APTR poolHeader,
register __a1 APTR memory,
register __d0 ULONG memSize,
register __a6 struct ExecBase* SysBase);
#endif
// TetiSoft: C implementation of AllocVecPooled (see autodoc exec/AllocPooled)
APTR AllocVecPooled(APTR poolHeader, ULONG memSize)
APTR
AllocVecPooled( APTR poolHeader,
ULONG memSize )
{
ULONG newSize = memSize + sizeof(ULONG);
ULONG newSize = memSize + sizeof ( ULONG );
#ifdef __GNUC__
ULONG *mem = AllocPooled(poolHeader, newSize);
ULONG *mem = AllocPooled( poolHeader, newSize );
#else
ULONG *mem = AsmAllocPooled(poolHeader, newSize, SysBase);
ULONG *mem = AsmAllocPooled( poolHeader, newSize, SysBase );
#endif
if (!mem)
return NULL;
*mem = newSize;
return mem + 1;
if ( !mem )
return NULL;
*mem = newSize;
return mem + 1;
}
// TetiSoft: C implementation of FreeVecPooled (see autodoc exec/AllocPooled)
void FreeVecPooled(APTR poolHeader, APTR memory)
void
FreeVecPooled( APTR poolHeader,
APTR memory )
{
ULONG *realmem = (ULONG *)memory - 1;
ULONG *realmem = (ULONG *)memory - 1;
#ifdef __GNUC__
FreePooled(poolHeader, realmem, *realmem);
FreePooled( poolHeader, realmem, *realmem );
#else
AsmFreePooled(poolHeader, realmem, *realmem, SysBase);
AsmFreePooled( poolHeader, realmem, *realmem, SysBase );
#endif
}
/***************************************************************************/
/* */
/* ftsystem.c */
/* */
/* ANSI-specific FreeType low-level system interface (body). */
/* */
/* Copyright 1996-2001 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. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This file contains the default interface used by FreeType to access */
/* low-level, i.e. memory management, i/o access as well as thread */
/* synchronisation. It can be replaced by user-specific routines if */
/* necessary. */
/* */
/*************************************************************************/
#include <ft2build.h>
#include FT_CONFIG_CONFIG_H
@ -203,9 +214,9 @@ void FreeVecPooled(APTR poolHeader, APTR memory)
/* The memory release function. */
/* */
/* <Input> */
/* memory :: A pointer to the memory object. */
/* memory :: A pointer to the memory object. */
/* */
/* block :: The address of block in memory to be freed. */
/* block :: The address of block in memory to be freed. */
/* */
FT_CALLBACK_DEF( void )
ft_free( FT_Memory memory,
@ -237,7 +248,7 @@ void FreeVecPooled(APTR poolHeader, APTR memory)
/* We use the macro STREAM_FILE for convenience to extract the */
/* system-specific stream handle from a given FreeType stream object */
//#define STREAM_FILE( stream ) ( (FILE*)stream->descriptor.pointer )
// #define STREAM_FILE( stream ) ( (FILE*)stream->descriptor.pointer )
#define STREAM_FILE( stream ) ( (BPTR)stream->descriptor.pointer ) // TetiSoft
@ -310,9 +321,9 @@ void FreeVecPooled(APTR poolHeader, APTR memory)
FT_Stream_Open( FT_Stream stream,
const char* filepathname )
{
// FILE* file;
BPTR file; // TetiSoft
struct FileInfoBlock *fib; // TetiSoft
// FILE* file;
BPTR file; // TetiSoft
struct FileInfoBlock* fib; // TetiSoft
if ( !stream )
@ -340,9 +351,9 @@ void FreeVecPooled(APTR poolHeader, APTR memory)
return FT_Err_Cannot_Open_Resource;
}
if (!( ExamineFH ( file, fib )))
if ( !( ExamineFH( file, fib ) ) )
{
FreeDosObject(DOS_FIB, fib);
FreeDosObject( DOS_FIB, fib );
Close ( file );
FT_ERROR(( "FT_Stream_Open:" ));
FT_ERROR(( " could not open `%s'\n", filepathname ));
@ -350,7 +361,7 @@ void FreeVecPooled(APTR poolHeader, APTR memory)
return FT_Err_Cannot_Open_Resource;
}
stream->size = fib->fib_Size;
FreeDosObject(DOS_FIB, fib);
FreeDosObject( DOS_FIB, fib );
// stream->descriptor.pointer = file;
stream->descriptor.pointer = (void *)file;
@ -369,7 +380,6 @@ void FreeVecPooled(APTR poolHeader, APTR memory)
}
#ifdef FT_DEBUG_MEMORY
extern FT_Int
@ -393,15 +403,15 @@ void FreeVecPooled(APTR poolHeader, APTR memory)
memory = (FT_Memory)AllocVec( sizeof ( *memory ), MEMF_PUBLIC );
if ( memory )
{
// memory->user = 0;
// memory->user = 0;
#ifdef __GNUC__
memory->user = CreatePool ( MEMF_PUBLIC, 2048, 2048 );
memory->user = CreatePool( MEMF_PUBLIC, 2048, 2048 );
#else
memory->user = AsmCreatePool ( MEMF_PUBLIC, 2048, 2048, SysBase );
memory->user = AsmCreatePool( MEMF_PUBLIC, 2048, 2048, SysBase );
#endif
if ( memory->user == NULL )
{
FreeVec ( memory );
FreeVec( memory );
memory = NULL;
}
else

25
builds/unix/configure vendored
View File

@ -7740,8 +7740,6 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
ac_config_files="$ac_config_files unix-cc.mk:unix-cc.in unix-def.mk:unix-def.in freetype-config"
ac_config_files="$ac_config_files ../../Jamfile:../../Jamfile.in"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
@ -7821,7 +7819,7 @@ DEFS=-DHAVE_CONFIG_H
: ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
{ echo "$as_me:7824: creating $CONFIG_STATUS" >&5
{ echo "$as_me:7822: creating $CONFIG_STATUS" >&5
echo "$as_me: creating $CONFIG_STATUS" >&6;}
cat >$CONFIG_STATUS <<_ACEOF
#! $SHELL
@ -7994,7 +7992,7 @@ cat >>$CONFIG_STATUS <<\EOF
echo "$ac_cs_version"; exit 0 ;;
--he | --h)
# Conflict between --help and --header
{ { echo "$as_me:7997: error: ambiguous option: $1
{ { echo "$as_me:7995: error: ambiguous option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2;}
@ -8013,7 +8011,7 @@ Try \`$0 --help' for more information." >&2;}
ac_need_defaults=false;;
# This is an error.
-*) { { echo "$as_me:8016: error: unrecognized option: $1
-*) { { echo "$as_me:8014: error: unrecognized option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2;}
@ -8051,9 +8049,8 @@ do
"unix-cc.mk" ) CONFIG_FILES="$CONFIG_FILES unix-cc.mk:unix-cc.in" ;;
"unix-def.mk" ) CONFIG_FILES="$CONFIG_FILES unix-def.mk:unix-def.in" ;;
"freetype-config" ) CONFIG_FILES="$CONFIG_FILES freetype-config" ;;
"../../Jamfile" ) CONFIG_FILES="$CONFIG_FILES ../../Jamfile:../../Jamfile.in" ;;
"ftconfig.h" ) CONFIG_HEADERS="$CONFIG_HEADERS ftconfig.h:ftconfig.in" ;;
*) { { echo "$as_me:8056: error: invalid argument: $ac_config_target" >&5
*) { { echo "$as_me:8053: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
@ -8285,7 +8282,7 @@ done; }
esac
if test x"$ac_file" != x-; then
{ echo "$as_me:8288: creating $ac_file" >&5
{ echo "$as_me:8285: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
rm -f "$ac_file"
fi
@ -8303,7 +8300,7 @@ echo "$as_me: creating $ac_file" >&6;}
-) echo $tmp/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
test -f "$f" || { { echo "$as_me:8306: error: cannot find input file: $f" >&5
test -f "$f" || { { echo "$as_me:8303: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo $f;;
@ -8316,7 +8313,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
echo $srcdir/$f
else
# /dev/null tree
{ { echo "$as_me:8319: error: cannot find input file: $f" >&5
{ { echo "$as_me:8316: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
@ -8377,7 +8374,7 @@ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
* ) ac_file_in=$ac_file.in ;;
esac
test x"$ac_file" != x- && { echo "$as_me:8380: creating $ac_file" >&5
test x"$ac_file" != x- && { echo "$as_me:8377: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
# First look for the input files in the build tree, otherwise in the
@ -8388,7 +8385,7 @@ echo "$as_me: creating $ac_file" >&6;}
-) echo $tmp/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
test -f "$f" || { { echo "$as_me:8391: error: cannot find input file: $f" >&5
test -f "$f" || { { echo "$as_me:8388: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo $f;;
@ -8401,7 +8398,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
echo $srcdir/$f
else
# /dev/null tree
{ { echo "$as_me:8404: error: cannot find input file: $f" >&5
{ { echo "$as_me:8401: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
@ -8518,7 +8515,7 @@ cat >>$CONFIG_STATUS <<\EOF
rm -f $tmp/in
if test x"$ac_file" != x-; then
if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
{ echo "$as_me:8521: $ac_file is unchanged" >&5
{ echo "$as_me:8518: $ac_file is unchanged" >&5
echo "$as_me: $ac_file is unchanged" >&6;}
else
ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \

View File

@ -89,7 +89,7 @@ AC_CONFIG_FILES([unix-cc.mk:unix-cc.in unix-def.mk:unix-def.in freetype-config])
dnl re-generate the Jamfile to use libtool now
dnl
AC_CONFIG_FILES([../../Jamfile:../../Jamfile.in])
dnl AC_CONFIG_FILES([../../Jamfile:../../Jamfile.in])
AC_OUTPUT

View File

@ -4,7 +4,7 @@
/* */
/* UNIX-specific configuration file (specification only). */
/* */
/* Copyright 1996-2000 by */
/* Copyright 1996-2000, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -62,7 +62,6 @@ FT_BEGIN_HEADER
#define SIZEOF_INT 2
#define SIZEOF_LONG 2
#define FT_SIZEOF_INT SIZEOF_INT
#define FT_SIZEOF_LONG SIZEOF_LONG
@ -141,17 +140,17 @@ FT_BEGIN_HEADER
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
#define FT_LOCAL static
#define FT_LOCAL_DEF static
#define FT_LOCAL( x ) static x
#define FT_LOCAL_DEF( x ) static x
#else
#ifdef __cplusplus
#define FT_LOCAL extern "C"
#define FT_LOCAL_DEF extern "C"
#define FT_LOCAL( x ) extern "C" x
#define FT_LOCAL_DEF( x ) extern "C" x
#else
#define FT_LOCAL extern
#define FT_LOCAL_DEF extern
#define FT_LOCAL( x ) extern x
#define FT_LOCAL_DEF( x ) extern x
#endif
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
@ -236,9 +235,9 @@ FT_BEGIN_HEADER
/* */
#ifndef FT_CALLBACK_DEF
#ifdef __cplusplus
#define FT_CALLBACK_DEF( x ) extern "C" x
#define FT_CALLBACK_DEF( x ) extern "C" x
#else
#define FT_CALLBACK_DEF( x ) static x
#define FT_CALLBACK_DEF( x ) static x
#endif
#endif /* FT_CALLBACK_DEF */

View File

@ -4,7 +4,7 @@
/* */
/* Unix-specific FreeType low-level system interface (body). */
/* */
/* Copyright 1996-2001 by */
/* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -144,9 +144,9 @@
/* The memory release function. */
/* */
/* <Input> */
/* memory :: A pointer to the memory object. */
/* memory :: A pointer to the memory object. */
/* */
/* block :: The address of block in memory to be freed. */
/* block :: The address of block in memory to be freed. */
/* */
FT_CALLBACK_DEF( void )
ft_free( FT_Memory memory,
@ -230,9 +230,9 @@
/* */
#ifdef F_SETFD
#ifdef FD_CLOEXEC
(void) fcntl( file, F_SETFD, FD_CLOEXEC );
(void)fcntl( file, F_SETFD, FD_CLOEXEC );
#else
(void) fcntl( file, F_SETFD, 1 );
(void)fcntl( file, F_SETFD, 1 );
#endif /* FD_CLOEXEC */
#endif /* F_SETFD */

View File

@ -4,7 +4,7 @@
/* */
/* VMS-specific configuration file (specification only). */
/* */
/* Copyright 1996-2001 by */
/* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -62,9 +62,8 @@ FT_BEGIN_HEADER
#define SIZEOF_INT 4
#define SIZEOF_LONG 4
#define FT_SIZEOF_INT 4
#define FT_SIZEOF_LONG 4
#define FT_SIZEOF_INT 4
#define FT_SIZEOF_LONG 4
/* Preferred alignment of data */
@ -120,7 +119,6 @@ FT_BEGIN_HEADER
#else
/*************************************************************************/
/* */
/* Many compilers provide the non-ANSI `long long' 64-bit type. You can */
@ -137,22 +135,23 @@ FT_BEGIN_HEADER
#define FT_INT64 long long
#endif /* FTCALC_USE_LONG_LONG */
#endif /* FT_SIZEOF_LONG == 8 */
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
#define LOCAL_DEF static
#define LOCAL_FUNC static
#define FT_LOCAL( x ) static x
#define FT_LOCAL_DEF( x ) static x
#else
#ifdef __cplusplus
#define LOCAL_DEF extern "C"
#define LOCAL_FUNC extern "C"
#define FT_LOCAL( x ) extern "C" x
#define FT_LOCAL_DEF( x ) extern "C" x
#else
#define LOCAL_DEF extern
#define LOCAL_FUNC extern
#define FT_LOCAL( x ) extern x
#define FT_LOCAL_DEF( x ) x
#endif
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
@ -218,13 +217,13 @@ FT_BEGIN_HEADER
/* */
#ifdef __cplusplus
#define FT_CALLBACK_DEF( x ) extern "C" x
#define FT_CALLBACK_DEF( x ) extern "C" x
#define FT_CALLBACK_TABLE extern "C"
#define FT_CALLBACK_TABLE_DEF extern "C"
#else
#define FT_CALLBACK_DEF( x ) static x
#define FT_CALLBACK_DEF( x ) static x
#define FT_CALLBACK_TABLE extern
#define FT_CALLBACK_TABLE_DEF

View File

@ -2,9 +2,9 @@
/* */
/* ftsystem.c */
/* */
/* Unix-specific FreeType low-level system interface (body). */
/* VMS-specific FreeType low-level system interface (body). */
/* */
/* Copyright 1996-2001 by */
/* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -144,9 +144,9 @@
/* The memory release function. */
/* */
/* <Input> */
/* memory :: A pointer to the memory object. */
/* memory :: A pointer to the memory object. */
/* */
/* block :: The address of block in memory to be freed. */
/* block :: The address of block in memory to be freed. */
/* */
FT_CALLBACK_DEF( void )
ft_free( FT_Memory memory,

View File

@ -4,7 +4,7 @@
/* */
/* ANSI-specific configuration file (specification only). */
/* */
/* Copyright 1996-2001 by */
/* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -130,18 +130,17 @@ FT_BEGIN_HEADER
/* now, lookup for an integer type that is at least 32 bits */
#if FT_SIZEOF_INT >= 4
typedef int FT_Fast;
typedef unsigned int FT_UFast;
typedef int FT_Fast;
typedef unsigned int FT_UFast;
#elif FT_SIZEOF_LONG >= 4
typedef long FT_Fast;
typedef unsigned long FT_UFast;
typedef long FT_Fast;
typedef unsigned long FT_UFast;
#endif
/* determine whether we have a 64-bit int type for platforms without */
/* Autoconf */
#if FT_SIZEOF_LONG == 8
@ -180,7 +179,7 @@ FT_BEGIN_HEADER
#define FT_LONG64
#define FT_INT64 long long int
#endif /* !FT_LONG64 */
#endif /* FT_SIZEOF_LONG == 8 */
/*************************************************************************/
@ -205,17 +204,17 @@ FT_BEGIN_HEADER
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
#define FT_LOCAL(x) static x
#define FT_LOCAL_DEF(x) static x
#define FT_LOCAL( x ) static x
#define FT_LOCAL_DEF( x ) static x
#else
#ifdef __cplusplus
#define FT_LOCAL(x) extern "C" x
#define FT_LOCAL_DEF(x) extern "C" x
#define FT_LOCAL( x ) extern "C" x
#define FT_LOCAL_DEF( x ) extern "C" x
#else
#define FT_LOCAL(x) extern x
#define FT_LOCAL_DEF(x) x
#define FT_LOCAL( x ) extern x
#define FT_LOCAL_DEF( x ) x
#endif
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
@ -300,9 +299,9 @@ FT_BEGIN_HEADER
/* */
#ifndef FT_CALLBACK_DEF
#ifdef __cplusplus
#define FT_CALLBACK_DEF( x ) extern "C" x
#define FT_CALLBACK_DEF( x ) extern "C" x
#else
#define FT_CALLBACK_DEF( x ) static x
#define FT_CALLBACK_DEF( x ) static x
#endif
#endif /* FT_CALLBACK_DEF */

View File

@ -4,7 +4,7 @@
/* */
/* Build macros of the FreeType 2 library. */
/* */
/* Copyright 1996-2001 by */
/* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */

View File

@ -4,7 +4,7 @@
/* */
/* User-selectable configuration macros (specification only). */
/* */
/* Copyright 1996-2001 by */
/* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -76,14 +76,14 @@ FT_BEGIN_HEADER
/*************************************************************************/
/*************************************************************************/
/* */
/* CMap support */
/* */
/* Define this if you want generic cmap support. */
/* */
#define FT_CONFIG_OPTION_USE_CMAPS
#define TT_CONFIG_CMAP_FORMAT_0
#define TT_CONFIG_CMAP_FORMAT_2
#define TT_CONFIG_CMAP_FORMAT_4
#define TT_CONFIG_CMAP_FORMAT_6
#define TT_CONFIG_CMAP_FORMAT_8
#define TT_CONFIG_CMAP_FORMAT_10
#define TT_CONFIG_CMAP_FORMAT_12
/*************************************************************************/
/* */
@ -367,6 +367,21 @@ FT_BEGIN_HEADER
#define TT_CONFIG_OPTION_SFNT_NAMES
/*************************************************************************/
/* */
/* TrueType CMap support */
/* */
/* Here you can fine-tune which TrueType CMap table format shall be */
/* supported. */
#define TT_CONFIG_CMAP_FORMAT_0
#define TT_CONFIG_CMAP_FORMAT_2
#define TT_CONFIG_CMAP_FORMAT_4
#define TT_CONFIG_CMAP_FORMAT_6
#define TT_CONFIG_CMAP_FORMAT_8
#define TT_CONFIG_CMAP_FORMAT_10
#define TT_CONFIG_CMAP_FORMAT_12
/*************************************************************************/
/*************************************************************************/
/**** ****/

View File

@ -4,7 +4,7 @@
/* */
/* FreeType high-level API and common types (specification only). */
/* */
/* Copyright 1996-2001 by */
/* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -1345,26 +1345,28 @@ FT_BEGIN_HEADER
/* FT_Library_Version */
/* */
/* <Description> */
/* Return the version of the FreeType library being used. This */
/* is useful when dynamically linking to the library, since one */
/* cannot use the macros FT_FREETYPE_MAJOR, FT_FREETYPE_MINOR and */
/* Return the version of the FreeType library being used. This is */
/* useful when dynamically linking to the library, since one cannot */
/* use the macros FT_FREETYPE_MAJOR, FT_FREETYPE_MINOR, and */
/* FT_FREETYPE_PATCH. */
/* */
/* <Input> */
/* library :: source library handle. */
/* library :: A source library handle. */
/* */
/* <Output> */
/* amajor :: major version number */
/* aminor :: minor version number */
/* apatch :: patch version number */
/* amajor :: The major version number. */
/* */
/* aminor :: The minor version number. */
/* */
/* apatch :: The patch version number. */
/* */
/* <Note> */
/* the reason why this function takes a 'library' argument is */
/* because certain programs implement library initialisation in */
/* a custom way that doesn't use FT_Init_FreeType. */
/* The reason why this function takes a 'library' argument is because */
/* certain programs implement library initialization in a custom way */
/* that doesn't use `FT_Init_FreeType'. */
/* */
/* in certain such cases, the library version cannot be known until */
/* the library object has been created.. */
/* In such cases it can happen that the library version is not known */
/* until the library object has been created. */
/* */
FT_EXPORT( void )
FT_Library_Version( FT_Library library,
@ -2434,39 +2436,40 @@ FT_BEGIN_HEADER
/* */
/* <Description> */
/* This function is used to return the first character code in the */
/* current charmap of a given face. It will also return the */
/* current charmap of a given face. It will also return the */
/* corresponding glyph index. */
/* */
/* <Input> */
/* face :: A handle to the source face object. */
/* face :: A handle to the source face object. */
/* */
/* <Output> */
/* agindex :: glyph index of first character code. 0 if charmap */
/* is empty.. */
/* agindex :: Glyph index of first character code. 0 if charmap is */
/* empty. */
/* */
/* <Return> */
/* the charmap's first character code. */
/* The charmap's first character code. */
/* */
/* <Note> */
/* you should use this function with @FT_Get_Next_Char to be able */
/* to parse all character codes available in a given charmap. */
/* the code should look like: */
/* You should use this function with @FT_Get_Next_Char to be able to */
/* parse all character codes available in a given charmap. The code */
/* should look like this: */
/* */
/* { */
/* FT_ULong charcode; */
/* FT_UInt gindex; */
/* */
/* */
/* charcode = FT_Get_First_Char( face, &gindex ); */
/* while ( gindex != 0 ) */
/* { */
/* .. do something with (charcode,gindex) pair */
/* ... do something with (charcode,gindex) pair ... */
/* */
/* charcode = FT_Get_Next_Char( face, charcode, &gindex ); */
/* } */
/* } */
/* */
/* note that '*agindex' will be set to 0 if the charmap is empty. */
/* the result itself can be 0 in two cases: if the charmap is empty */
/* Note that `*agindex' will be set to 0 if the charmap is empty. */
/* The result itself can be 0 in two cases: if the charmap is empty */
/* or when the value 0 is the first valid character code. */
/* */
FT_EXPORT( FT_ULong )
@ -2482,26 +2485,26 @@ FT_BEGIN_HEADER
/* <Description> */
/* This function is used to return the next character code in the */
/* current charmap of a given face following the value 'char_code', */
/* as well as the corresponding glyph index */
/* as well as the corresponding glyph index. */
/* */
/* <Input> */
/* face :: A handle to the source face object. */
/* char_code :: starting character code */
/* char_code :: The starting character code. */
/* */
/* <Output> */
/* agindex :: glyph index of first character code. 0 if charmap */
/* is empty.. */
/* agindex :: Glyph index of first character code. 0 if charmap */
/* is empty. */
/* */
/* <Return> */
/* the charmap's next character code. */
/* The charmap's next character code. */
/* */
/* <Note> */
/* you should use this function with @FT_Get_First_Char to be able */
/* to parse all character codes available in a given charmap. see */
/* the note for this function for a simple code example.. */
/* You should use this function with @FT_Get_First_Char to walk */
/* through all character codes available in a given charmap. See */
/* the note for this function for a simple code example. */
/* */
/* note that '*agindex' will be set to 0 when there are no more */
/* codes in the charmap.. */
/* Note that `*agindex' will be set to 0 when there are no more codes */
/* in the charmap. */
/* */
FT_EXPORT( FT_ULong )
FT_Get_Next_Char( FT_Face face,
@ -2509,7 +2512,6 @@ FT_BEGIN_HEADER
FT_UInt *agindex );
/*************************************************************************/
/* */
/* <Function> */

View File

@ -1,8 +1,33 @@
/* Error definitions for FreeType */
/* */
/* You need to define both FT_ERRORDEF_ and FT_NOERRORDEF_ before */
/* including this file.. */
/* */
/***************************************************************************/
/* */
/* fterrdef.h */
/* */
/* FreeType error codes (specification). */
/* */
/* Copyright 2002 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. */
/* */
/***************************************************************************/
/*******************************************************************/
/*******************************************************************/
/***** *****/
/***** LIST OF ERROR CODES/MESSAGES *****/
/***** *****/
/*******************************************************************/
/*******************************************************************/
/* You need to define both FT_ERRORDEF_ and FT_NOERRORDEF_ before */
/* including this file. */
/* generic errors */
@ -183,3 +208,6 @@
FT_ERRORDEF_( Stack_Underflow, 0xA1, \
"argument stack underflow" )
/* END */

View File

@ -2,9 +2,9 @@
/* */
/* fterrors.h */
/* */
/* FreeType error codes (specification). */
/* FreeType error code handling (specification). */
/* */
/* Copyright 1996-2001 by */
/* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -18,16 +18,16 @@
/*************************************************************************/
/* */
/* This special header file is used to define the FT2 enumeration */
/* constants. It can also be used to generate error message strings */
/* with a small macro trick explained below. */
/* This special header file is used to define the handling of FT2 */
/* enumeration constants. It can also be used to generate error message */
/* strings with a small macro trick explained below. */
/* */
/* I - Error Formats */
/* ----------------- */
/* */
/* Since release 2.1, the error constants have changed. The lower */
/* byte of the error value gives the "generic" error code, while the */
/* higher byte indicates in which module the error occured. */
/* higher byte indicates in which module the error occurred. */
/* */
/* You can use the macro FT_ERROR_BASE(x) macro to extract the generic */
/* error code from an FT_Error value. */
@ -71,9 +71,9 @@
/* */
/* { */
/* #undef __FTERRORS_H__ */
/* #define FT_ERRORDEF( e, v, s ) { e, s }, */
/* #define FT_ERROR_START_LIST { */
/* #define FT_ERROR_END_LIST { 0, 0 } }; */
/* #define FT_ERRORDEF( e, v, s ) { e, s }, */
/* #define FT_ERROR_START_LIST { */
/* #define FT_ERROR_END_LIST { 0, 0 } }; */
/* */
/* const struct */
/* { */
@ -163,20 +163,12 @@
FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v, s )
/*******************************************************************/
/*******************************************************************/
/***** *****/
/***** LIST OF ERROR CODES/MESSAGES *****/
/***** *****/
/*******************************************************************/
/*******************************************************************/
#ifdef FT_ERROR_START_LIST
FT_ERROR_START_LIST
#endif
/* no include the error codes */
#include FT_ERROR_DEFINITIONS_H
@ -211,4 +203,5 @@
#endif /* __FTERRORS_H__ */
/* END */

View File

@ -4,7 +4,7 @@
/* */
/* FreeType low-level system interface definition (specification). */
/* */
/* Copyright 1996-2001 by */
/* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -25,6 +25,7 @@
FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Section> */

View File

@ -4,7 +4,7 @@
/* */
/* ANSI-specific FreeType low-level system interface (body). */
/* */
/* Copyright 1996-2001 by */
/* Copyright 1996-2001, 2002 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -254,7 +254,6 @@
}
#ifdef FT_DEBUG_MEMORY
extern FT_Int

View File

@ -264,17 +264,17 @@
TT_CodeRange* coderange;
FT_Assert( range >= 1 && range <= 3 );
FT_ASSERT( range >= 1 && range <= 3 );
coderange = &exec->codeRangeTable[range - 1];
FT_Assert( coderange->base != NULL );
FT_ASSERT( coderange->base != NULL );
/* NOTE: Because the last instruction of a program may be a CALL */
/* which will return to the first byte *after* the code */
/* range, we test for IP <= Size instead of IP < Size. */
/* */
FT_Assert( (FT_ULong)IP <= coderange->size );
FT_ASSERT( (FT_ULong)IP <= coderange->size );
exec->code = coderange->base;
exec->codeSize = coderange->size;
@ -312,7 +312,7 @@
void* base,
FT_Long length )
{
FT_Assert( range >= 1 && range <= 3 );
FT_ASSERT( range >= 1 && range <= 3 );
exec->codeRangeTable[range - 1].base = (FT_Byte*)base;
exec->codeRangeTable[range - 1].size = length;
@ -345,7 +345,7 @@
TT_Clear_CodeRange( TT_ExecContext exec,
FT_Int range )
{
FT_Assert( range >= 1 && range <= 3 );
FT_ASSERT( range >= 1 && range <= 3 );
exec->codeRangeTable[range - 1].base = NULL;
exec->codeRangeTable[range - 1].size = 0;