* README.UNX: updated the Unix-specific quick-compilation guide to

warn about the GNU Make requirement at compile time..

        * include/freetype/config/ftstdlib.h,
          include/freetype/config/ftconfig.h,
          include/freetype/config/ftheader.h,
          include/freetype/internal/ftmemory.h,
          include/freetype/internal/ftobjs.h,

          src/autohint/ahoptim.c,

          src/base/ftdbgmem.c, src/base/ftdebug.c,
          src/base/ftmac.c,    src/base/ftobjs.c,
          src/base/ftsystem.c,

          src/cache/ftcimage.c, src/cache/ftcsbits.c,

          src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,

          src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,

          src/pcf/pcfdriver.c, src/pcf/pcfread.c,

          src/psaux/t1cmap.c, src/psaux/t1decode.c,

          src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
          src/pshinter/pshrec.c,

          src/psnames/psmodule.c,

          src/raster/ftraster.c,

          src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,

          src/smooth/ftgrays.c,

          src/type1/t1afm.c,  src/type1/t1driver.c, src/type1/t1gload.c,
          src/type1/t1load.c, src/type1/t1objs.c,   src/type1/t1parse.c:

            added the new configuration file "ftstdlib.h" used to define
            aliases for all ISO C library functions used by the engine
            (e.g. strlen, qsort, setjmp, etc...)

            this eases the porting of FreeType 2 to exotic environments like
            XFree86 modules/extensions..

            also removed many #include <string.h>, #include <stdlib.h>, etc...
            from the engine's sources where they're not needed..
This commit is contained in:
David Turner 2002-04-12 09:31:48 +00:00
parent 0cc456aa1a
commit d15bc0d13a
43 changed files with 372 additions and 185 deletions

View File

@ -1,6 +1,72 @@
2002-04-12 David Turner <david@freetype.org>
* README.UNX: updated the Unix-specific quick-compilation guide to
warn about the GNU Make requirement at compile time..
* include/freetype/config/ftstdlib.h,
include/freetype/config/ftconfig.h,
include/freetype/config/ftheader.h,
include/freetype/internal/ftmemory.h,
include/freetype/internal/ftobjs.h,
src/autohint/ahoptim.c,
src/base/ftdbgmem.c, src/base/ftdebug.c,
src/base/ftmac.c, src/base/ftobjs.c,
src/base/ftsystem.c,
src/cache/ftcimage.c, src/cache/ftcsbits.c,
src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
src/pcf/pcfdriver.c, src/pcf/pcfread.c,
src/psaux/t1cmap.c, src/psaux/t1decode.c,
src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
src/pshinter/pshrec.c,
src/psnames/psmodule.c,
src/raster/ftraster.c,
src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
src/smooth/ftgrays.c,
src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c:
added the new configuration file "ftstdlib.h" used to define
aliases for all ISO C library functions used by the engine
(e.g. strlen, qsort, setjmp, etc...)
this eases the porting of FreeType 2 to exotic environments like
XFree86 modules/extensions..
also removed many #include <string.h>, #include <stdlib.h>, etc...
from the engine's sources where they're not needed..
2002-04-12 Vincent Caron <v.caron@zerodeux.net>
* configure, builds/detect.mk: updated the build system to print
a warning message in case GNU Make isn't used to build the library.
Very nice !
2002-04-11 David Turner <david@freetype.org>
* README, docs/CHANGES: Updates for the 2.1.0 release.
* README, docs/CHANGES, Jamfile.in: updating for the 2.1.0 release
* docs/FTL.txt: updated license text to provide a preffered disclaimer
and adjust copyright dates/extents
* include/freetype/cache/ftcglyph.h: removing obsolete (and confusing
comment)
* Jamfile.in: New file.
2002-04-11 Maxim Shemanarev <mcseemagg@yahoo.com>

View File

