diff --git a/ChangeLog b/ChangeLog index 08872c4da..0ed2b29cf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2002-03-29 Werner Lemberg + + * 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 * 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 * 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 @@ -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). diff --git a/builds/amiga/src/base/ftsystem.c b/builds/amiga/src/base/ftsystem.c index f5ef85b0e..e76d4161e 100644 --- a/builds/amiga/src/base/ftsystem.c +++ b/builds/amiga/src/base/ftsystem.c @@ -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: 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 #include FT_CONFIG_CONFIG_H @@ -203,9 +214,9 @@ void FreeVecPooled(APTR poolHeader, APTR memory) /* The memory release function. */ /* */ /* */ - /* 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 diff --git a/builds/unix/configure b/builds/unix/configure index 2fe7c8b65..ea6ecc5db 100644 --- a/builds/unix/configure +++ b/builds/unix/configure @@ -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\(.*[^/]\)//*[^/][^/]*/*$' \| \ diff --git a/builds/unix/configure.ac b/builds/unix/configure.ac index 42831cc43..14b1b51c5 100644 --- a/builds/unix/configure.ac +++ b/builds/unix/configure.ac @@ -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 diff --git a/builds/unix/ftconfig.in b/builds/unix/ftconfig.in index ce20cf64d..bb5b58620 100644 --- a/builds/unix/ftconfig.in +++ b/builds/unix/ftconfig.in @@ -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 */ diff --git a/builds/unix/ftsystem.c b/builds/unix/ftsystem.c index 5683993a8..4ae260cd3 100644 --- a/builds/unix/ftsystem.c +++ b/builds/unix/ftsystem.c @@ -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. */ /* */ /* */ - /* 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 */ diff --git a/builds/vms/ftconfig.h b/builds/vms/ftconfig.h index f5e5e64fd..7a45f0719 100644 --- a/builds/vms/ftconfig.h +++ b/builds/vms/ftconfig.h @@ -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 diff --git a/builds/vms/ftsystem.c b/builds/vms/ftsystem.c index dcd31856b..8a198e63a 100644 --- a/builds/vms/ftsystem.c +++ b/builds/vms/ftsystem.c @@ -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. */ /* */ /* */ - /* 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, diff --git a/include/freetype/config/ftconfig.h b/include/freetype/config/ftconfig.h index a2385a834..c1c2f29e3 100644 --- a/include/freetype/config/ftconfig.h +++ b/include/freetype/config/ftconfig.h @@ -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 */ diff --git a/include/freetype/config/ftheader.h b/include/freetype/config/ftheader.h index fee2db1a0..71f9a5156 100644 --- a/include/freetype/config/ftheader.h +++ b/include/freetype/config/ftheader.h @@ -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, */ diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h index a445cc14b..23efd0edf 100644 --- a/include/freetype/config/ftoption.h +++ b/include/freetype/config/ftoption.h @@ -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 + + /*************************************************************************/ /*************************************************************************/ /**** ****/ diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h index 3d9437d68..b3c65786d 100644 --- a/include/freetype/freetype.h +++ b/include/freetype/freetype.h @@ -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 */ /* */ /* */ - /* 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. */ /* */ /* */ - /* library :: source library handle. */ + /* library :: A source library handle. */ /* */ /* */ - /* 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. */ /* */ /* */ - /* 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 /* */ /* */ /* 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. */ /* */ /* */ - /* face :: A handle to the source face object. */ + /* face :: A handle to the source face object. */ /* */ /* */ - /* agindex :: glyph index of first character code. 0 if charmap */ - /* is empty.. */ + /* agindex :: Glyph index of first character code. 0 if charmap is */ + /* empty. */ /* */ /* */ - /* the charmap's first character code. */ + /* The charmap's first character code. */ /* */ /* */ - /* 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 /* */ /* 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. */ /* */ /* */ /* face :: A handle to the source face object. */ - /* char_code :: starting character code */ + /* char_code :: The starting character code. */ /* */ /* */ - /* agindex :: glyph index of first character code. 0 if charmap */ - /* is empty.. */ + /* agindex :: Glyph index of first character code. 0 if charmap */ + /* is empty. */ /* */ /* */ - /* the charmap's next character code. */ + /* The charmap's next character code. */ /* */ /* */ - /* 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 ); - /*************************************************************************/ /* */ /* */ diff --git a/include/freetype/fterrdef.h b/include/freetype/fterrdef.h index cb114e4d5..ee126b927 100644 --- a/include/freetype/fterrdef.h +++ b/include/freetype/fterrdef.h @@ -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 */ diff --git a/include/freetype/fterrors.h b/include/freetype/fterrors.h index 1e37cb875..1def4f9ce 100644 --- a/include/freetype/fterrors.h +++ b/include/freetype/fterrors.h @@ -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 */ diff --git a/include/freetype/ftsystem.h b/include/freetype/ftsystem.h index 665f74082..1d22ec155 100644 --- a/include/freetype/ftsystem.h +++ b/include/freetype/ftsystem.h @@ -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 + /*************************************************************************/ /* */ /*
*/ diff --git a/src/base/ftsystem.c b/src/base/ftsystem.c index 499d309a9..32d817234 100644 --- a/src/base/ftsystem.c +++ b/src/base/ftsystem.c @@ -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 diff --git a/src/truetype/ttinterp.c b/src/truetype/ttinterp.c index 45d34ac2c..560b67320 100644 --- a/src/truetype/ttinterp.c +++ b/src/truetype/ttinterp.c @@ -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;