@ -8,8 +8,8 @@ SPECIAL NOTE FOR UNIX USERS
I. Enable the TrueType bytecode hinter if you need it
-----------------------------------------------------
I. Enable the TrueType bytecode hinter if you need it:
------------------------------------------------------
The TrueType bytecode interpreter is disabled in all public
releases of the FreeType packages for patents reasons (see
@ -34,8 +34,8 @@ SPECIAL NOTE FOR UNIX USERS
II. Determine the correct installation path
-------------------------------------------
II. Determine the correct installation path:
--------------------------------------------
By default, the source package will install the library in
"/usr/local". However, many Unix distributions now install the
@ -48,10 +48,33 @@ SPECIAL NOTE FOR UNIX USERS
on the command line. This should return the installation path to
use below (e.g. "/usr" or "/usr/local"). Otherwise, simply use
"/usr".
"/usr" (or what you think is adequate for your installation).
Then, to build and install the library, type:
III. Ensure that you're using GNU Make:
---------------------------------------
The FreeType build system _exclusively_ works with GNU Make. You will
not be able to compile the library with the following instructions with
any other alternative (including BSD Make !!).
Trying to compile the library with a different Make tool will print a
message like:
"Sorry, GNU make is required to build FreeType2."
and the build will be aborted. If this happens, install GNU Make on your
system, and use the GNUMAKE environment variable to name it.
IV. Build and install the library:
----------------------------------
The following should work on all Unix systems where the 'make' command
invokes GNU Make:
./configure --prefix=<yourprefix>
make
make install (as root)
@ -60,9 +83,21 @@ SPECIAL NOTE FOR UNIX USERS
the "freetype-config" command.
When using a different command to invoke GNU Make, use the GNUMAKE
variable. For example, if 'gmake' is the command to use on your system,
do something like:
GNUMAKE=gmake ./configure --prefix=<yourprefix>
gmake
gmake install (as root)
III. Take care of XFree86 version 4
-----------------------------------
If this still doesn't work, read the detailed compilation procedure
available in the file "docs/BUILD" for troubleshooting..
V. Take care of XFree86 version 4:
----------------------------------
Certain recent Linux distributions will install _several_ versions
of FreeType on your system. For example, on a fresh Mandrake 8.1

View File

@ -38,7 +38,7 @@ extern void __stdargs KVPrintF( const char *formatString, const void *values );
/* */
/* - release mode: */
/* */
/* No error message is sent or generated. The code is free from any */
/* No error message is sent or generated. The code is ft_free from any */
/* debugging parts. */
/* */
/*************************************************************************/
@ -58,7 +58,6 @@ extern void __stdargs KVPrintF( const char *formatString, const void *values );
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
FT_EXPORT_DEF( void )

View File

@ -127,7 +127,7 @@ std_setup:
@echo "If this does not correspond to your system or settings please remove the file"
@echo "\`$(CONFIG_MK)' from this directory then read the INSTALL file for help."
@echo ""
@echo "Otherwise, simply type \`make' again to build the library."
@echo "Otherwise, simply type \`$(MAKE)' again to build the library."
@echo ""
@$(COPY) $(CONFIG_RULES) $(CONFIG_MK)

13
configure vendored
View File

@ -8,4 +8,15 @@
# Jamfile
# install
#
CFG="$@" make setup unix
if [ "x$GNUMAKE" = x ]; then
GNUMAKE=make
fi
if [ `$GNUMAKE -v 2>/dev/null|grep -ic gnu` -eq 0 ]; then
echo "Sorry, GNU make is required to build FreeType2." >&2
echo "Please try \`GNUMAKE=<GNU make command name> $0'." >&2
exit 1
fi
CFG="$@" $GNUMAKE setup unix

View File

@ -41,7 +41,7 @@
#include <ft2build.h>
#include FT_CONFIG_OPTIONS_H
#include FT_CONFIG_STANDARD_LIBRARY_H
FT_BEGIN_HEADER
@ -58,24 +58,21 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* We use <limits.h> values to know the sizes of the types. */
#include <limits.h>
/* The number of bytes in an `int' type. */
#if UINT_MAX == 0xFFFFFFFFUL
#if FT_UINT_MAX == 0xFFFFFFFFUL
#define FT_SIZEOF_INT 4
#elif UINT_MAX == 0xFFFFU
#elif FT_UINT_MAX == 0xFFFFU
#define FT_SIZEOF_INT 2
#elif UINT_MAX > 0xFFFFFFFFU && UINT_MAX == 0xFFFFFFFFFFFFFFFFU
#elif FT_UINT_MAX > 0xFFFFFFFFU && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFU
#define FT_SIZEOF_INT 8
#else
#error "Unsupported number of bytes in `int' type!"
#endif
/* The number of bytes in a `long' type. */
#if ULONG_MAX == 0xFFFFFFFFUL
#if FT_ULONG_MAX == 0xFFFFFFFFUL
#define FT_SIZEOF_LONG 4
#elif ULONG_MAX > 0xFFFFFFFFU && ULONG_MAX == 0xFFFFFFFFFFFFFFFFU
#elif FT_ULONG_MAX > 0xFFFFFFFFU && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFU
#define FT_SIZEOF_LONG 8
#else
#error "Unsupported number of bytes in `long' type!"

View File

@ -108,6 +108,21 @@
#endif
/*************************************************************************/
/* */
/* @macro: */
/* FT_CONFIG_STANDARD_LIBRARY_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* FreeType 2 configuration data. */
/* */
#ifndef FT_CONFIG_STANDARD_LIBRARY_H
#define FT_CONFIG_STANDARD_LIBRARY_H <freetype/config/ftstdlib.h>
#endif
/*************************************************************************/
/* */
/* @macro: */

View File

@ -0,0 +1,116 @@
/***************************************************************************/
/* */
/* ftstdlib.h */
/* */
/* ANSI-specific configuration file */
/* */
/* 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 is used to group all #includes to the ANSI C library */
/* that FreeType normally requires. It also defines macros to rename */
/* the standard functions within the FT source code */
/* */
/* (You're free to provide alternative when working in exotic */
/* runtime environments :-) */
/* */
/***************************************************************************/
#ifndef __FT_STANDARD_LIBRARY_H__
#define __FT_STANDARD_LIBRARY_H__
/************************************************************************/
/* */
/* integer limits */
/* */
/* UINT_MAX and ULONG_MAX are used to automatically compute the size */
/* of 'int' and 'long' in bytes at compile-time. So far, this works */
/* for all platforms the library has been tested on. */
/* */
/* Note that on the extremely rare platforms that do not provide */
/* integer types that are _exactly_ 16 and 32 bits wide (e.g. some */
/* old Crays where 'int' is 36 bits !!), we do not make any guarantee */
/* about the correct behaviour of FT2 with all fonts.. */
/* */
/* in these case, "ftconfig.h" will refuse to compile anyway with a */
/* message like "couldn't find 32-bit type" or something similar */
/* anyway.. */
/* */
/* */
/* IMPORTANT NOTE: We do not define aliases for heap management and */
/* i/o routines (i.e. malloc/free/fopen/fread/...) */
/* since these functions should all be encapsulated */
/* by platform-specific implementations of */
/* "ftsystem.c" anyway !! */
/* */
/************************************************************************/
#include <limits.h>
#define FT_UINT_MAX UINT_MAX
#define FT_ULONG_MAX ULONG_MAX
/************************************************************************/
/* */
/* character and string processing */
/* */
/************************************************************************/
#include <ctype.h>
#define ft_isalnum isalnum
#define ft_isupper isupper
#define ft_islower islower
#include <string.h>
#define ft_strlen strlen
#define ft_strcmp strcmp
#define ft_strncmp strncmp
#define ft_memcpy memcpy
#define ft_strcpy strcpy
#define ft_strncpy strncpy
#define ft_memset memset
#define ft_memmove memmove
/************************************************************************/
/* */
/* sorting */
/* */
/************************************************************************/
#include <stdlib.h> /* for qsort() */
#define ft_qsort qsort
/************************************************************************/
/* */
/* execution control */
/* */
/************************************************************************/
#include <setjmp.h>
#define ft_jmp_buf jmp_buf /* note: this cannot be a typedef since */
/* jmp_buf is defined as a macro */
/* on certain platforms.. */
#define ft_setjmp setjmp /* same thing here */
#define ft_longjmp longjmp /* " */
/* the following is only used for debugging purposes, i.e. when */
/* FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined */
/* */
#include <stdarg.h>
#endif /* __FT_STANDARD_LIBRARY_H__ */

View File

@ -172,15 +172,11 @@ FT_BEGIN_HEADER
void** P );
/* This `#include' is needed by the MEM_xxx() macros; it should be */
/* available on all platforms we know of. */
#include <string.h>
#define FT_MEM_SET( dest, byte, count ) ft_memset( dest, byte, count )
#define FT_MEM_SET( dest, byte, count ) memset( dest, byte, count )
#define FT_MEM_COPY( dest, source, count ) ft_memcpy( dest, source, count )
#define FT_MEM_COPY( dest, source, count ) memcpy( dest, source, count )
#define FT_MEM_MOVE( dest, source, count ) memmove( dest, source, count )
#define FT_MEM_MOVE( dest, source, count ) ft_memmove( dest, source, count )
/*************************************************************************/

View File

@ -132,7 +132,7 @@ FT_BEGIN_HEADER
FT_ValidationLevel level; /* validation level */
FT_Error error; /* error returned. 0 means success */
jmp_buf jump_buffer; /* used for exception handling */
ft_jmp_buf jump_buffer; /* used for exception handling */
} FT_ValidatorRec;

View File

@ -61,7 +61,6 @@
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#define FLOAT( x ) ( (float)( (x) / 64.0 ) )

View File

@ -30,7 +30,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct FT_MemNodeRec_* FT_MemNode;
@ -122,8 +121,6 @@
};
#include <stdarg.h>
extern void
ft_mem_debug_panic( const char* fmt, ... )
@ -547,7 +544,7 @@
block, file_name, line_no );
if ( node->size != cur_size )
ft_mem_debug_panic( "invalid realloc request for %p. cur_size is "
ft_mem_debug_panic( "invalid ft_realloc request for %p. cur_size is "
"%ld instead of %ld in (%s:%ld)",
block, cur_size, node->size, file_name, line_no );
@ -555,7 +552,7 @@
if ( new_block == NULL )
return NULL;
memcpy( new_block, block, cur_size < new_size ? cur_size : new_size );
ft_memcpy( new_block, block, cur_size < new_size ? cur_size : new_size );
table->file_name = file_name;
table->line_no = line_no;

View File

@ -47,12 +47,6 @@
#if defined( FT_DEBUG_LEVEL_ERROR )
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
FT_EXPORT_DEF( void )
FT_Message( const char* fmt, ... )
{

View File

@ -69,7 +69,6 @@
#include <Files.h>
#include <TextUtils.h>
#include <ctype.h> /* for isupper() and isalnum() */
#include FT_MAC_H
@ -90,7 +89,7 @@
static char cstr[256];
strncpy( cstr, (char*)pstr + 1, pstr[0] );
ft_strncpy( cstr, (char*)pstr + 1, pstr[0] );
cstr[pstr[0]] = '\0';
return cstr;
}
@ -106,11 +105,11 @@
/* convert path to a pascal string */
path_len = strlen( pathname );
path_len = ft_strlen( pathname );
if ( path_len > 255 )
return -1;
p_path[0] = (unsigned char)path_len;
strncpy( (char*)p_path + 1, pathname, path_len );
ft_strncpy( (char*)p_path + 1, pathname, path_len );
if ( FSMakeFSSpec( 0, 0, p_path, spec ) != noErr )
return -1;
@ -172,7 +171,7 @@
max = 3;
count = 0;
}
if ( count < max && ( isalnum( *q ) || *q == '_' ) )
if ( count < max && ( ft_isalnum( *q ) || *q == '_' ) )
{
*++p = *q;
lwfn_file_name[0]++;
@ -299,7 +298,7 @@
p += names[i][0];
p++;
}
strcpy( ps_name, p2c_str( names[0] ) ); /* Family name */
ft_strcpy( ps_name, p2c_str( names[0] ) ); /* Family name */
if ( style->indexes[0] > 1 )
{
@ -410,7 +409,7 @@
}
}
memcpy( p, *post_data + 2, post_size );
ft_memcpy( p, *post_data + 2, post_size );
pfb_chunk_size += post_size;
p += post_size;
last_code = code;
@ -595,7 +594,7 @@
}
HLock( sfnt );
memcpy( sfnt_data, *sfnt, sfnt_size );
ft_memcpy( sfnt_data, *sfnt, sfnt_size );
HUnlock( sfnt );
ReleaseResource( sfnt );
@ -797,14 +796,14 @@
/* build up a complete face name */
strcpy( fullName, famName );
ft_strcpy( fullName, famName );
if ( style & bold )
strcat( fullName, " Bold" );
if ( style & italic )
strcat( fullName, " Italic" );
/* compare with the name we are looking for */
if ( strcmp( fullName, fontName ) == 0 )
if ( ft_strcmp( fullName, fontName ) == 0 )
{
/* found it! */
the_font = font;

View File

@ -25,9 +25,6 @@
#include FT_TRUETYPE_TABLES_H
#include FT_OUTLINE_H
#include <string.h> /* for strcmp() */
#include <setjmp.h> /* for setjmp() and longjmp() */
FT_BASE_DEF( void )
ft_validator_init( FT_Validator valid,
@ -2167,7 +2164,7 @@
for ( nn = 0; nn < library->num_modules; nn++ )
{
module = library->modules[nn];
if ( strcmp( module->clazz->module_name, clazz->module_name ) == 0 )
if ( ft_strcmp( module->clazz->module_name, clazz->module_name ) == 0 )
{
/* this installed module has the same name, compare their versions */
if ( clazz->module_version <= module->clazz->module_version )
@ -2283,7 +2280,7 @@
limit = cur + library->num_modules;
for ( ; cur < limit; cur++ )
if ( strcmp( cur[0]->clazz->module_name, module_name ) == 0 )
if ( ft_strcmp( cur[0]->clazz->module_name, module_name ) == 0 )
{
result = cur[0];
break;

View File

@ -34,7 +34,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*************************************************************************/

View File

@ -24,9 +24,6 @@
#include "ftcerror.h"
#include <string.h> /* memcmp() */
#include <stdlib.h> /* labs() */
/* the FT_Glyph image node type */
typedef struct FTC_ImageNodeRec_

View File

@ -26,8 +26,6 @@
#include "ftcerror.h"
#include <string.h> /* memcmp() */
#define FTC_SBIT_ITEMS_PER_NODE 16

View File

@ -257,7 +257,7 @@
if ( buffer_max > 0 )
{
FT_UInt len = strlen( gname );
FT_UInt len = ft_strlen( gname );
if ( len >= buffer_max )
@ -410,7 +410,7 @@
else
name = (FT_String *)psnames->adobe_std_strings( sid );
result = strcmp( glyph_name, name );
result = ft_strcmp( glyph_name, name );
if ( sid > 390 )
FT_FREE( name );
@ -444,10 +444,10 @@
#ifndef FT_CONFIG_OPTION_NO_GLYPH_NAMES
if ( strcmp( (const char*)interface, "glyph_name" ) == 0 )
if ( ft_strcmp( (const char*)interface, "glyph_name" ) == 0 )
return (FT_Module_Interface)cff_get_glyph_name;
if ( strcmp( (const char*)interface, "name_index" ) == 0 )
if ( ft_strcmp( (const char*)interface, "name_index" ) == 0 )
return (FT_Module_Interface)cff_get_name_index;
#endif

View File

@ -1332,7 +1332,7 @@
FT_Error error;
len = (FT_UInt)strlen( adobe_name );
len = (FT_UInt)ft_strlen( adobe_name );
if ( !FT_ALLOC( name, len + 1 ) )
{
FT_MEM_COPY( name, adobe_name, len );

View File

@ -31,8 +31,6 @@
#include "cfferrs.h"
#include <string.h> /* for strlen() */
/*************************************************************************/
/* */
@ -231,7 +229,7 @@
{
FT_Error error;
FT_String* result = 0;
FT_Int len = (FT_Int)strlen( source );
FT_Int len = (FT_Int)ft_strlen( source );
if ( !FT_ALLOC( result, len + 1 ) )

View File

@ -26,9 +26,6 @@
#include "ciderrs.h"
#include <stdio.h>
#include <ctype.h> /* for isspace(), isalnum() */
/*************************************************************************/
/* */
@ -285,7 +282,7 @@
static int
is_alpha( char c )
{
return ( isalnum( (int)c ) ||
return ( ft_isalnum( (int)c ) ||
c == '.' ||
c == '_' );
}
@ -313,7 +310,7 @@
{
/* look for `%ADOBeginFontDict' */
if ( *cur == '%' && cur + 20 < limit &&
strncmp( (char*)cur, "%ADOBeginFontDict", 17 ) == 0 )
ft_strncmp( (char*)cur, "%ADOBeginFontDict", 17 ) == 0 )
{
cur += 17;
@ -352,7 +349,7 @@
break;
if ( cur[0] == name[0] &&
len == (FT_Int)strlen( (const char*)name ) )
len == (FT_Int)ft_strlen( (const char*)name ) )
{
FT_Int n;

View File

@ -26,8 +26,6 @@
#include "ciderrs.h"
#include <string.h> /* for strncmp() */
/*************************************************************************/
/* */
@ -73,7 +71,7 @@
if ( FT_FRAME_ENTER( 31 ) )
goto Exit;
if ( strncmp( (char *)stream->cursor,
if ( ft_strncmp( (char *)stream->cursor,
"%!PS-Adobe-3.0 Resource-CIDFont", 31 ) )
{
FT_TRACE2(( "[not a valid CID-keyed font]\n" ));
@ -108,7 +106,7 @@
/* look for `StartData' */
for ( p = buffer; p < limit; p++ )
{
if ( p[0] == 'S' && strncmp( (char*)p, "StartData", 9 ) == 0 )
if ( p[0] == 'S' && ft_strncmp( (char*)p, "StartData", 9 ) == 0 )
{
/* save offset of binary data after `StartData' */
offset = (FT_ULong)( top_position - ( limit - p ) + 10 );

View File

@ -25,8 +25,6 @@
#include "ciderrs.h"
#include <string.h> /* for strcmp() */
/*************************************************************************/
/* */
@ -58,7 +56,7 @@
FT_UNUSED( driver );
FT_UNUSED( interface );
if ( strcmp( (const char*)interface, "postscript_name" ) == 0 )
if ( ft_strcmp( (const char*)interface, "postscript_name" ) == 0 )
return (FT_Module_Interface)cid_get_postscript_name;
return 0;
@ -175,7 +173,7 @@
if ( gname && gname[0] == glyph_name[0] &&
strcmp( gname, glyph_name ) == 0 )
ft_strcmp( gname, glyph_name ) == 0 )
{
result = n;
break;
@ -275,7 +273,7 @@
if ( gname && gname[0] == glyph_name[0] &&
strcmp( gname, glyph_name ) == 0 )
ft_strcmp( gname, glyph_name ) == 0 )
{
return charcode;
}

View File

@ -315,9 +315,9 @@ THE SOFTWARE.
if ( ( charset_registry != NULL ) &&
( charset_encoding != NULL ) )
{
if ( !strcmp( face->charset_registry, "ISO10646" ) ||
( !strcmp( face->charset_registry, "ISO8859" ) &&
!strcmp( face->charset_encoding, "1" ) ) )
if ( !ft_strcmp( face->charset_registry, "ISO10646" ) ||
( !ft_strcmp( face->charset_registry, "ISO8859" ) &&
!ft_strcmp( face->charset_encoding, "1" ) ) )
unicode_charmap = 1;
}

View File

@ -36,8 +36,6 @@ THE SOFTWARE.
#include "pcferror.h"
#include <string.h> /* strlen(), strcpy() */
/*************************************************************************/
/* */
@ -331,7 +329,7 @@ THE SOFTWARE.
for ( i = 0 ; i < face->nprops && !found; i++ )
{
if ( !strcmp( properties[i].name, prop ) )
if ( !ft_strcmp( properties[i].name, prop ) )
found = 1;
}
@ -433,18 +431,18 @@ THE SOFTWARE.
{
/* XXX: make atom */
if ( FT_NEW_ARRAY( properties[i].name,
strlen( strings + props[i].name ) + 1 ) )
ft_strlen( strings + props[i].name ) + 1 ) )
goto Bail;
strcpy( properties[i].name,strings + props[i].name );
ft_strcpy( properties[i].name,strings + props[i].name );
properties[i].isString = props[i].isString;
if ( props[i].isString )
{
if ( FT_NEW_ARRAY( properties[i].value.atom,
strlen( strings + props[i].value ) + 1 ) )
ft_strlen( strings + props[i].value ) + 1 ) )
goto Bail;
strcpy( properties[i].value.atom, strings + props[i].value );
ft_strcpy( properties[i].value.atom, strings + props[i].value );
}
else
properties[i].value.integer = props[i].value;
@ -952,12 +950,12 @@ THE SOFTWARE.
{
if ( prop->isString )
{
int l = strlen( prop->value.atom ) + 1;
int l = ft_strlen( prop->value.atom ) + 1;
if ( FT_NEW_ARRAY( root->family_name, l ) )
goto Exit;
strcpy( root->family_name, prop->value.atom );
ft_strcpy( root->family_name, prop->value.atom );
}
}
else
@ -1025,15 +1023,15 @@ THE SOFTWARE.
( charset_encoding->isString ) )
{
if ( FT_NEW_ARRAY( face->charset_encoding,
strlen( charset_encoding->value.atom ) + 1 ) )
ft_strlen( charset_encoding->value.atom ) + 1 ) )
goto Exit;
if ( FT_NEW_ARRAY( face->charset_registry,
strlen( charset_registry->value.atom ) + 1 ) )
ft_strlen( charset_registry->value.atom ) + 1 ) )
goto Exit;
strcpy( face->charset_registry, charset_registry->value.atom );
strcpy( face->charset_encoding, charset_encoding->value.atom );
ft_strcpy( face->charset_registry, charset_registry->value.atom );
ft_strcpy( face->charset_encoding, charset_encoding->value.atom );
}
}
}

View File

@ -17,7 +17,6 @@
#include "t1cmap.h"
#include <stdlib.h> /* for qsort() */
#include FT_INTERNAL_DEBUG_H
@ -82,7 +81,7 @@
if ( gname && gname[0] == glyph_name[0] &&
strcmp( gname, glyph_name ) == 0 )
ft_strcmp( gname, glyph_name ) == 0 )
{
result = n;
break;
@ -337,7 +336,7 @@
}
/* sort the pairs table to allow efficient binary searches */
qsort( cmap->pairs,
ft_qsort( cmap->pairs,
new_count,
sizeof ( T1_CMapUniPairRec ),
t1_cmap_uni_pair_compare );

View File

@ -143,7 +143,7 @@
if ( name && name[0] == glyph_name[0] &&
strcmp( name,glyph_name ) == 0 )
ft_strcmp( name,glyph_name ) == 0 )
return n;
}

View File

@ -757,7 +757,7 @@
/* initialize hints table */
memset( &hints, 0, sizeof ( hints ) );
ft_memset( &hints, 0, sizeof ( hints ) );
error = psh1_hint_table_init( &hints,
&dim->hints,
&dim->masks,

View File

@ -861,7 +861,7 @@
/* clear all fields */
memset( glyph, 0, sizeof ( *glyph ) );
ft_memset( glyph, 0, sizeof ( *glyph ) );
memory = globals->memory;

View File

@ -472,7 +472,7 @@
PS_MaskRec dummy = *mask2;
memmove( mask2, mask2 + 1, delta * sizeof ( PS_MaskRec ) );
ft_memmove( mask2, mask2 + 1, delta * sizeof ( PS_MaskRec ) );
mask2[delta] = dummy;
}
@ -797,7 +797,7 @@
ps_hints_init( PS_Hints hints,
FT_Memory memory )
{
memset( hints, 0, sizeof ( *hints ) );
ft_memset( hints, 0, sizeof ( *hints ) );
hints->memory = memory;
return 0;
}
@ -1132,7 +1132,7 @@
FT_LOCAL_DEF( void )
t1_hints_funcs_init( T1_Hints_FuncsRec* funcs )
{
memset( (char*)funcs, 0, sizeof ( *funcs ) );
ft_memset( (char*)funcs, 0, sizeof ( *funcs ) );
funcs->open = (T1_Hints_OpenFunc) t1_hints_open;
funcs->close = (T1_Hints_CloseFunc) ps_hints_close;
@ -1197,7 +1197,7 @@
FT_LOCAL_DEF( void )
t2_hints_funcs_init( T2_Hints_FuncsRec* funcs )
{
memset( funcs, 0, sizeof ( *funcs ) );
ft_memset( funcs, 0, sizeof ( *funcs ) );
funcs->open = (T2_Hints_OpenFunc) t2_hints_open;
funcs->close = (T2_Hints_CloseFunc) ps_hints_close;

View File

@ -25,9 +25,6 @@
#include "psnamerr.h"
#include <stdlib.h> /* for qsort() */
#include <string.h> /* for strcmp(), strncpy() */
#ifndef FT_CONFIG_OPTION_NO_POSTSCRIPT_NAMES
@ -106,7 +103,7 @@
if ( *p && len < 64 )
{
strncpy( temp, glyph_name, len );
ft_strncpy( temp, glyph_name, len );
temp[len] = 0;
glyph_name = temp;
}
@ -118,7 +115,7 @@
const char* name = sid_standard_names[n];
if ( first == name[0] && strcmp( glyph_name, name ) == 0 )
if ( first == name[0] && ft_strcmp( glyph_name, name ) == 0 )
return ps_names_to_unicode[n];
}
@ -127,7 +124,7 @@
}
/* qsort callback to sort the unicode map */
/* ft_qsort callback to sort the unicode map */
FT_CALLBACK_DEF( int )
compare_uni_maps( const void* a,
const void* b )
@ -198,7 +195,7 @@
}
else
/* sort the table in increasing order of unicode values */
qsort( table->maps, count, sizeof ( PS_UniMap ), compare_uni_maps );
ft_qsort( table->maps, count, sizeof ( PS_UniMap ), compare_uni_maps );
table->num_maps = count;
}

View File

@ -187,7 +187,7 @@
#ifndef FT_MEM_SET
#define FT_MEM_SET( d, s, c ) memset( d, s, c )
#define FT_MEM_SET( d, s, c ) ft_memset( d, s, c )
#endif
@ -2094,7 +2094,7 @@
{
target[0] |= f1;
/* memset() is slower than the following code on many platforms. */
/* ft_memset() is slower than the following code on many platforms. */
/* This is due to the fact that, in the vast majority of cases, */
/* the span length in bytes is relatively small. */
c2--;

View File

@ -33,8 +33,6 @@
#include "ttpost.h"
#endif
#include <string.h> /* for strcmp() */
static void*
get_sfnt_table( TT_Face face,
@ -97,7 +95,7 @@
error = TT_Get_PS_Name( face, glyph_index, &gname );
if ( !error && buffer_max > 0 )
{
FT_UInt len = (FT_UInt)( strlen( gname ) );
FT_UInt len = (FT_UInt)( ft_strlen( gname ) );
if ( len >= buffer_max )
@ -201,15 +199,15 @@
{
FT_UNUSED( module );
if ( strcmp( interface, "get_sfnt" ) == 0 )
if ( ft_strcmp( interface, "get_sfnt" ) == 0 )
return (FT_Module_Interface)get_sfnt_table;
#ifdef TT_CONFIG_OPTION_POSTSCRIPT_NAMES
if ( strcmp( interface, "glyph_name" ) == 0 )
if ( ft_strcmp( interface, "glyph_name" ) == 0 )
return (FT_Module_Interface)get_sfnt_glyph_name;
#endif
if ( strcmp( interface, "postscript_name" ) == 0 )
if ( ft_strcmp( interface, "postscript_name" ) == 0 )
return (FT_Module_Interface)get_sfnt_postscript_name;
return 0;

View File

@ -26,8 +26,6 @@
#include "sferrors.h"
#include <stdlib.h> /* for qsort */
/*************************************************************************/
/* */
@ -1720,7 +1718,7 @@
{
if ( tt_kern_pair_compare( pair0, pair0 + 1 ) != -1 )
{
qsort( (void*)face->kern_pairs, (int)num_pairs,
ft_qsort( (void*)face->kern_pairs, (int)num_pairs,
sizeof ( TT_Kern0_PairRec ), tt_kern_pair_compare );
break;
}

View File

@ -50,7 +50,7 @@
#ifdef FT_CONFIG_OPTION_POSTSCRIPT_NAMES
#include <freetype/internal/psnames.h>
#include FT_INTERNAL_POSTSCRIPT_NAMES_H
#define MAC_NAME( x ) ( (FT_String*)psnames->macintosh_name( x ) )

View File

@ -81,9 +81,6 @@
/*************************************************************************/
#include <string.h> /* for memcpy() */
#include <setjmp.h>
/* experimental support for gamma correction within the rasterizer */
#define xxxGRAYS_USE_GAMMA
@ -101,8 +98,18 @@
#define ErrRaster_MemoryOverflow -4
#ifdef _STANDALONE_
#include <string.h> /* for ft_memcpy() */
#include <setjmp.h>
#include <limits.h>
#define FT_UINT_MAX UINT_MAX
#define ErrRaster_Invalid_Mode -2
#define ErrRaster_Invalid_Outline -1
@ -146,7 +153,7 @@
#ifndef FT_MEM_SET
#define FT_MEM_SET( d, s, c ) memset( d, s, c )
#define FT_MEM_SET( d, s, c ) ft_memset( d, s, c )
#endif
/* define this to dump debugging information */
@ -203,7 +210,7 @@
/* increases the number of cells available in the render pool but slows */
/* down the rendering a bit. It is useful if you have a really tiny */
/* render pool. */
#define xxxGRAYS_COMPACT
#undef GRAYS_COMPACT
/*************************************************************************/
@ -229,9 +236,7 @@
#else /* PIXEL_BITS >= 8 */
/* approximately determine the size of integers using an ANSI-C header */
#include <limits.h>
#if UINT_MAX == 0xFFFFU
#if FT_UINT_MAX == 0xFFFFU
typedef long TArea;
#else
typedef int TArea;
@ -308,7 +313,7 @@
int cubic_level;
void* memory;
jmp_buf jump_buffer;
ft_jmp_buf jump_buffer;
#ifdef GRAYS_USE_GAMMA
FT_Byte gamma[257];
@ -1083,7 +1088,7 @@
#ifdef QUICK_SORT
/* This is a non-recursive quicksort that directly process our cells */
/* array. It should be faster than calling the stdlib qsort(), and we */
/* array. It should be faster than calling the stdlib ft_qsort(), and we */
/* can even tailor our insertion threshold... */
#define QSORT_THRESHOLD 9 /* below this size, a sub-array will be sorted */

View File

@ -20,9 +20,6 @@
#include "t1afm.h"
#include FT_INTERNAL_STREAM_H
#include FT_INTERNAL_TYPE1_TYPES_H
#include <stdlib.h> /* for qsort() */
#include <string.h> /* for strcmp() */
#include <ctype.h> /* for isalnum() */
/*************************************************************************/
@ -48,7 +45,7 @@
#undef IS_KERN_PAIR
#define IS_KERN_PAIR( p ) ( p[0] == 'K' && p[1] == 'P' )
#define IS_ALPHANUM( c ) ( isalnum( c ) || \
#define IS_ALPHANUM( c ) ( ft_isalnum( c ) || \
c == '_' || \
c == '.' )
@ -92,7 +89,7 @@
char* gname = (char*)type1->glyph_names[n];
if ( gname && gname[0] == temp[0] && strcmp( gname, temp ) == 0 )
if ( gname && gname[0] == temp[0] && ft_strcmp( gname, temp ) == 0 )
{
result = n;
break;
@ -229,7 +226,7 @@
}
/* now, sort the kern pairs according to their glyph indices */
qsort( afm->kern_pairs, count, sizeof ( T1_Kern_Pair ),
ft_qsort( afm->kern_pairs, count, sizeof ( T1_Kern_Pair ),
compare_kern_pairs );
Exit:

View File

@ -31,8 +31,6 @@
#include FT_INTERNAL_STREAM_H
#include FT_INTERNAL_POSTSCRIPT_NAMES_H
#include <string.h> /* for strcmp() */
/*************************************************************************/
/* */
@ -57,7 +55,7 @@
if ( buffer_max > 0 )
{
FT_UInt len = (FT_UInt)( strlen( gname ) );
FT_UInt len = (FT_UInt)( ft_strlen( gname ) );
if (len >= buffer_max)
@ -100,7 +98,7 @@
{
gname = face->type1.glyph_names[i];
if ( !strcmp( glyph_name, gname ) )
if ( !ft_strcmp( glyph_name, gname ) )
return (FT_UInt)i;
}
@ -149,23 +147,23 @@
FT_UNUSED( driver );
FT_UNUSED( interface );
if ( strcmp( (const char*)interface, "glyph_name" ) == 0 )
if ( ft_strcmp( (const char*)interface, "glyph_name" ) == 0 )
return (FT_Module_Interface)t1_get_glyph_name;
if ( strcmp( (const char*)interface, "name_index" ) == 0 )
if ( ft_strcmp( (const char*)interface, "name_index" ) == 0 )
return (FT_Module_Interface)t1_get_name_index;
if ( strcmp( (const char*)interface, "postscript_name" ) == 0 )
if ( ft_strcmp( (const char*)interface, "postscript_name" ) == 0 )
return (FT_Module_Interface)t1_get_ps_name;
#ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT
if ( strcmp( (const char*)interface, "get_mm" ) == 0 )
if ( ft_strcmp( (const char*)interface, "get_mm" ) == 0 )
return (FT_Module_Interface)T1_Get_Multi_Master;
if ( strcmp( (const char*)interface, "set_mm_design") == 0 )
if ( ft_strcmp( (const char*)interface, "set_mm_design") == 0 )
return (FT_Module_Interface)T1_Set_MM_Design;
if ( strcmp( (const char*)interface, "set_mm_blend") == 0 )
if ( ft_strcmp( (const char*)interface, "set_mm_blend") == 0 )
return (FT_Module_Interface)T1_Set_MM_Blend;
#endif
return 0;
@ -333,7 +331,7 @@
if ( gname && gname[0] == glyph_name[0] &&
strcmp( gname, glyph_name ) == 0 )
ft_strcmp( gname, glyph_name ) == 0 )
{
result = n;
break;
@ -448,7 +446,7 @@
if ( gname && gname[0] == glyph_name[0] &&
strcmp( gname, glyph_name ) == 0 )
ft_strcmp( gname, glyph_name ) == 0 )
return charcode;
}
}

View File

@ -25,8 +25,6 @@
#include "t1errors.h"
#include <string.h> /* for strcmp() */
/*************************************************************************/
/* */

View File

@ -68,11 +68,8 @@
#include FT_INTERNAL_TYPE1_TYPES_H
#include "t1load.h"
#include "t1errors.h"
#include <string.h> /* for strncmp(), strcmp() */
#include <ctype.h> /* for isalnum() */
/*************************************************************************/
@ -770,7 +767,7 @@
/* Note: we must accept "+" as a valid character, as it is used in */
/* embedded type1 fonts in PDF documents. */
/* */
return ( isalnum( c ) || c == '.' || c == '_' || c == '-' || c == '+' );
return ( ft_isalnum( c ) || c == '.' || c == '_' || c == '-' || c == '+' );
}
@ -1076,15 +1073,15 @@
else
{
if ( cur + 17 < limit &&
strncmp( (const char*)cur, "StandardEncoding", 16 ) == 0 )
ft_strncmp( (const char*)cur, "StandardEncoding", 16 ) == 0 )
face->type1.encoding_type = T1_ENCODING_TYPE_STANDARD;
else if ( cur + 15 < limit &&
strncmp( (const char*)cur, "ExpertEncoding", 14 ) == 0 )
ft_strncmp( (const char*)cur, "ExpertEncoding", 14 ) == 0 )
face->type1.encoding_type = T1_ENCODING_TYPE_EXPORT;
else if ( cur + 18 < limit &&
strncmp( (const char*)cur, "ISOLatin1Encoding", 17 ) == 0 )
ft_strncmp( (const char*)cur, "ISOLatin1Encoding", 17 ) == 0 )
face->type1.encoding_type = T1_ENCODING_TYPE_ISOLATIN1;
else
@ -1139,7 +1136,7 @@
/* If the next token isn't `dup', we are also done. This */
/* happens when there are `holes' in the Subrs array. */
if ( strncmp( (char*)parser->root.cursor, "dup", 3 ) != 0 )
if ( ft_strncmp( (char*)parser->root.cursor, "dup", 3 ) != 0 )
break;
idx = T1_ToInt( parser );
@ -1155,7 +1152,7 @@
T1_Skip_Alpha( parser ); /* `NP' or `I' or `noaccess' */
T1_Skip_Spaces( parser );
if ( strncmp( (char*)parser->root.cursor, "put", 3 ) == 0 )
if ( ft_strncmp( (char*)parser->root.cursor, "put", 3 ) == 0 )
{
T1_Skip_Alpha( parser ); /* skip `put' */
T1_Skip_Spaces( parser );
@ -1296,7 +1293,7 @@
name_table->elements[n][len] = '\0';
/* record index of /.notdef */
if ( strcmp( (const char*)".notdef",
if ( ft_strcmp( (const char*)".notdef",
(const char*)(name_table->elements[n]) ) == 0 )
{
notdef_index = n;
@ -1336,7 +1333,7 @@
loader->num_glyphs = n;
/* if /.notdef is found but does not occupy index 0, do our magic. */
if ( strcmp( (const char*)".notdef",
if ( ft_strcmp( (const char*)".notdef",
(const char*)name_table->elements[0] ) &&
notdef_found )
{
@ -1503,7 +1500,7 @@
{
/* look for `FontDirectory', which causes problems on some fonts */
if ( *cur == 'F' && cur + 25 < limit &&
strncmp( (char*)cur, "FontDirectory", 13 ) == 0 )
ft_strncmp( (char*)cur, "FontDirectory", 13 ) == 0 )
{
FT_Byte* cur2;
@ -1514,7 +1511,7 @@
/* lookup the `known' keyword */
while ( cur < limit && *cur != 'k' &&
strncmp( (char*)cur, "known", 5 ) )
ft_strncmp( (char*)cur, "known", 5 ) )
cur++;
if ( cur < limit )
@ -1563,7 +1560,7 @@
break;
if ( cur[0] == name[0] &&
len == (FT_Int)strlen( (const char*)name ) )
len == (FT_Int)ft_strlen( (const char*)name ) )
{
FT_Int n;
@ -1732,7 +1729,7 @@
for ( idx = 0; idx < type1->num_glyphs; idx++ )
{
glyph_name = (FT_Byte*)type1->glyph_names[idx];
if ( strcmp( (const char*)char_name,
if ( ft_strcmp( (const char*)char_name,
(const char*)glyph_name ) == 0 )
{
type1->encoding.char_index[charcode] = (FT_UShort)idx;
@ -1740,7 +1737,7 @@
/* Change min/max encoded char only if glyph name is */
/* not /.notdef */
if ( strcmp( (const char*)".notdef",
if ( ft_strcmp( (const char*)".notdef",
(const char*)glyph_name ) != 0 )
{
if (charcode < min_char) min_char = charcode;

View File

@ -20,8 +20,6 @@
#include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_STREAM_H
#include <string.h> /* strcmp() */
#include "t1gload.h"
#include "t1load.h"
@ -382,8 +380,8 @@
root->style_flags |= FT_STYLE_FLAG_ITALIC;
if ( face->type1.font_info.weight )
{
if ( !strcmp( face->type1.font_info.weight, "Bold" ) ||
!strcmp( face->type1.font_info.weight, "Black" ) )
if ( !ft_strcmp( face->type1.font_info.weight, "Bold" ) ||
!ft_strcmp( face->type1.font_info.weight, "Black" ) )
root->style_flags |= FT_STYLE_FLAG_BOLD;
}

View File

@ -43,8 +43,6 @@
#include "t1errors.h"
#include <string.h> /* for strncmp() */
/*************************************************************************/
/* */
@ -203,9 +201,9 @@
/* or `%!FontType' */
{
if ( size <= 16 ||
( strncmp( (const char*)parser->base_dict,
( ft_strncmp( (const char*)parser->base_dict,
"%!PS-AdobeFont-1", 16 ) &&
strncmp( (const char*)parser->base_dict,
ft_strncmp( (const char*)parser->base_dict,
"%!FontType", 10 ) ) )
{
FT_TRACE2(( "[not a Type1 font]\n" ));