Submitted By: Dan Nicholson Date: 2007-05-23 Initial Package Version: 4.6.0 Origin: Upstream Description: Allow XFree86 to build against freetype releases newer than 2.1.10. This removes usage of the freetype internals in most places. http://www.mail-archive.com/cvs-commit@xfree86.org/msg05110.html http://www.mail-archive.com/cvs-commit@xfree86.org/msg05102.html http://cvsweb.xfree86.org/cvsweb/xc/extras/freetype2/src/lzw/zopen.h.diff?r1=1.2&r2=1.3 diff -pNur xc.orig/extras/freetype2/include/freetype/config/ftconfig.h xc/extras/freetype2/include/freetype/config/ftconfig.h --- xc.orig/extras/freetype2/include/freetype/config/ftconfig.h 2004-04-26 09:15:53.000000000 -0700 +++ xc/extras/freetype2/include/freetype/config/ftconfig.h 2007-05-23 12:43:10.000000000 -0700 @@ -72,11 +72,12 @@ FT_BEGIN_HEADER /* The size of an `int' type. */ -#if FT_UINT_MAX == 0xFFFFFFFFUL +#if FT_UINT_MAX == 0xFFFFFFFFUL #define FT_SIZEOF_INT (32 / FT_CHAR_BIT) #elif FT_UINT_MAX == 0xFFFFU #define FT_SIZEOF_INT (16 / FT_CHAR_BIT) -#elif FT_UINT_MAX > 0xFFFFFFFFU && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFU +#elif ((FT_UINT_MAX & ~0xFFFFFFFFU) != 0) && \ + (FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFU) #define FT_SIZEOF_INT (64 / FT_CHAR_BIT) #else #error "Unsupported size of `int' type!" @@ -85,7 +86,8 @@ FT_BEGIN_HEADER /* The size of a `long' type. */ #if FT_ULONG_MAX == 0xFFFFFFFFUL #define FT_SIZEOF_LONG (32 / FT_CHAR_BIT) -#elif FT_ULONG_MAX > 0xFFFFFFFFU && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFU +#elif ((FT_ULONG_MAX & ~0xFFFFFFFFU) != 0) && \ + (FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFU) #define FT_SIZEOF_LONG (64 / FT_CHAR_BIT) #else #error "Unsupported size of `long' type!" diff -pNur xc.orig/extras/freetype2/include/freetype/config/ftmodule.h xc/extras/freetype2/include/freetype/config/ftmodule.h --- xc.orig/extras/freetype2/include/freetype/config/ftmodule.h 2003-05-28 19:01:46.000000000 -0700 +++ xc/extras/freetype2/include/freetype/config/ftmodule.h 2007-05-23 15:22:28.000000000 -0700 @@ -1,6 +1,8 @@ FT_USE_MODULE(autohint_module_class) FT_USE_MODULE(cff_driver_class) +#ifndef FONTMODULE FT_USE_MODULE(t1cid_driver_class) +#endif FT_USE_MODULE(pcf_driver_class) FT_USE_MODULE(bdf_driver_class) FT_USE_MODULE(psaux_module_class) @@ -8,12 +10,16 @@ FT_USE_MODULE(psnames_module_class) FT_USE_MODULE(pshinter_module_class) FT_USE_MODULE(ft_raster1_renderer_class) FT_USE_MODULE(sfnt_module_class) +#ifndef FONTMODULE FT_USE_MODULE(ft_smooth_renderer_class) FT_USE_MODULE(ft_smooth_lcd_renderer_class) FT_USE_MODULE(ft_smooth_lcdv_renderer_class) +#endif FT_USE_MODULE(tt_driver_class) FT_USE_MODULE(t1_driver_class) +#ifndef FONTMODULE FT_USE_MODULE(t42_driver_class) FT_USE_MODULE(pfr_driver_class) FT_USE_MODULE(winfnt_driver_class) +#endif diff -pNur xc.orig/extras/freetype2/include/freetype/config/ftoption.h xc/extras/freetype2/include/freetype/config/ftoption.h --- xc.orig/extras/freetype2/include/freetype/config/ftoption.h 2004-04-26 09:15:53.000000000 -0700 +++ xc/extras/freetype2/include/freetype/config/ftoption.h 2007-05-23 12:43:10.000000000 -0700 @@ -526,7 +526,11 @@ FT_BEGIN_HEADER /* files into an existing face. Note that if set, the T1 driver will be */ /* unable to produce kerning distances. */ /* */ +#ifdef FONTMODULE +#define T1_CONFIG_OPTION_NO_AFM +#else #undef T1_CONFIG_OPTION_NO_AFM +#endif /*************************************************************************/ @@ -535,7 +539,11 @@ FT_BEGIN_HEADER /* compilation of the Multiple Masters font support in the Type 1 */ /* driver. */ /* */ +#ifdef FONTMODULE +#define T1_CONFIG_OPTION_NO_MM_SUPPORT +#else #undef T1_CONFIG_OPTION_NO_MM_SUPPORT +#endif /* */ diff -pNur xc.orig/extras/freetype2/include/freetype/config/ftstdlib.h xc/extras/freetype2/include/freetype/config/ftstdlib.h --- xc.orig/extras/freetype2/include/freetype/config/ftstdlib.h 2004-04-26 08:40:19.000000000 -0700 +++ xc/extras/freetype2/include/freetype/config/ftstdlib.h 2007-05-23 15:21:31.000000000 -0700 @@ -58,6 +58,8 @@ /**********************************************************************/ +#ifndef FONTMODULE + #include #define FT_UINT_MAX UINT_MAX @@ -132,6 +134,74 @@ #define ft_longjmp longjmp /* " */ +#else + +#include +#define _XTYPEDEF_BOOL +#include +#define DONT_DEFINE_WRAPPERS +#define DEFINE_SETJMP_WRAPPERS +#include "xf86_ansic.h" +#undef DONT_DEFINE_WRAPPERS + +#ifndef offsetof +#define offsetof(TYPE, MEMBER) ((xf86size_t)&((TYPE*)0)->MEMBER) +#endif + +#define FT_CHAR_BIT 8 +#define FT_UINT_MAX 4294967295U +#ifdef LONG64 +#define FT_ULONG_MAX 18446744073709551615UL +#else +#define FT_ULONG_MAX 4294967295UL +#endif + +#define ft_isalnum xf86isalnum +#define ft_isupper xf86isupper +#define ft_islower xf86islower +#define ft_isdigit xf86isdigit +#define ft_isxdigit xf86isxdigit + +#define ft_memcmp xf86memcmp +#define ft_memcpy xf86memcpy +#define ft_memmove xf86memmove +#define ft_memset xf86memset +#define ft_strcat xf86strcat +#define ft_strcmp xf86strcmp +#define ft_strcpy xf86strcpy +#define ft_strlen xf86strlen +#define ft_strncmp xf86strncmp +#define ft_strncpy xf86strncpy +#define ft_strrchr xf86strrchr + +#define ft_sprintf xf86sprintf + +#define ft_qsort xf86qsort +#define ft_exit xf86exit + +#define ft_atol xf86atol + +#define ft_jmp_buf jmp_buf +#define ft_setjmp setjmp +#define ft_longjmp longjmp + +#undef exit +#define exit xf86exit + +#undef fprintf +#define fprintf xf86fprintf + +#undef memcpy +#define memcpy xf86memcpy +#undef memset +#define memset xf86memset + +#undef stderr +#define stderr xf86stderr + +#endif /* FONTMODULE */ + + /* the following is only used for debugging purposes, i.e. when */ /* FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined */ /* */ diff -pNur xc.orig/extras/freetype2/include/freetype/fttypes.h xc/extras/freetype2/include/freetype/fttypes.h --- xc.orig/extras/freetype2/include/freetype/fttypes.h 2003-05-28 19:01:45.000000000 -0700 +++ xc/extras/freetype2/include/freetype/fttypes.h 2007-05-23 15:19:56.000000000 -0700 @@ -25,7 +25,19 @@ #include FT_SYSTEM_H #include FT_IMAGE_H +#ifndef FONTMODULE #include +#else +#include +#define _XTYPEDEF_BOOL +#include +#include "xf86_ansic.h" +#ifndef size_t +#define DONT_DEFINE_WRAPPERS +#define size_t xf86size_t +#undef DONT_DEFINE_WRAPPERS +#endif +#endif FT_BEGIN_HEADER diff -pNur xc.orig/extras/freetype2/src/base/ftsystem.c xc/extras/freetype2/src/base/ftsystem.c --- xc.orig/extras/freetype2/src/base/ftsystem.c 2005-02-28 15:19:13.000000000 -0800 +++ xc/extras/freetype2/src/base/ftsystem.c 2007-05-23 12:43:10.000000000 -0700 @@ -35,8 +35,28 @@ #include FT_TYPES_H #include FT_INTERNAL_STREAM_H +#ifndef FONTMODULE #include #include +#else +#include +#define _XTYPEDEF_BOOL +#include +#define DONT_DEFINE_WRAPPERS +#include "xf86_ansic.h" +#undef DONT_DEFINE_WRAPPERS +#define malloc(x) xf86malloc(x) +#define realloc(x, y) xf86realloc(x, y) +#define free(x) xf86free(x) +#define FILE XF86FILE +#define fopen(x, y) xf86fopen(x, y) +#define fclose(x) xf86fclose(x) +#define fseek(x, y, z) xf86fseek(x, y, z) +#define ftell(x) xf86ftell(x) +#define SEEK_SET XF86_SEEK_SET +#define SEEK_END XF86_SEEK_END +#define fread(x, y, z, t) xf86fread(x, y, z, t) +#endif /*************************************************************************/ @@ -267,6 +287,10 @@ #endif +#ifdef FONTMODULE +#undef free +#endif + /* documentation is in ftobjs.h */ FT_EXPORT_DEF( FT_Memory ) diff -pNur xc.orig/extras/freetype2/src/lzw/zopen.h xc/extras/freetype2/src/lzw/zopen.h --- xc.orig/extras/freetype2/src/lzw/zopen.h 2006-01-09 06:56:44.000000000 -0800 +++ xc/extras/freetype2/src/lzw/zopen.h 2007-05-23 16:29:05.000000000 -0700 @@ -40,7 +40,9 @@ * */ +#ifndef FONTMODULE #include +#endif #define BITS 16 /* Default bits. */ #define HSIZE 69001 /* 95% occupancy */ diff -pNur xc.orig/lib/Xft/Imakefile xc/lib/Xft/Imakefile --- xc.orig/lib/Xft/Imakefile 2005-10-25 09:58:48.000000000 -0700 +++ xc/lib/Xft/Imakefile 2007-05-23 12:43:10.000000000 -0700 @@ -23,7 +23,8 @@ XCOMM $XFree86: xc/lib/Xft/Imakefile,v 1 #endif #ifdef UseInstalled -/* when using xmkmf, make sure the needed definitions for the fontconfig +/* + * when using xmkmf, make sure the needed definitions for the fontconfig * library are available */ @@ -44,7 +45,7 @@ TYPE1DIR=XftType1Dir WARNINGS=-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs #endif INCLUDES=$(FONTCONFIGINCLUDES) $(FREETYPE2INCLUDES) $(WARNINGS) -DEFINES=$(FREETYPE2DEFINES) $(RENDERDEFINES) -DXFREE86_FT2 +DEFINES=$(FREETYPE2DEFINES) $(RENDERDEFINES) XFT_REVISION=0 diff -pNur xc.orig/lib/Xft1/Imakefile xc/lib/Xft1/Imakefile --- xc.orig/lib/Xft1/Imakefile 2006-02-07 16:49:12.000000000 -0800 +++ xc/lib/Xft1/Imakefile 2007-05-23 12:43:10.000000000 -0700 @@ -90,7 +90,7 @@ YFLAGS = -d XFTLIBDIR=XftLibDir INCLUDES=$(FONTCONFIGINCLUDES) $(FREETYPE2INCLUDES) -DEFINES=$(FREETYPE2DEFINES) $(RENDERDEFINES) -DXFREE86_FT2 +DEFINES=$(FREETYPE2DEFINES) $(RENDERDEFINES) #if UseFreetype2 FREETYPE2REQLIB = $(FREETYPE2LIB) diff -pNur xc.orig/lib/font/FreeType/Imakefile xc/lib/font/FreeType/Imakefile --- xc.orig/lib/font/FreeType/Imakefile 2005-10-14 08:16:01.000000000 -0700 +++ xc/lib/font/FreeType/Imakefile 2007-05-23 12:43:10.000000000 -0700 @@ -7,14 +7,9 @@ XCOMM $XFree86: xc/lib/font/FreeType/Ima SUBDIRS = module #endif -DEFINES = ServerExtraDefines StrcasecmpDefines Freetype2BuildDefines \ - -DXFREE86_FT2 +DEFINES = ServerExtraDefines StrcasecmpDefines Freetype2BuildDefines -FT2SOURCEDIR = $(TOP)/extras/freetype2/src -FT2INCS = $(FREETYPE2INCLUDES) - -INCLUDES = $(FT2INCS) -I../include -I$(SERVERSRC)/include \ - -I$(FT2SOURCEDIR)/truetype +INCLUDES = $(FREETYPE2INCLUDES) -I../include -I$(SERVERSRC)/include SRCS = xttcap.c ftfuncs.c ftenc.c fttools.c OBJS = xttcap.o ftfuncs.o ftenc.o fttools.o diff -pNur xc.orig/lib/font/FreeType/ftconfig.h xc/lib/font/FreeType/ftconfig.h --- xc.orig/lib/font/FreeType/ftconfig.h 2004-04-26 09:15:56.000000000 -0700 +++ xc/lib/font/FreeType/ftconfig.h 1969-12-31 16:00:00.000000000 -0800 @@ -1,386 +0,0 @@ -/***************************************************************************/ -/* */ -/* ftconfig.h */ -/* */ -/* ANSI-specific configuration file (specification only). */ -/* */ -/* Copyright 1996-2001, 2002, 2003, 2004 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* Modified for XFree86. */ -/* */ -/* 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. */ -/* */ -/***************************************************************************/ - -/* $XFree86: xc/lib/font/FreeType/ftconfig.h,v 1.8 2004/04/26 16:15:56 dawes Exp $ */ - - /*************************************************************************/ - /* */ - /* This header file contains a number of macro definitions that are used */ - /* by the rest of the engine. Most of the macros here are automatically */ - /* determined at compile time, and you should not need to change it to */ - /* port FreeType, except to compile the library with a non-ANSI */ - /* compiler. */ - /* */ - /* Note however that if some specific modifications are needed, we */ - /* advise you to place a modified copy in your build directory. */ - /* */ - /* The build directory is usually `freetype/builds/', and */ - /* contains system-specific files that are always included first when */ - /* building the library. */ - /* */ - /* This ANSI version should stay in `include/freetype/config'. */ - /* */ - /*************************************************************************/ - - -#ifndef __FTCONFIG_H__ -#define __FTCONFIG_H__ - -#include -#include FT_CONFIG_OPTIONS_H -#include FT_CONFIG_STANDARD_LIBRARY_H - -FT_BEGIN_HEADER - - - /*************************************************************************/ - /* */ - /* PLATFORM-SPECIFIC CONFIGURATION MACROS */ - /* */ - /* These macros can be toggled to suit a specific system. The current */ - /* ones are defaults used to compile FreeType in an ANSI C environment */ - /* (16bit compilers are also supported). Copy this file to your own */ - /* `freetype/builds/' directory, and edit it to port the engine. */ - /* */ - /*************************************************************************/ - - -#ifndef __CHAR_BIT__ -#define __CHAR_BIT__ 8 -#endif - -#ifndef CHAR_BIT -#define CHAR_BIT 8 -#endif - - -#ifdef XFREE86_FT2 - -# include "X11/Xmd.h" - -#ifndef FT_CHAR_BIT -#define FT_CHAR_BIT CHAR_BIT -#endif - - /* The number of bytes in an `int' type. */ -# define FT_SIZEOF_INT 4 - - /* The number of bytes in a `long' type. */ -# ifdef LONG64 -# define FT_SIZEOF_LONG 8 -# else -# define FT_SIZEOF_LONG 4 -# endif - -#else - - /* There are systems (like the Texas Instruments 'C54x) where a `char' */ - /* has 16 bits. ANSI C says that sizeof(char) is always 1. Since an */ - /* `int' has 16 bits also for this system, sizeof(int) gives 1 which */ - /* is probably unexpected. */ - /* */ - /* `CHAR_BIT' (defined in limits.h) gives the number of bits in a */ - /* `char' type. */ - -#ifndef FT_CHAR_BIT -#define FT_CHAR_BIT CHAR_BIT -#endif - - - /* The size of an `int' type. */ -#if FT_UINT_MAX == 0xFFFFFFFFUL -#define FT_SIZEOF_INT (32 / FT_CHAR_BIT) -#elif FT_UINT_MAX == 0xFFFFU -#define FT_SIZEOF_INT (16 / FT_CHAR_BIT) -#elif FT_UINT_MAX > 0xFFFFFFFFU && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFU -#define FT_SIZEOF_INT (64 / FT_CHAR_BIT) -#else -#error "Unsupported size of `int' type!" -#endif - - /* The size of a `long' type. */ -#if FT_ULONG_MAX == 0xFFFFFFFFUL -#define FT_SIZEOF_LONG (32 / FT_CHAR_BIT) -#elif FT_ULONG_MAX > 0xFFFFFFFFU && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFU -#define FT_SIZEOF_LONG (64 / FT_CHAR_BIT) -#else -#error "Unsupported size of `long' type!" -#endif - -#endif - - /* Preferred alignment of data */ -#define FT_ALIGNMENT 8 - - - /* FT_UNUSED is a macro used to indicate that a given parameter is not */ - /* used -- this is only used to get rid of unpleasant compiler warnings */ -#ifndef FT_UNUSED -#define FT_UNUSED( arg ) ( (arg) = (arg) ) -#endif - - - /*************************************************************************/ - /* */ - /* AUTOMATIC CONFIGURATION MACROS */ - /* */ - /* These macros are computed from the ones defined above. Don't touch */ - /* their definition, unless you know precisely what you are doing. No */ - /* porter should need to mess with them. */ - /* */ - /*************************************************************************/ - - - /*************************************************************************/ - /* */ - /* Mac support */ - /* */ - /* This is the only necessary change, so it is defined here instead */ - /* providing a new configuration file. */ - /* */ -#if ( defined( __APPLE__ ) && !defined( DARWIN_NO_CARBON ) ) || \ - ( defined( __MWERKS__ ) && defined( macintosh ) ) -#define FT_MACINTOSH 1 -#endif - - - /*************************************************************************/ - /* */ - /* IntN types */ - /* */ - /* Used to guarantee the size of some specific integers. */ - /* */ - typedef signed short FT_Int16; - typedef unsigned short FT_UInt16; - -#if FT_SIZEOF_INT == (32 / FT_CHAR_BIT) - - typedef signed int FT_Int32; - typedef unsigned int FT_UInt32; - -#elif FT_SIZEOF_LONG == (32 / FT_CHAR_BIT) - - typedef signed long FT_Int32; - typedef unsigned long FT_UInt32; - -#else -#error "no 32bit type found -- please check your configuration files" -#endif - - /* look up an integer type that is at least 32 bits */ -#if FT_SIZEOF_INT >= (32 / FT_CHAR_BIT) - - typedef int FT_Fast; - typedef unsigned int FT_UFast; - -#elif FT_SIZEOF_LONG >= (32 / FT_CHAR_BIT) - - 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 == (64 / FT_CHAR_BIT) - - /* FT_LONG64 must be defined if a 64-bit type is available */ -#define FT_LONG64 -#define FT_INT64 long - -#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */ - - /* this compiler provides the __int64 type */ -#define FT_LONG64 -#define FT_INT64 __int64 - -#elif defined( __BORLANDC__ ) /* Borland C++ */ - - /* XXXX: We should probably check the value of __BORLANDC__ in order */ - /* to test the compiler version. */ - - /* this compiler provides the __int64 type */ -#define FT_LONG64 -#define FT_INT64 __int64 - -#elif defined( __WATCOMC__ ) /* Watcom C++ */ - - /* Watcom doesn't provide 64-bit data types */ - -#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */ - -#define FT_LONG64 -#define FT_INT64 long long int - -#elif defined( __GNUC__ ) - - /* GCC provides the "long long" type */ -#define FT_LONG64 -#define FT_INT64 long long int - -#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */ - - -#define FT_BEGIN_STMNT do { -#define FT_END_STMNT } while ( 0 ) -#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT - - - /*************************************************************************/ - /* */ - /* A 64-bit data type will create compilation problems if you compile */ - /* in strict ANSI mode. To avoid them, we disable their use if */ - /* __STDC__ is defined. You can however ignore this rule by */ - /* defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */ - /* */ -#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 ) - -#ifdef __STDC__ - - /* undefine the 64-bit macros in strict ANSI compilation mode */ -#undef FT_LONG64 -#undef FT_INT64 - -#endif /* __STDC__ */ - -#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */ - - -#ifdef FT_MAKE_OPTION_SINGLE_OBJECT - -#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 -#else -#define FT_LOCAL( x ) extern x -#define FT_LOCAL_DEF( x ) x -#endif - -#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */ - - -#ifndef FT_BASE - -#ifdef __cplusplus -#define FT_BASE( x ) extern "C" x -#else -#define FT_BASE( x ) extern x -#endif - -#endif /* !FT_BASE */ - - -#ifndef FT_BASE_DEF - -#ifdef __cplusplus -#define FT_BASE_DEF( x ) extern "C" x -#else -#define FT_BASE_DEF( x ) extern x -#endif - -#endif /* !FT_BASE_DEF */ - - -#ifndef FT_EXPORT - -#ifdef __cplusplus -#define FT_EXPORT( x ) extern "C" x -#else -#define FT_EXPORT( x ) extern x -#endif - -#endif /* !FT_EXPORT */ - - -#ifndef FT_EXPORT_DEF - -#ifdef __cplusplus -#define FT_EXPORT_DEF( x ) extern "C" x -#else -#define FT_EXPORT_DEF( x ) extern x -#endif - -#endif /* !FT_EXPORT_DEF */ - - -#ifndef FT_EXPORT_VAR - -#ifdef __cplusplus -#define FT_EXPORT_VAR( x ) extern "C" x -#else -#define FT_EXPORT_VAR( x ) extern x -#endif - -#endif /* !FT_EXPORT_VAR */ - - /* The following macros are needed to compile the library with a */ - /* C++ compiler and with 16bit compilers. */ - /* */ - - /* This is special. Within C++, you must specify `extern "C"' for */ - /* functions which are used via function pointers, and you also */ - /* must do that for structures which contain function pointers to */ - /* assure C linkage -- it's not possible to have (local) anonymous */ - /* functions which are accessed by (global) function pointers. */ - /* */ - /* */ - /* FT_CALLBACK_DEF is used to _define_ a callback function. */ - /* */ - /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */ - /* contains pointers to callback functions. */ - /* */ - /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */ - /* that contains pointers to callback functions. */ - /* */ - /* */ - /* Some 16bit compilers have to redefine these macros to insert */ - /* the infamous `_cdecl' or `__fastcall' declarations. */ - /* */ -#ifndef FT_CALLBACK_DEF -#ifdef __cplusplus -#define FT_CALLBACK_DEF( x ) extern "C" x -#else -#define FT_CALLBACK_DEF( x ) static x -#endif -#endif /* FT_CALLBACK_DEF */ - -#ifndef FT_CALLBACK_TABLE -#ifdef __cplusplus -#define FT_CALLBACK_TABLE extern "C" -#define FT_CALLBACK_TABLE_DEF extern "C" -#else -#define FT_CALLBACK_TABLE extern -#define FT_CALLBACK_TABLE_DEF /* nothing */ -#endif -#endif /* FT_CALLBACK_TABLE */ - - -FT_END_HEADER - - -#endif /* __FTCONFIG_H__ */ - - -/* END */ diff -pNur xc.orig/lib/font/FreeType/ftfuncs.c xc/lib/font/FreeType/ftfuncs.c --- xc.orig/lib/font/FreeType/ftfuncs.c 2005-10-14 08:16:01.000000000 -0700 +++ xc/lib/font/FreeType/ftfuncs.c 2007-05-23 12:43:10.000000000 -0700 @@ -50,10 +50,7 @@ THE SOFTWARE. #include FT_TYPE1_TABLES_H #include FT_XFREE86_H #include FT_BBOX_H -#include FT_INTERNAL_TRUETYPE_TYPES_H #include FT_TRUETYPE_TAGS_H -#include FT_INTERNAL_SFNT_H -#include FT_INTERNAL_STREAM_H /* * If you want to use FT_Outline_Get_CBox instead of * FT_Outline_Get_BBox, define here. @@ -119,6 +116,25 @@ static char *xlfd_props[] = { }; +/* read 2-byte value from a SFNT table */ +static FT_UShort +sfnt_get_ushort( FT_Face face, + FT_ULong table_tag, + FT_ULong table_offset ) +{ + FT_Byte buff[2]; + FT_ULong len = sizeof(buff); + FT_UShort result = 0; + + if ( !FT_Load_Sfnt_Table( face, table_tag, table_offset, buff, &len ) ); + result = (FT_UShort)( (buff[0] << 8) | buff[1] ); + + return result; +} + +#define sfnt_get_short(f,t,o) ((FT_Short)sfnt_get_ushort((f),(t),(o))) + + static int ftypeInitP = 0; /* is the engine initialised? */ static FT_Library ftypeLibrary; @@ -207,6 +223,10 @@ FreeTypeOpenFace(FTFacePtr *facep, char if(maxp && maxp->maxContours == 0) face->bitmap = 1; } + + face->num_hmetrics = (FT_UInt) sfnt_get_ushort( face->face, + TTAG_hhea, 34 ); + /* Insert face in hashtable and return it */ face->next = faceTable[bucket]; faceTable[bucket] = face; @@ -458,30 +478,32 @@ FreeTypeOpenInstance(FTInstancePtr *inst } if( FT_IS_SFNT( face->face ) ) { - /* See Set_Char_Sizes() in ttdriver.c */ - FT_Error err; - TT_Face tt_face; - FT_Long tt_dim_x, tt_dim_y; - FT_UShort tt_x_ppem, tt_y_ppem; - FT_F26Dot6 tt_char_width, tt_char_height; - SFNT_Service sfnt; - tt_face=(TT_Face)face->face; - tt_char_width = (int)(trans->scale*(1<<6) + 0.5); - tt_char_height = (int)(trans->scale*(1<<6) + 0.5); - if ( ( tt_face->header.Flags & 8 ) != 0 ) { - tt_dim_x = ( ( tt_char_width * trans->xres + (36+32*72) ) / 72 ) & -64; - tt_dim_y = ( ( tt_char_height * trans->yres + (36+32*72) ) / 72 ) & -64; - } - else{ - tt_dim_x = ( ( tt_char_width * trans->xres + 36 ) / 72 ); - tt_dim_y = ( ( tt_char_height * trans->yres + 36 ) / 72 ); - } - tt_x_ppem = (FT_UShort)( tt_dim_x >> 6 ); - tt_y_ppem = (FT_UShort)( tt_dim_y >> 6 ); - /* See Reset_SBit_Size() in ttobjs.c */ - sfnt = (SFNT_Service)tt_face->sfnt; - err = sfnt->set_sbit_strike(tt_face,tt_x_ppem,tt_y_ppem,&instance->strike_index); - if ( err ) instance->strike_index=0xFFFFU; + FT_F26Dot6 tt_char_width, tt_char_height, tt_dim_x, tt_dim_y; + FT_UInt nn; + + instance->strike_index=0xFFFFU; + + tt_char_width = (FT_F26Dot6)(trans->scale*(1<<6) + 0.5); + tt_char_height = (FT_F26Dot6)(trans->scale*(1<<6) + 0.5); + + tt_dim_x = FLOOR64( ( tt_char_width * trans->xres + 36 ) / 72 + 32 ); + tt_dim_y = FLOOR64( ( tt_char_height * trans->yres + 36 ) / 72 + 32 ); + + if ( tt_dim_x && !tt_dim_y ) + tt_dim_y = tt_dim_x; + else if ( !tt_dim_x && tt_dim_y ) + tt_dim_x = tt_dim_y; + + for ( nn = 0; nn < face->face->num_fixed_sizes; nn++ ) + { + FT_Bitmap_Size* sz = &face->face->available_sizes[nn]; + + if ( tt_dim_x == FLOOR64(sz->x_ppem + 32) && tt_dim_y == FLOOR64(sz->y_ppem + 32) ) + { + instance->strike_index = nn; + break; + } + } } /* maintain a linked list of instances */ @@ -799,31 +821,61 @@ ft_make_up_italic_bitmap( char *raster, * parse the htmx field in TrueType font. */ -/* from src/truetype/ttgload.c */ static void -tt_get_metrics( TT_HoriHeader* header, +tt_get_metrics( FT_Face face, FT_UInt idx, + FT_UInt num_hmetrics, FT_Short* bearing, FT_UShort* advance ) -/* Copyright 1996-2001, 2002 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ { - TT_LongMetrics longs_m; - FT_UShort k = header->number_Of_HMetrics; + /* read the metrics directly from the horizontal header, we + * parse the SFNT table directly through the standard FreeType API. + * this works with any version of the library and doesn't need to + * peek at its internals. Maybe a bit less + */ + FT_UInt count = num_hmetrics; + FT_ULong length = 0; + FT_ULong offset = 0; + FT_Error error; - if ( k == 0 ) { - *bearing = *advance = 0; - return; - } + error = FT_Load_Sfnt_Table( face, TTAG_hmtx, 0, NULL, &length ); - if ( idx < (FT_UInt)k ) { - longs_m = (TT_LongMetrics )header->long_metrics + idx; - *bearing = longs_m->bearing; - *advance = longs_m->advance; + if ( count == 0 || error ) + { + *advance = 0; + *bearing = 0; + } + else if ( idx < count ) + { + offset = idx * 4L; + if ( offset + 4 > length ) + { + *advance = 0; + *bearing = 0; + } + else + { + *advance = sfnt_get_ushort( face, TTAG_hmtx, offset ); + *bearing = sfnt_get_short ( face, TTAG_hmtx, offset+2 ); + } + } + else + { + offset = 4L * (count - 1); + if ( offset + 4 > length ) + { + *advance = 0; + *bearing = 0; + } + else + { + *advance = sfnt_get_ushort ( face, TTAG_hmtx, offset ); + offset += 4 + 2 * ( idx - count ); + if ( offset + 2 > length) + *bearing = 0; + else + *bearing = sfnt_get_short ( face, TTAG_hmtx, offset ); } - else { - *bearing = ((TT_ShortMetrics*)header->short_metrics)[idx - k]; - *advance = ((TT_LongMetrics )header->long_metrics)[k - 1].advance; } } @@ -831,6 +883,7 @@ static int ft_get_very_lazy_bbox( FT_UInt index, FT_Face face, FT_Size size, + FT_UInt num_hmetrics, double slant, FT_Matrix *matrix, FT_BBox *bbox, @@ -838,15 +891,14 @@ ft_get_very_lazy_bbox( FT_UInt index, FT_Long *vertAdvance) { if ( FT_IS_SFNT( face ) ) { - TT_Face ttface = (TT_Face)face; FT_Size_Metrics *smetrics = &size->metrics; FT_Short leftBearing = 0; FT_UShort advance = 0; FT_Vector p0, p1, p2, p3; /* horizontal */ - tt_get_metrics(&ttface->horizontal, index, - &leftBearing, &advance); + tt_get_metrics( face, index, num_hmetrics, + &leftBearing, &advance ); #if 0 fprintf(stderr,"x_scale=%f y_scale=%f\n", @@ -905,69 +957,25 @@ static FT_Error FT_Do_SBit_Metrics( FT_Face ft_face, FT_Size ft_size, FT_ULong strike_index, FT_UShort glyph_index, FT_Glyph_Metrics *metrics_return ) { - SFNT_Service sfnt; - TT_Face face; - FT_Error error; - FT_Stream stream; - TT_SBit_Strike strike; - TT_SBit_Range range; - TT_SBit_MetricsRec elem_metrics; - FT_ULong ebdt_pos; - FT_ULong glyph_offset; - ; - - if ( ! FT_IS_SFNT( ft_face ) ) - { - error=-1; - goto Exit; - } - - face = (TT_Face)ft_face; - sfnt = (SFNT_Service)face->sfnt; - - if ( strike_index != 0xFFFFU && sfnt->load_sbits ) { - /* Check whether there is a glyph sbit for the current index */ - error = sfnt->find_sbit_image( face, glyph_index, strike_index, - &range, &strike, &glyph_offset ); - } - else error=-1; - if ( error ) goto Exit; - - if ( metrics_return == NULL ) goto Exit; - - stream = face->root.stream; - - /* now, find the location of the `EBDT' table in */ - /* the font file */ - error = face->goto_table( face, TTAG_EBDT, stream, 0 ); - if ( error ) - error = face->goto_table( face, TTAG_bdat, stream, 0 ); - if (error) - goto Exit; - - ebdt_pos = FT_STREAM_POS(); - - /* place stream at beginning of glyph data and read metrics */ - if ( FT_STREAM_SEEK( ebdt_pos + glyph_offset ) ) - goto Exit; - - error = sfnt->load_sbit_metrics( stream, range, &elem_metrics ); - if ( error ) - goto Exit; - - metrics_return->width = (FT_Pos)elem_metrics.width << 6; - metrics_return->height = (FT_Pos)elem_metrics.height << 6; - - metrics_return->horiBearingX = (FT_Pos)elem_metrics.horiBearingX << 6; - metrics_return->horiBearingY = (FT_Pos)elem_metrics.horiBearingY << 6; - metrics_return->horiAdvance = (FT_Pos)elem_metrics.horiAdvance << 6; - - metrics_return->vertBearingX = (FT_Pos)elem_metrics.vertBearingX << 6; - metrics_return->vertBearingY = (FT_Pos)elem_metrics.vertBearingY << 6; - metrics_return->vertAdvance = (FT_Pos)elem_metrics.vertAdvance << 6; - - Exit: - return error; + if ( strike_index != 0xFFFFU && ft_face->available_sizes != NULL ) + { + FT_Error error; + FT_Bitmap_Size* sz = &ft_face->available_sizes[strike_index]; + + error = FT_Set_Pixel_Sizes( ft_face, sz->x_ppem/64, sz->y_ppem/64 ); + if ( !error ) + { + error = FT_Load_Glyph( ft_face, glyph_index, FT_LOAD_SBITS_ONLY ); + if ( !error ) + { + if ( metrics_return != NULL ) + *metrics_return = ft_face->glyph->metrics; + + return 0; + } + } + } + return -1; } int @@ -1023,6 +1031,7 @@ FreeTypeRasteriseGlyph(unsigned idx, int if( bitmap_metrics == NULL ) { if ( instance->ttcap.flags & TTCAP_IS_VERY_LAZY ) { if( ft_get_very_lazy_bbox( idx, face->face, instance->size, + face->num_hmetrics, instance->ttcap.vl_slant, &instance->transformation.matrix, &bbox, &outline_hori_advance, @@ -1183,10 +1192,27 @@ FreeTypeRasteriseGlyph(unsigned idx, int } if( face->face->glyph->format != FT_GLYPH_FORMAT_BITMAP ) { +#ifdef USE_GET_CBOX + FT_Outline_Get_CBox(&face->face->glyph->outline, &bbox); + ftrc = 0; +#else + ftrc = FT_Outline_Get_BBox(&face->face->glyph->outline, &bbox); +#endif + if( ftrc != 0 ) return FTtoXReturnCode(ftrc); + bbox.yMin = FLOOR64( bbox.yMin ); + bbox.yMax = CEIL64 ( bbox.yMax ); + ht_actual = ( bbox.yMax - bbox.yMin ) >> 6; + /* FreeType think a glyph with 0 height control box is invalid. + * So just let X to create a empty bitmap instead. */ + if ( ht_actual == 0 ) + is_outline = -1; + else + { ftrc = FT_Render_Glyph(face->face->glyph,FT_RENDER_MODE_MONO); if( ftrc != 0 ) return FTtoXReturnCode(ftrc); is_outline = 1; } + } else{ is_outline=0; } @@ -1197,6 +1223,7 @@ FreeTypeRasteriseGlyph(unsigned idx, int if( is_outline == 1 ){ if( correct ){ if( ft_get_very_lazy_bbox( idx, face->face, instance->size, + face->num_hmetrics, instance->ttcap.vl_slant, &instance->transformation.matrix, &bbox, &outline_hori_advance, diff -pNur xc.orig/lib/font/FreeType/ftfuncs.h xc/lib/font/FreeType/ftfuncs.h --- xc.orig/lib/font/FreeType/ftfuncs.h 2004-04-14 08:32:43.000000000 -0700 +++ xc/lib/font/FreeType/ftfuncs.h 2007-05-23 12:43:10.000000000 -0700 @@ -47,6 +47,7 @@ typedef struct _FTFace { char *filename; FT_Face face; int bitmap; + FT_UInt num_hmetrics; struct _FTInstance *instances; struct _FTInstance *active_instance; struct _FTFace *next; /* link to next face in bucket */ diff -pNur xc.orig/lib/font/FreeType/ftsystem.c xc/lib/font/FreeType/ftsystem.c --- xc.orig/lib/font/FreeType/ftsystem.c 2005-10-14 08:16:01.000000000 -0700 +++ xc/lib/font/FreeType/ftsystem.c 1969-12-31 16:00:00.000000000 -0800 @@ -1,331 +0,0 @@ -/***************************************************************************/ -/* */ -/* ftsystem.c */ -/* */ -/* ANSI-specific FreeType low-level system interface (body). */ -/* */ -/* Copyright 1996-2001, 2002 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* Modified for XFree86. */ -/* */ -/* 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. */ -/* */ -/***************************************************************************/ - -/* Modified for XFree86 */ -/* $XFree86: xc/lib/font/FreeType/ftsystem.c,v 1.5 2005/10/14 15:16:01 tsi Exp $ */ - - /*************************************************************************/ - /* */ - /* 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 -#include FT_INTERNAL_DEBUG_H -#include FT_SYSTEM_H -#include FT_ERRORS_H -#include FT_TYPES_H -#include FT_INTERNAL_OBJECTS_H -#include FT_INTERNAL_STREAM_H - -#ifndef FONTMODULE -#include -#include -#else -#include -#define _XTYPEDEF_BOOL -#include -#define DONT_DEFINE_WRAPPERS -#include "xf86_ansic.h" -#undef DONT_DEFINE_WRAPPERS -#define malloc(x) xf86malloc(x) -#define realloc(x, y) xf86realloc(x, y) -#define free(x) xf86free(x) -#define FILE XF86FILE -#define fopen(x, y) xf86fopen(x, y) -#define fclose(x) xf86fclose(x) -#define fseek(x, y, z) xf86fseek(x, y, z) -#define ftell(x) xf86ftell(x) -#define SEEK_SET XF86_SEEK_SET -#define SEEK_END XF86_SEEK_END -#define fread(x, y, z, t) xf86fread(x, y, z, t) -#endif - - - /*************************************************************************/ - /* */ - /* MEMORY MANAGEMENT INTERFACE */ - /* */ - /*************************************************************************/ - - /*************************************************************************/ - /* */ - /* It is not necessary to do any error checking for the */ - /* allocation-related functions. This will be done by the higher level */ - /* routines like FT_Alloc() or FT_Realloc(). */ - /* */ - /*************************************************************************/ - - - /*************************************************************************/ - /* */ - /* */ - /* ft_alloc */ - /* */ - /* */ - /* The memory allocation function. */ - /* */ - /* */ - /* memory :: A pointer to the memory object. */ - /* */ - /* size :: The requested size in bytes. */ - /* */ - /* */ - /* The address of newly allocated block. */ - /* */ - FT_CALLBACK_DEF( void* ) - ft_alloc( FT_Memory memory, - long size ) - { - FT_UNUSED( memory ); - - return malloc( size ); - } - - - /*************************************************************************/ - /* */ - /* */ - /* ft_realloc */ - /* */ - /* */ - /* The memory reallocation function. */ - /* */ - /* */ - /* memory :: A pointer to the memory object. */ - /* */ - /* cur_size :: The current size of the allocated memory block. */ - /* */ - /* new_size :: The newly requested size in bytes. */ - /* */ - /* block :: The current address of the block in memory. */ - /* */ - /* */ - /* The address of the reallocated memory block. */ - /* */ - FT_CALLBACK_DEF( void* ) - ft_realloc( FT_Memory memory, - long cur_size, - long new_size, - void* block ) - { - FT_UNUSED( memory ); - FT_UNUSED( cur_size ); - - return realloc( block, new_size ); - } - - - /*************************************************************************/ - /* */ - /* */ - /* ft_free */ - /* */ - /* */ - /* The memory release function. */ - /* */ - /* */ - /* memory :: A pointer to the memory object. */ - /* */ - /* block :: The address of block in memory to be freed. */ - /* */ - FT_CALLBACK_DEF( void ) - ft_free( FT_Memory memory, - void* block ) - { - FT_UNUSED( memory ); - - free( block ); - } - - - /*************************************************************************/ - /* */ - /* RESOURCE MANAGEMENT INTERFACE */ - /* */ - /*************************************************************************/ - - - /*************************************************************************/ - /* */ - /* The macro FT_COMPONENT is used in trace mode. It is an implicit */ - /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */ - /* messages during execution. */ - /* */ -#undef FT_COMPONENT -#define FT_COMPONENT trace_io - - /* 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 ) - - - /*************************************************************************/ - /* */ - /* */ - /* ft_ansi_stream_close */ - /* */ - /* */ - /* The function to close a stream. */ - /* */ - /* */ - /* stream :: A pointer to the stream object. */ - /* */ - FT_CALLBACK_DEF( void ) - ft_ansi_stream_close( FT_Stream stream ) - { - fclose( STREAM_FILE( stream ) ); - - stream->descriptor.pointer = NULL; - stream->size = 0; - stream->base = 0; - } - - - /*************************************************************************/ - /* */ - /* */ - /* ft_ansi_stream_io */ - /* */ - /* */ - /* The function to open a stream. */ - /* */ - /* */ - /* stream :: A pointer to the stream object. */ - /* */ - /* offset :: The position in the data stream to start reading. */ - /* */ - /* buffer :: The address of buffer to store the read data. */ - /* */ - /* count :: The number of bytes to read from the stream. */ - /* */ - /* */ - /* The number of bytes actually read. */ - /* */ - FT_CALLBACK_DEF( unsigned long ) - ft_ansi_stream_io( FT_Stream stream, - unsigned long offset, - unsigned char* buffer, - unsigned long count ) - { - FILE* file; - - - file = STREAM_FILE( stream ); - - fseek( file, offset, SEEK_SET ); - - return (unsigned long)fread( buffer, 1, count, file ); - } - - - /* documentation is in ftobjs.h */ - - FT_EXPORT_DEF( FT_Error ) - FT_Stream_Open( FT_Stream stream, - const char* filepathname ) - { - FILE* file; - - - if ( !stream ) - return FT_Err_Invalid_Stream_Handle; - - file = fopen( filepathname, "rb" ); - if ( !file ) - { - FT_ERROR(( "FT_Stream_Open:" )); - FT_ERROR(( " could not open `%s'\n", filepathname )); - - return FT_Err_Cannot_Open_Resource; - } - - fseek( file, 0, SEEK_END ); - stream->size = ftell( file ); - fseek( file, 0, SEEK_SET ); - - stream->descriptor.pointer = file; - stream->pathname.pointer = (char*)filepathname; - stream->pos = 0; - - stream->read = ft_ansi_stream_io; - stream->close = ft_ansi_stream_close; - - FT_TRACE1(( "FT_Stream_Open:" )); - FT_TRACE1(( " opened `%s' (%d bytes) successfully\n", - filepathname, stream->size )); - - return FT_Err_Ok; - } - - -#ifdef FT_DEBUG_MEMORY - - extern FT_Int - ft_mem_debug_init( FT_Memory memory ); - - extern void - ft_mem_debug_done( FT_Memory memory ); - -#endif - - - /* documentation is in ftobjs.h */ - - FT_EXPORT_DEF( FT_Memory ) - FT_New_Memory( void ) - { - FT_Memory memory; - - - memory = (FT_Memory)malloc( sizeof ( *memory ) ); - if ( memory ) - { - memory->user = 0; - memory->alloc = ft_alloc; - memory->realloc = ft_realloc; - memory->free = ft_free; -#ifdef FT_DEBUG_MEMORY - ft_mem_debug_init( memory ); -#endif - } - - return memory; - } - - - /* documentation is in ftobjs.h */ - - FT_EXPORT_DEF( void ) - FT_Done_Memory( FT_Memory memory ) - { -#ifdef FT_DEBUG_MEMORY - ft_mem_debug_done( memory ); -#endif -#undef free - memory->free( memory, memory ); - } - - -/* END */ diff -pNur xc.orig/lib/font/FreeType/module/Imakefile xc/lib/font/FreeType/module/Imakefile --- xc.orig/lib/font/FreeType/module/Imakefile 2005-10-14 08:16:01.000000000 -0700 +++ xc/lib/font/FreeType/module/Imakefile 2007-05-23 12:43:10.000000000 -0700 @@ -52,7 +52,7 @@ FT2INCDIR = $(TOP)/extras/freetype2/incl #define IHaveModules #include -DEFINES = -DFONTMODULE Freetype2BuildDefines -DXFREE86_FT2 +DEFINES = -DFONTMODULE Freetype2BuildDefines INCLUDES = -I.. -I../../include \ -I$(SERVERSRC)/include \ @@ -96,7 +96,7 @@ LinkSourceFile(ftbase.c,$(FT2SOURCEDIR)/ LinkSourceFile(ftinit.c,$(FT2SOURCEDIR)/base) LinkSourceFile(ftglyph.c,$(FT2SOURCEDIR)/base) LinkSourceFile(ftbbox.c,$(FT2SOURCEDIR)/base) -LinkSourceFile(ftsystem.c,..) +LinkSourceFile(ftsystem.c,$(FT2SOURCEDIR)/base) LinkSourceFile(ftutil.c,$(FT2SOURCEDIR)/base) LinkSourceFile(fttype1.c,$(FT2SOURCEDIR)/base) LinkSourceFile(ftxf86.c,$(FT2SOURCEDIR)/base) diff -pNur xc.orig/lib/font/FreeType/module/ft2build.h xc/lib/font/FreeType/module/ft2build.h --- xc.orig/lib/font/FreeType/module/ft2build.h 2003-11-19 18:35:40.000000000 -0800 +++ xc/lib/font/FreeType/module/ft2build.h 1969-12-31 16:00:00.000000000 -0800 @@ -1,41 +0,0 @@ -/***************************************************************************/ -/* */ -/* ft2build.h */ -/* */ -/* FreeType 2 build and setup macros. */ -/* */ -/* Copyright 1996-2001 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* Modified for XFree86. */ -/* */ -/* 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. */ -/* */ -/***************************************************************************/ - -/* $XFree86: xc/lib/font/FreeType/module/ft2build.h,v 1.1 2003/11/20 02:35:40 dawes Exp $ */ - - /*************************************************************************/ - /* */ - /* This file corresponds to the default "ft2build.h" file for */ - /* FreeType 2. It uses the "freetype" include root. */ - /* */ - /* Note that specific platforms might use a different configuration. */ - /* See builds/unix/ft2unix.h for an example. */ - /* */ - /*************************************************************************/ - - -#ifndef __FT2_BUILD_GENERIC_H__ -#define __FT2_BUILD_GENERIC_H__ - -#include "ftheader.h" - -#endif /* __FT2_BUILD_GENERIC_H__ */ - - -/* END */ diff -pNur xc.orig/lib/font/FreeType/module/ftheader.h xc/lib/font/FreeType/module/ftheader.h --- xc.orig/lib/font/FreeType/module/ftheader.h 2004-04-26 09:15:56.000000000 -0700 +++ xc/lib/font/FreeType/module/ftheader.h 1969-12-31 16:00:00.000000000 -0800 @@ -1,564 +0,0 @@ -/***************************************************************************/ -/* */ -/* ftheader.h */ -/* */ -/* Build macros of the FreeType 2 library. */ -/* */ -/* Copyright 1996-2001, 2002, 2003, 2004 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. */ -/* */ -/***************************************************************************/ -/* $XFree86: xc/lib/font/FreeType/module/ftheader.h,v 1.2 2004/04/26 16:15:56 dawes Exp $ */ - -#ifndef __FT_HEADER_H__ -#define __FT_HEADER_H__ - - /*@***********************************************************************/ - /* */ - /* */ - /* FT_BEGIN_HEADER */ - /* */ - /* */ - /* This macro is used in association with @FT_END_HEADER in header */ - /* files to ensure that the declarations within are properly */ - /* encapsulated in an `extern "C" { .. }' block when included from a */ - /* C++ compiler. */ - /* */ -#ifdef __cplusplus -#define FT_BEGIN_HEADER extern "C" { -#else -#define FT_BEGIN_HEADER /* nothing */ -#endif - - - /*@***********************************************************************/ - /* */ - /* */ - /* FT_END_HEADER */ - /* */ - /* */ - /* This macro is used in association with @FT_BEGIN_HEADER in header */ - /* files to ensure that the declarations within are properly */ - /* encapsulated in an `extern "C" { .. }' block when included from a */ - /* C++ compiler. */ - /* */ -#ifdef __cplusplus -#define FT_END_HEADER } -#else -#define FT_END_HEADER /* nothing */ -#endif - - - /*************************************************************************/ - /* */ - /* Aliases for the FreeType 2 public and configuration files. */ - /* */ - /*************************************************************************/ - - /*************************************************************************/ - /* */ - /*
*/ - /* header_file_macros */ - /* */ - /* */ - /* Header File Macros */ - /* */ - /* <Abstract> */ - /* Macro definitions used to #include specific header files. */ - /* */ - /* <Description> */ - /* The following macros are defined to the name of specific */ - /* FreeType 2 header files. They can be used directly in #include */ - /* statements as in: */ - /* */ - /* { */ - /* #include FT_FREETYPE_H */ - /* #include FT_MULTIPLE_MASTERS_H */ - /* #include FT_GLYPH_H */ - /* } */ - /* */ - /* There are several reasons why we are now using macros to name */ - /* public header files. The first one is that such macros are not */ - /* limited to the infamous 8.3 naming rule required by DOS (and */ - /* `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h'). */ - /* */ - /* The second reason is that is allows for more flexibility in the */ - /* way FreeType 2 is installed on a given system. */ - /* */ - /*************************************************************************/ - - /* configuration files */ - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_CONFIG_CONFIG_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* FreeType 2 configuration data. */ - /* */ -#ifndef FT_CONFIG_CONFIG_H -#define FT_CONFIG_CONFIG_H <ftconfig.h> -#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 <ftstdlib.h> -#endif - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_CONFIG_OPTIONS_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* FreeType 2 project-specific configuration options. */ - /* */ -#ifndef FT_CONFIG_OPTIONS_H -#define FT_CONFIG_OPTIONS_H <ftoption.h> -#endif - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_CONFIG_MODULES_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the list of FreeType 2 modules that are statically linked to new */ - /* library instances in @FT_Init_FreeType. */ - /* */ -#ifndef FT_CONFIG_MODULES_H -#define FT_CONFIG_MODULES_H <ftmodule.h> -#endif - - /* public headers */ - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_FREETYPE_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the base FreeType 2 API. */ - /* */ -#define FT_FREETYPE_H <freetype/freetype.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_ERRORS_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the list of FreeType 2 error codes (and messages). */ - /* */ - /* It is included by @FT_FREETYPE_H. */ - /* */ -#define FT_ERRORS_H <freetype/fterrors.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_MODULE_ERRORS_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the list of FreeType 2 module error offsets (and messages). */ - /* */ -#define FT_MODULE_ERRORS_H <freetype/ftmoderr.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_SYSTEM_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the FreeType 2 interface to low-level operations (i.e. memory */ - /* management and stream i/o). */ - /* */ - /* It is included by @FT_FREETYPE_H. */ - /* */ -#define FT_SYSTEM_H <freetype/ftsystem.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_IMAGE_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* types definitions related to glyph images (i.e. bitmaps, outlines, */ - /* scan-converter parameters). */ - /* */ - /* It is included by @FT_FREETYPE_H. */ - /* */ -#define FT_IMAGE_H <freetype/ftimage.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_TYPES_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the basic data types defined by FreeType 2. */ - /* */ - /* It is included by @FT_FREETYPE_H. */ - /* */ -#define FT_TYPES_H <fttypes.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_LIST_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the list management API of FreeType 2. */ - /* */ - /* (Most applications will never need to include this file.) */ - /* */ -#define FT_LIST_H <freetype/ftlist.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_OUTLINE_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the scalable outline management API of FreeType 2. */ - /* */ -#define FT_OUTLINE_H <freetype/ftoutln.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_SIZES_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the API used to manage multiple @FT_Size objects per face. */ - /* */ -#define FT_SIZES_H <freetype/ftsizes.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_MODULE_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the module management API of FreeType 2. */ - /* */ -#define FT_MODULE_H <freetype/ftmodapi.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_RENDER_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the renderer module management API of FreeType 2. */ - /* */ -#define FT_RENDER_H <freetype/ftrender.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_TYPE1_TABLES_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the types and API specific to the Type 1 format. */ - /* */ -#define FT_TYPE1_TABLES_H <freetype/t1tables.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_TRUETYPE_IDS_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the enumeration values used to identify name strings, languages, */ - /* encodings, etc. This file really contains a _large_ set of */ - /* constant macro definitions, taken from the TrueType and OpenType */ - /* specifications. */ - /* */ -#define FT_TRUETYPE_IDS_H <freetype/ttnameid.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_TRUETYPE_TABLES_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the types and API specific to the TrueType (as well as OpenType) */ - /* format. */ - /* */ -#define FT_TRUETYPE_TABLES_H <freetype/tttables.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_TRUETYPE_TAGS_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the definitions of TrueType 4-byte `tags' used to identify blocks */ - /* in SFNT-based font formats (i.e. TrueType and OpenType). */ - /* */ -#define FT_TRUETYPE_TAGS_H <freetype/tttags.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_BDF_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the definitions of an API to access BDF-specific strings from a */ - /* face. */ - /* */ -#define FT_BDF_H <freetype/ftbdf.h> - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_GZIP_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the definitions of an API to support for gzip-compressed files. */ - /* */ -#define FT_GZIP_H <freetype/ftgzip.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_LZW_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the definitions of an API to support for LZW-compressed files. */ - /* */ -#define FT_LZW_H <freetype/ftlzw.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_WINFONTS_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the definitions of an API to support Windows .FNT files */ - /* */ -#define FT_WINFONTS_H <freetype/ftwinfnt.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_GLYPH_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the API of the optional glyph management component. */ - /* */ -#define FT_GLYPH_H <freetype/ftglyph.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_BBOX_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the API of the optional exact bounding box computation routines. */ - /* */ -#define FT_BBOX_H <freetype/ftbbox.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_CACHE_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the API of the optional FreeType 2 cache sub-system. */ - /* */ -#define FT_CACHE_H <freetype/ftcache.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_CACHE_IMAGE_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the `glyph image' API of the FreeType 2 cache sub-system. */ - /* */ - /* It is used to define a cache for @FT_Glyph elements. You can also */ - /* see the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need */ - /* to store small glyph bitmaps, as it will use less memory. */ - /* */ - /* This macro is deprecated. Simply include @FT_CACHE_H to have all */ - /* glyph image-related cache declarations. */ - /* */ -#define FT_CACHE_IMAGE_H FT_CACHE_H - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_CACHE_SMALL_BITMAPS_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the `small bitmaps' API of the FreeType 2 cache sub-system. */ - /* */ - /* It is used to define a cache for small glyph bitmaps in a */ - /* relatively memory-efficient way. You can also use the API defined */ - /* in @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images, */ - /* including scalable outlines. */ - /* */ - /* This macro is deprecated. Simply include @FT_CACHE_H to have all */ - /* small bitmaps-related cache declarations. */ - /* */ -#define FT_CACHE_SMALL_BITMAPS_H FT_CACHE_H - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_CACHE_CHARMAP_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the `charmap' API of the FreeType 2 cache sub-system. */ - /* */ - /* This macro is deprecated. Simply include @FT_CACHE_H to have all */ - /* charmap-based cache declarations. */ - /* */ -#define FT_CACHE_CHARMAP_H FT_CACHE_H - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_MAC_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the Macintosh-specific FreeType 2 API. The latter is used to */ - /* access fonts embedded in resource forks. */ - /* */ - /* This header file must be explicitly included by client */ - /* applications compiled on the Mac (note that the base API still */ - /* works though). */ - /* */ -#define FT_MAC_H <freetype/ftmac.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_MULTIPLE_MASTERS_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the optional multiple-masters management API of FreeType 2. */ - /* */ -#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h> - - - /*************************************************************************/ - /* */ - /* @macro: */ - /* FT_SFNT_NAMES_H */ - /* */ - /* @description: */ - /* A macro used in #include statements to name the file containing */ - /* the optional FreeType 2 API used to access embedded `name' strings */ - /* in SFNT-based font formats (i.e. TrueType and OpenType). */ - /* */ -#define FT_SFNT_NAMES_H <freetype/ftsnames.h> - - /* */ - -#define FT_TRIGONOMETRY_H <freetype/fttrigon.h> -#define FT_STROKER_H <freetype/ftstroke.h> -#define FT_SYNTHESIS_H <freetype/ftsynth.h> -#define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.h> - -#define FT_CACHE_MANAGER_H <freetype/cache/ftcmanag.h> - -#define FT_CACHE_INTERNAL_MRU_H <freetype/cache/ftcmru.h> -#define FT_CACHE_INTERNAL_MANAGER_H <freetype/cache/ftcmanag.h> -#define FT_CACHE_INTERNAL_CACHE_H <freetype/cache/ftccache.h> -#define FT_CACHE_INTERNAL_GLYPH_H <freetype/cache/ftcglyph.h> -#define FT_CACHE_INTERNAL_IMAGE_H <freetype/cache/ftcimage.h> -#define FT_CACHE_INTERNAL_SBITS_H <freetype/cache/ftcsbits.h> - - -#define FT_XFREE86_H <freetype/ftxf86.h> - -#define FT_INCREMENTAL_H <freetype/ftincrem.h> - -#define FT_TRUETYPE_UNPATENTED_H <freetype/ttunpat.h> - - /* now include internal headers definitions from <freetype/internal/...> */ - -#define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h> -#include FT_INTERNAL_INTERNAL_H - - -#endif /* __FT2_BUILD_H__ */ - - -/* END */ diff -pNur xc.orig/lib/font/FreeType/module/ftmodule.h xc/lib/font/FreeType/module/ftmodule.h --- xc.orig/lib/font/FreeType/module/ftmodule.h 2003-11-19 18:35:40.000000000 -0800 +++ xc/lib/font/FreeType/module/ftmodule.h 1969-12-31 16:00:00.000000000 -0800 @@ -1,21 +0,0 @@ -/* $XFree86: xc/lib/font/FreeType/module/ftmodule.h,v 1.1 2003/11/20 02:35:40 dawes Exp $ */ - -FT_USE_MODULE(autohint_module_class) -FT_USE_MODULE(cff_driver_class) -/* FT_USE_MODULE(t1cid_driver_class) */ -FT_USE_MODULE(pcf_driver_class) -FT_USE_MODULE(bdf_driver_class) -FT_USE_MODULE(psaux_module_class) -FT_USE_MODULE(psnames_module_class) -FT_USE_MODULE(pshinter_module_class) -FT_USE_MODULE(ft_raster1_renderer_class) -FT_USE_MODULE(sfnt_module_class) -/* FT_USE_MODULE(ft_smooth_renderer_class) */ -/* FT_USE_MODULE(ft_smooth_lcd_renderer_class) */ -/* FT_USE_MODULE(ft_smooth_lcdv_renderer_class) */ -FT_USE_MODULE(tt_driver_class) -FT_USE_MODULE(t1_driver_class) -/* FT_USE_MODULE(t42_driver_class) */ -/* FT_USE_MODULE(pfr_driver_class) */ -/* FT_USE_MODULE(winfnt_driver_class) */ - diff -pNur xc.orig/lib/font/FreeType/module/ftoption.h xc/lib/font/FreeType/module/ftoption.h --- xc.orig/lib/font/FreeType/module/ftoption.h 2005-03-28 20:00:30.000000000 -0800 +++ xc/lib/font/FreeType/module/ftoption.h 1969-12-31 16:00:00.000000000 -0800 @@ -1,570 +0,0 @@ -/* $XFree86: xc/lib/font/FreeType/module/ftoption.h,v 1.3 2005/03/29 04:00:30 tsi Exp $ */ -/***************************************************************************/ -/* */ -/* ftoption.h */ -/* */ -/* User-selectable configuration macros (specification only). */ -/* */ -/* Copyright 1996-2001, 2002, 2003, 2004 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* Modified for XFree86. */ -/* */ -/* 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. */ -/* */ -/***************************************************************************/ - - -#ifndef __FTOPTION_H__ -#define __FTOPTION_H__ - - -#include <ft2build.h> - - -FT_BEGIN_HEADER - - /*************************************************************************/ - /* */ - /* USER-SELECTABLE CONFIGURATION MACROS */ - /* */ - /* This file contains the default configuration macro definitions for */ - /* a standard build of the FreeType library. There are three ways to */ - /* use this file to build project-specific versions of the library: */ - /* */ - /* - You can modify this file by hand, but this is not recommended in */ - /* cases where you would like to build several versions of the */ - /* library from a single source directory. */ - /* */ - /* - You can put a copy of this file in your build directory, more */ - /* precisely in "$BUILD/freetype/config/ftoption.h", where "$BUILD" */ - /* is the name of a directory that is included _before_ the FreeType */ - /* include path during compilation. */ - /* */ - /* The default FreeType Makefiles and Jamfiles use the build */ - /* directory "builds/<system>" by default, but you can easily change */ - /* that for your own projects. */ - /* */ - /* - Copy the file <ft2build.h> to "$BUILD/ft2build.h" and modify it */ - /* slightly to pre-define the macro FT_CONFIG_OPTIONS_H used to */ - /* locate this file during the build. For example, */ - /* */ - /* #define FT_CONFIG_OPTIONS_H <myftoptions.h> */ - /* #include <freetype/config/ftheader.h> */ - /* */ - /* will use "$BUILD/myftoptions.h" instead of this file for macro */ - /* definitions. */ - /* */ - /* Note also that you can similarly pre-define the macro */ - /* FT_CONFIG_MODULES_H used to locate the file listing of the modules */ - /* that are statically linked to the library at compile time. By */ - /* default, this file is <freetype/config/ftmodule.h>. */ - /* */ - /* We highly recommend using the third method whenever possible. */ - /* */ - /*************************************************************************/ - - - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** G E N E R A L F R E E T Y P E 2 C O N F I G U R A T I O N ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - - - /*************************************************************************/ - /* */ - /* Many compilers provide a non-ANSI 64-bit data type that can be used */ - /* by FreeType to speed up some computations. However, this will create */ - /* some problems when compiling the library in strict ANSI mode. */ - /* */ - /* For this reason, the use of 64-bit integers is normally disabled when */ - /* the __STDC__ macro is defined. You can however disable this by */ - /* defining the macro FT_CONFIG_OPTION_FORCE_INT64 here. */ - /* */ - /* For most compilers, this will only create compilation warnings when */ - /* building the library. */ - /* */ - /* ObNote: The compiler-specific 64-bit integers are detected in the */ - /* file "ftconfig.h" either statically or through the */ - /* `configure' script on supported platforms. */ - /* */ -#undef FT_CONFIG_OPTION_FORCE_INT64 - - - /*************************************************************************/ - /* */ - /* LZW-compressed file support. */ - /* */ - /* FreeType now handles font files that have been compressed with the */ - /* 'compress' program. This is mostly used to parse many of the PCF */ - /* files that come with various X11 distributions. The implementation */ - /* uses NetBSD's `zopen' to partially uncompress the file on the fly */ - /* (see src/lzw/ftgzip.c). */ - /* */ - /* Define this macro if you want to enable this `feature'. */ - /* */ -#define FT_CONFIG_OPTION_USE_LZW - - - /*************************************************************************/ - /* */ - /* Gzip-compressed file support. */ - /* */ - /* FreeType now handles font files that have been compressed with the */ - /* 'gzip' program. This is mostly used to parse many of the PCF files */ - /* that come with XFree86. The implementation uses `zlib' to */ - /* partially uncompress the file on the fly (see src/gzip/ftgzip.c). */ - /* */ - /* Define this macro if you want to enable this `feature'. See also */ - /* the macro FT_CONFIG_OPTION_SYSTEM_ZLIB below. */ - /* */ -#define FT_CONFIG_OPTION_USE_ZLIB - - - /*************************************************************************/ - /* */ - /* ZLib library selection */ - /* */ - /* This macro is only used when FT_CONFIG_OPTION_USE_ZLIB is defined. */ - /* It allows FreeType's `ftgzip' component to link to the system's */ - /* installation of the ZLib library. This is useful on systems like */ - /* Unix or VMS where it generally is already available. */ - /* */ - /* If you let it undefined, the component will use its own copy */ - /* of the zlib sources instead. These have been modified to be */ - /* included directly within the component and *not* export external */ - /* function names. This allows you to link any program with FreeType */ - /* _and_ ZLib without linking conflicts. */ - /* */ - /* Do not #undef this macro here since the build system might define */ - /* it for certain configurations only. */ - /* */ -/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */ - - - /*************************************************************************/ - /* */ - /* DLL export compilation */ - /* */ - /* When compiling FreeType as a DLL, some systems/compilers need a */ - /* special keyword in front OR after the return type of function */ - /* declarations. */ - /* */ - /* Two macros are used within the FreeType source code to define */ - /* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */ - /* */ - /* FT_EXPORT( return_type ) */ - /* */ - /* is used in a function declaration, as in */ - /* */ - /* FT_EXPORT( FT_Error ) */ - /* FT_Init_FreeType( FT_Library* alibrary ); */ - /* */ - /* */ - /* FT_EXPORT_DEF( return_type ) */ - /* */ - /* is used in a function definition, as in */ - /* */ - /* FT_EXPORT_DEF( FT_Error ) */ - /* FT_Init_FreeType( FT_Library* alibrary ) */ - /* { */ - /* ... some code ... */ - /* return FT_Err_Ok; */ - /* } */ - /* */ - /* You can provide your own implementation of FT_EXPORT and */ - /* FT_EXPORT_DEF here if you want. If you leave them undefined, they */ - /* will be later automatically defined as `extern return_type' to */ - /* allow normal compilation. */ - /* */ - /* Do not #undef these macros here since the build system might define */ - /* them for certain configurations only. */ - /* */ -/* #define FT_EXPORT(x) extern x */ -/* #define FT_EXPORT_DEF(x) x */ - - - /*************************************************************************/ - /* */ - /* Glyph Postscript Names handling */ - /* */ - /* By default, FreeType 2 is compiled with the `PSNames' module. This */ - /* module is in charge of converting a glyph name string into a */ - /* Unicode value, or return a Macintosh standard glyph name for the */ - /* use with the TrueType `post' table. */ - /* */ - /* Undefine this macro if you do not want `PSNames' compiled in your */ - /* build of FreeType. This has the following effects: */ - /* */ - /* - The TrueType driver will provide its own set of glyph names, */ - /* if you build it to support postscript names in the TrueType */ - /* `post' table. */ - /* */ - /* - The Type 1 driver will not be able to synthetize a Unicode */ - /* charmap out of the glyphs found in the fonts. */ - /* */ - /* You would normally undefine this configuration macro when building */ - /* a version of FreeType that doesn't contain a Type 1 or CFF driver. */ - /* */ -#define FT_CONFIG_OPTION_POSTSCRIPT_NAMES - - - /*************************************************************************/ - /* */ - /* Postscript Names to Unicode Values support */ - /* */ - /* By default, FreeType 2 is built with the `PSNames' module compiled */ - /* in. Among other things, the module is used to convert a glyph name */ - /* into a Unicode value. This is especially useful in order to */ - /* synthetize on the fly a Unicode charmap from the CFF/Type 1 driver */ - /* through a big table named the `Adobe Glyph List' (AGL). */ - /* */ - /* Undefine this macro if you do not want the Adobe Glyph List */ - /* compiled in your `PSNames' module. The Type 1 driver will not be */ - /* able to synthetize a Unicode charmap out of the glyphs found in the */ - /* fonts. */ - /* */ -#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST - - - /*************************************************************************/ - /* */ - /* Support for Mac fonts */ - /* */ - /* Define this macro if you want support for outline fonts in Mac */ - /* format (mac dfont, mac resource, macbinary containing a mac */ - /* resource) on non-Mac platforms. */ - /* */ - /* Note that the `FOND' resource isn't checked. */ - /* */ -#define FT_CONFIG_OPTION_MAC_FONTS - - - /*************************************************************************/ - /* */ - /* Guessing methods to access embedded resource forks */ - /* */ - /* Enable extra Mac fonts support on non-Mac platforms (e.g. */ - /* GNU/Linux). */ - /* */ - /* Resource forks which include fonts data are stored sometimes in */ - /* locations which users or developers don't expected. In some cases, */ - /* resource forks start with some offset from the head of a file. In */ - /* other cases, the actual resource fork is stored in file different */ - /* from what the user specifies. If this option is activated, */ - /* FreeType tries to guess whether such offsets or different file */ - /* names must be used. */ - /* */ - /* Note that normal, direct access of resource forks is controlled via */ - /* the FT_CONFIG_OPTION_MAC_FONTS option. */ - /* */ -#ifdef FT_CONFIG_OPTION_MAC_FONTS -#define FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK -#endif - - - /*************************************************************************/ - /* */ - /* Allow the use of FT_Incremental_Interface to load typefaces that */ - /* contain no glyph data, but supply it via a callback function. */ - /* This allows FreeType to be used with the PostScript language, using */ - /* the GhostScript interpreter. */ - /* */ -/* #define FT_CONFIG_OPTION_INCREMENTAL */ - - - /*************************************************************************/ - /* */ - /* The size in bytes of the render pool used by the scan-line converter */ - /* to do all of its work. */ - /* */ - /* This must be greater than 4KByte. */ - /* */ -#define FT_RENDER_POOL_SIZE 16384L - - - /*************************************************************************/ - /* */ - /* FT_MAX_MODULES */ - /* */ - /* The maximum number of modules that can be registered in a single */ - /* FreeType library object. 32 is the default. */ - /* */ -#define FT_MAX_MODULES 32 - - - /*************************************************************************/ - /* */ - /* Debug level */ - /* */ - /* FreeType can be compiled in debug or trace mode. In debug mode, */ - /* errors are reported through the `ftdebug' component. In trace */ - /* mode, additional messages are sent to the standard output during */ - /* execution. */ - /* */ - /* Define FT_DEBUG_LEVEL_ERROR to build the library in debug mode. */ - /* Define FT_DEBUG_LEVEL_TRACE to build it in trace mode. */ - /* */ - /* Don't define any of these macros to compile in `release' mode! */ - /* */ - /* Do not #undef these macros here since the build system might define */ - /* them for certain configurations only. */ - /* */ -/* #define FT_DEBUG_LEVEL_ERROR */ -/* #define FT_DEBUG_LEVEL_TRACE */ - - - /*************************************************************************/ - /* */ - /* Memory Debugging */ - /* */ - /* FreeType now comes with an integrated memory debugger that is */ - /* capable of detecting simple errors like memory leaks or double */ - /* deletes. To compile it within your build of the library, you */ - /* should define FT_DEBUG_MEMORY here. */ - /* */ - /* Note that the memory debugger is only activated at runtime when */ - /* when the _environment_ variable "FT2_DEBUG_MEMORY" is defined also! */ - /* */ - /* Do not #undef this macro here since the build system might define */ - /* it for certain configurations only. */ - /* */ -/* #define FT_DEBUG_MEMORY */ - - - /*************************************************************************/ - /* */ - /* Module errors */ - /* */ - /* If this macro is set (which is _not_ the default), the higher byte */ - /* of an error code gives the module in which the error has occurred, */ - /* while the lower byte is the real error code. */ - /* */ - /* Setting this macro makes sense for debugging purposes only, since */ - /* it would break source compatibility of certain programs that use */ - /* FreeType 2. */ - /* */ - /* More details can be found in the files ftmoderr.h and fterrors.h. */ - /* */ -#undef FT_CONFIG_OPTION_USE_MODULE_ERRORS - - - - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** S F N T D R I V E R C O N F I G U R A T I O N ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - - - /*************************************************************************/ - /* */ - /* Define TT_CONFIG_OPTION_EMBEDDED_BITMAPS if you want to support */ - /* embedded bitmaps in all formats using the SFNT module (namely */ - /* TrueType & OpenType). */ - /* */ -#define TT_CONFIG_OPTION_EMBEDDED_BITMAPS - - - /*************************************************************************/ - /* */ - /* Define TT_CONFIG_OPTION_POSTSCRIPT_NAMES if you want to be able to */ - /* load and enumerate the glyph Postscript names in a TrueType or */ - /* OpenType file. */ - /* */ - /* Note that when you do not compile the `PSNames' module by undefining */ - /* the above FT_CONFIG_OPTION_POSTSCRIPT_NAMES, the `sfnt' module will */ - /* contain additional code used to read the PS Names table from a font. */ - /* */ - /* (By default, the module uses `PSNames' to extract glyph names.) */ - /* */ -#define TT_CONFIG_OPTION_POSTSCRIPT_NAMES - - - /*************************************************************************/ - /* */ - /* Define TT_CONFIG_OPTION_SFNT_NAMES if your applications need to */ - /* access the internal name table in a SFNT-based format like TrueType */ - /* or OpenType. The name table contains various strings used to */ - /* describe the font, like family name, copyright, version, etc. It */ - /* does not contain any glyph name though. */ - /* */ - /* Accessing SFNT names is done through the functions declared in */ - /* `freetype/ftnames.h'. */ - /* */ -#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 - - - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** T R U E T Y P E D R I V E R C O N F I G U R A T I O N ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - - /*************************************************************************/ - /* */ - /* Define TT_CONFIG_OPTION_BYTECODE_INTERPRETER if you want to compile */ - /* a bytecode interpreter in the TrueType driver. Note that there are */ - /* important patent issues related to the use of the interpreter. */ - /* */ - /* By undefining this, you will only compile the code necessary to load */ - /* TrueType glyphs without hinting. */ - /* */ - /* Do not #undef this macro here, since the build system might */ - /* define it for certain configurations only. */ - /* */ -/* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */ - - - /*************************************************************************/ - /* */ - /* Define TT_CONFIG_OPTION_UNPATENTED_HINTING (in addition to */ - /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER) to compile the unpatented */ - /* work-around hinting system. Note that for the moment, the algorithm */ - /* is only used when selected at runtime through the parameter tag */ - /* FT_PARAM_TAG_UNPATENTED_HINTING; or when the debug hook */ - /* FT_DEBUG_HOOK_UNPATENTED_HINTING is globally actived */ - /* */ -#define TT_CONFIG_OPTION_UNPATENTED_HINTING - - - /*************************************************************************/ - /* */ - /* Define TT_CONFIG_OPTION_INTERPRETER_SWITCH to compile the TrueType */ - /* bytecode interpreter with a huge switch statement, rather than a call */ - /* table. This results in smaller and faster code for a number of */ - /* architectures. */ - /* */ - /* Note however that on some compiler/processor combinations, undefining */ - /* this macro will generate faster, though larger, code. */ - /* */ -#define TT_CONFIG_OPTION_INTERPRETER_SWITCH - - - /*************************************************************************/ - /* */ - /* Define TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED to compile the */ - /* TrueType glyph loader to use Apple's definition of how to handle */ - /* component offsets in composite glyphs. */ - /* */ - /* Apple and MS disagree on the default behavior of component offsets */ - /* in composites. Apple says that they should be scaled by the scale */ - /* factors in the transformation matrix (roughly, it's more complex) */ - /* while MS says they should not. OpenType defines two bits in the */ - /* composite flags array which can be used to disambiguate, but old */ - /* fonts will not have them. */ - /* */ - /* http://partners.adobe.com/asn/developer/opentype/glyf.html */ - /* http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html */ - /* */ -#undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED - - - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** T Y P E 1 D R I V E R C O N F I G U R A T I O N ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - - - /*************************************************************************/ - /* */ - /* T1_MAX_DICT_DEPTH is the maximal depth of nest dictionaries and */ - /* arrays in the Type 1 stream (see t1load.c). A minimum of 4 is */ - /* required. */ - /* */ -#define T1_MAX_DICT_DEPTH 5 - - - /*************************************************************************/ - /* */ - /* T1_MAX_SUBRS_CALLS details the maximum number of nested sub-routine */ - /* calls during glyph loading. */ - /* */ -#define T1_MAX_SUBRS_CALLS 16 - - - /*************************************************************************/ - /* */ - /* T1_MAX_CHARSTRING_OPERANDS is the charstring stack's capacity. A */ - /* minimum of 16 is required. */ - /* */ - /* The Chinese font MingTiEG-Medium (CNS 11643 character set) needs 256. */ - /* */ -#define T1_MAX_CHARSTRINGS_OPERANDS 256 - - - /*************************************************************************/ - /* */ - /* Define this configuration macro if you want to prevent the */ - /* compilation of `t1afm', which is in charge of reading Type 1 AFM */ - /* files into an existing face. Note that if set, the T1 driver will be */ - /* unable to produce kerning distances. */ - /* */ -#define T1_CONFIG_OPTION_NO_AFM - - - /*************************************************************************/ - /* */ - /* Define this configuration macro if you want to prevent the */ - /* compilation of the Multiple Masters font support in the Type 1 */ - /* driver. */ - /* */ -#define T1_CONFIG_OPTION_NO_MM_SUPPORT - - /* */ - -/* - * The FT_CONFIG_OPTION_CHESTER_XXXX macros are used to toggle some recent - * improvements to the auto-hinter contributed by David Chester. They will - * most likely disappear completely in the next release. For now, you - * should always keep them defined. - * - */ -#define FT_CONFIG_OPTION_CHESTER_HINTS - -#ifdef FT_CONFIG_OPTION_CHESTER_HINTS - -#define FT_CONFIG_CHESTER_SMALL_F -#define FT_CONFIG_CHESTER_ASCENDER -#define FT_CONFIG_CHESTER_SERIF -#define FT_CONFIG_CHESTER_STEM -#define FT_CONFIG_CHESTER_BLUE_SCALE - -#endif /* FT_CONFIG_OPTION_CHESTER_HINTS */ - -FT_END_HEADER - - -#endif /* __FTOPTION_H__ */ - - -/* END */ diff -pNur xc.orig/lib/font/FreeType/module/ftstdlib.h xc/lib/font/FreeType/module/ftstdlib.h --- xc.orig/lib/font/FreeType/module/ftstdlib.h 2005-10-14 08:16:01.000000000 -0700 +++ xc/lib/font/FreeType/module/ftstdlib.h 1969-12-31 16:00:00.000000000 -0800 @@ -1,207 +0,0 @@ -/* ftstdlib.h -- modified for XFree86. */ -/* $XFree86: xc/lib/font/FreeType/module/ftstdlib.h,v 1.4 2005/10/14 15:16:01 tsi Exp $ */ - -/***************************************************************************/ -/* */ -/* ftstdlib.h */ -/* */ -/* ANSI-specific library and header configuration file (specification */ -/* only). */ -/* */ -/* Copyright 2002, 2003, 2004 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 FreeType source code. */ - /* */ - /* Load a file which defines __FTSTDLIB_H__ before this one to override */ - /* it. */ - /* */ - /*************************************************************************/ - - -#ifndef __FTSTDLIB_H__ -#define __FTSTDLIB_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. */ - /* */ - /* 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". */ - /* */ - /**********************************************************************/ - - -#ifndef FONTMODULE - -#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 -#define ft_isdigit isdigit -#define ft_isxdigit isxdigit - - -#include <string.h> - -#define ft_memcmp memcmp -#define ft_memcpy memcpy -#define ft_memmove memmove -#define ft_memset memset -#define ft_strcat strcat -#define ft_strcmp strcmp -#define ft_strcpy strcpy -#define ft_strlen strlen -#define ft_strncmp strncmp -#define ft_strncpy strncpy -#define ft_strrchr strrchr - - -#include <stdio.h> - -#define ft_sprintf sprintf - - - /**********************************************************************/ - /* */ - /* sorting */ - /* */ - /**********************************************************************/ - - -#include <stdlib.h> - -#define ft_qsort qsort -#define ft_exit exit /* only used to exit from unhandled exceptions */ - -#define ft_atol atol - - - /**********************************************************************/ - /* */ - /* 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 /* " */ - - -#else - -#include <X11/Xmd.h> -#define _XTYPEDEF_BOOL -#include <X11/Xdefs.h> -#define DONT_DEFINE_WRAPPERS -#define DEFINE_SETJMP_WRAPPERS -#include "xf86_ansic.h" -#undef DONT_DEFINE_WRAPPERS - -#ifndef offsetof -#define offsetof(TYPE, MEMBER) ((xf86size_t)&((TYPE*)0)->MEMBER) -#endif - -#define FT_UINT_MAX 4294967295U -#ifdef LONG64 -#define FT_ULONG_MAX 18446744073709551615UL -#else -#define FT_ULONG_MAX 4294967295UL -#endif - -#define ft_isalnum xf86isalnum -#define ft_isupper xf86isupper -#define ft_islower xf86islower -#define ft_isdigit xf86isdigit -#define ft_isxdigit xf86isxdigit - -#define ft_memcmp xf86memcmp -#define ft_memcpy xf86memcpy -#define ft_memmove xf86memmove -#define ft_memset xf86memset -#define ft_strcat xf86strcat -#define ft_strcmp xf86strcmp -#define ft_strcpy xf86strcpy -#define ft_strlen xf86strlen -#define ft_strncmp xf86strncmp -#define ft_strncpy xf86strncpy -#define ft_strrchr xf86strrchr - -#define ft_sprintf xf86sprintf - -#define ft_qsort xf86qsort -#define ft_exit xf86exit - -#define ft_atol xf86atol - -#define ft_jmp_buf jmp_buf -#define ft_setjmp setjmp -#define ft_longjmp longjmp - -#undef memcpy -#define memcpy xf86memcpy -#undef memset -#define memset xf86memset - -#endif /* FONTMODULE */ - - - /* 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 /* __FTSTDLIB_H__ */ - - -/* END */ diff -pNur xc.orig/lib/font/FreeType/module/fttypes.h xc/lib/font/FreeType/module/fttypes.h --- xc.orig/lib/font/FreeType/module/fttypes.h 2005-10-14 08:16:01.000000000 -0700 +++ xc/lib/font/FreeType/module/fttypes.h 1969-12-31 16:00:00.000000000 -0800 @@ -1,571 +0,0 @@ -/***************************************************************************/ -/* */ -/* fttypes.h */ -/* */ -/* FreeType simple types definitions (specification only). */ -/* */ -/* Copyright 1996-2001 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* Modified for XFree86. */ -/* */ -/* 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. */ -/* */ -/***************************************************************************/ -/* $XFree86: xc/lib/font/FreeType/module/fttypes.h,v 1.2 2005/10/14 15:16:01 tsi Exp $ */ - -#ifndef __FTTYPES_H__ -#define __FTTYPES_H__ - - -#include <ft2build.h> -#include FT_CONFIG_CONFIG_H -#include FT_SYSTEM_H -#include FT_IMAGE_H - -#ifndef FONTMODULE -#include <stddef.h> -#else -#include <X11/Xmd.h> -#define _XTYPEDEF_BOOL -#include <X11/Xdefs.h> -#include "xf86_ansic.h" -#ifndef size_t -#define DONT_DEFINE_WRAPPERS -#define size_t xf86size_t -#undef DONT_DEFINE_WRAPPERS -#endif -#endif - -FT_BEGIN_HEADER - - - /*************************************************************************/ - /* */ - /* <Section> */ - /* basic_types */ - /* */ - /* <Title> */ - /* Basic Data Types */ - /* */ - /* <Abstract> */ - /* The basic data types defined by the library. */ - /* */ - /* <Description> */ - /* This section contains the basic data types defined by FreeType 2, */ - /* ranging from simple scalar types to bitmap descriptors. More */ - /* font-specific structures are defined in a different section. */ - /* */ - /* <Order> */ - /* FT_Byte */ - /* FT_Char */ - /* FT_Int */ - /* FT_UInt */ - /* FT_Short */ - /* FT_UShort */ - /* FT_Long */ - /* FT_ULong */ - /* FT_Bool */ - /* FT_Offset */ - /* FT_PtrDist */ - /* FT_String */ - /* FT_Error */ - /* FT_Fixed */ - /* FT_Pointer */ - /* FT_Pos */ - /* FT_Vector */ - /* FT_BBox */ - /* FT_Matrix */ - /* FT_FWord */ - /* FT_UFWord */ - /* FT_F2Dot14 */ - /* FT_UnitVector */ - /* FT_F26Dot6 */ - /* */ - /* */ - /* FT_Generic */ - /* FT_Generic_Finalizer */ - /* */ - /* FT_Bitmap */ - /* FT_Pixel_Mode */ - /* FT_Palette_Mode */ - /* FT_Glyph_Format */ - /* FT_IMAGE_TAG */ - /* */ - /*************************************************************************/ - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_Bool */ - /* */ - /* <Description> */ - /* A typedef of unsigned char, used for simple booleans. */ - /* */ - typedef unsigned char FT_Bool; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_FWord */ - /* */ - /* <Description> */ - /* A signed 16-bit integer used to store a distance in original font */ - /* units. */ - /* */ - typedef signed short FT_FWord; /* distance in FUnits */ - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_UFWord */ - /* */ - /* <Description> */ - /* An unsigned 16-bit integer used to store a distance in original */ - /* font units. */ - /* */ - typedef unsigned short FT_UFWord; /* unsigned distance */ - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_Char */ - /* */ - /* <Description> */ - /* A simple typedef for the _signed_ char type. */ - /* */ - typedef signed char FT_Char; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_Byte */ - /* */ - /* <Description> */ - /* A simple typedef for the _unsigned_ char type. */ - /* */ - typedef unsigned char FT_Byte; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_String */ - /* */ - /* <Description> */ - /* A simple typedef for the char type, usually used for strings. */ - /* */ - typedef char FT_String; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_Short */ - /* */ - /* <Description> */ - /* A typedef for signed short. */ - /* */ - typedef signed short FT_Short; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_UShort */ - /* */ - /* <Description> */ - /* A typedef for unsigned short. */ - /* */ - typedef unsigned short FT_UShort; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_Int */ - /* */ - /* <Description> */ - /* A typedef for the int type. */ - /* */ - typedef int FT_Int; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_UInt */ - /* */ - /* <Description> */ - /* A typedef for the unsigned int type. */ - /* */ - typedef unsigned int FT_UInt; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_Long */ - /* */ - /* <Description> */ - /* A typedef for signed long. */ - /* */ - typedef signed long FT_Long; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_ULong */ - /* */ - /* <Description> */ - /* A typedef for unsigned long. */ - /* */ - typedef unsigned long FT_ULong; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_F2Dot14 */ - /* */ - /* <Description> */ - /* A signed 2.14 fixed float type used for unit vectors. */ - /* */ - typedef signed short FT_F2Dot14; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_F26Dot6 */ - /* */ - /* <Description> */ - /* A signed 26.6 fixed float type used for vectorial pixel */ - /* coordinates. */ - /* */ - typedef signed long FT_F26Dot6; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_Fixed */ - /* */ - /* <Description> */ - /* This type is used to store 16.16 fixed float values, like scales */ - /* or matrix coefficients. */ - /* */ - typedef signed long FT_Fixed; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_Error */ - /* */ - /* <Description> */ - /* The FreeType error code type. A value of 0 is always interpreted */ - /* as a successful operation. */ - /* */ - typedef int FT_Error; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_Pointer */ - /* */ - /* <Description> */ - /* A simple typedef for a typeless pointer. */ - /* */ - typedef void* FT_Pointer; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_Offset */ - /* */ - /* <Description> */ - /* This is equivalent to the ANSI C `size_t' type, i.e. the largest */ - /* _unsigned_ integer type used to express a file size or position, */ - /* or a memory block size. */ - /* */ - typedef size_t FT_Offset; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_PtrDist */ - /* */ - /* <Description> */ - /* This is equivalent to the ANSI C `ptrdiff_t' type, i.e. the */ - /* largest _signed_ integer type used to express the distance */ - /* between two pointers. */ - /* */ - typedef size_t FT_PtrDist; - - - /*************************************************************************/ - /* */ - /* <Struct> */ - /* FT_UnitVector */ - /* */ - /* <Description> */ - /* A simple structure used to store a 2D vector unit vector. Uses */ - /* FT_F2Dot14 types. */ - /* */ - /* <Fields> */ - /* x :: Horizontal coordinate. */ - /* */ - /* y :: Vertical coordinate. */ - /* */ - typedef struct FT_UnitVector_ - { - FT_F2Dot14 x; - FT_F2Dot14 y; - - } FT_UnitVector; - - - /*************************************************************************/ - /* */ - /* <Struct> */ - /* FT_Matrix */ - /* */ - /* <Description> */ - /* A simple structure used to store a 2x2 matrix. Coefficients are */ - /* in 16.16 fixed float format. The computation performed is: */ - /* */ - /* { */ - /* x' = x*xx + y*xy */ - /* y' = x*yx + y*yy */ - /* } */ - /* */ - /* <Fields> */ - /* xx :: Matrix coefficient. */ - /* */ - /* xy :: Matrix coefficient. */ - /* */ - /* yx :: Matrix coefficient. */ - /* */ - /* yy :: Matrix coefficient. */ - /* */ - typedef struct FT_Matrix_ - { - FT_Fixed xx, xy; - FT_Fixed yx, yy; - - } FT_Matrix; - - - /*************************************************************************/ - /* */ - /* <Struct> */ - /* FT_Data */ - /* */ - /* <Description> */ - /* Read-only binary data represented as a pointer and a length. */ - /* */ - /* <Fields> */ - /* pointer :: The data. */ - /* */ - /* length :: The length of the data in bytes. */ - /* */ - typedef struct FT_Data_ - { - const FT_Byte* pointer; - FT_Int length; - - } FT_Data; - - - /*************************************************************************/ - /* */ - /* <FuncType> */ - /* FT_Generic_Finalizer */ - /* */ - /* <Description> */ - /* Describes a function used to destroy the `client' data of any */ - /* FreeType object. See the description of the FT_Generic type for */ - /* details of usage. */ - /* */ - /* <Input> */ - /* The address of the FreeType object which is under finalization. */ - /* Its client data is accessed through its `generic' field. */ - /* */ - typedef void (*FT_Generic_Finalizer)(void* object); - - - /*************************************************************************/ - /* */ - /* <Struct> */ - /* FT_Generic */ - /* */ - /* <Description> */ - /* Client applications often need to associate their own data to a */ - /* variety of FreeType core objects. For example, a text layout API */ - /* might want to associate a glyph cache to a given size object. */ - /* */ - /* Most FreeType object contains a `generic' field, of type */ - /* FT_Generic, which usage is left to client applications and font */ - /* servers. */ - /* */ - /* It can be used to store a pointer to client-specific data, as well */ - /* as the address of a `finalizer' function, which will be called by */ - /* FreeType when the object is destroyed (for example, the previous */ - /* client example would put the address of the glyph cache destructor */ - /* in the `finalizer' field). */ - /* */ - /* <Fields> */ - /* data :: A typeless pointer to any client-specified data. This */ - /* field is completely ignored by the FreeType library. */ - /* */ - /* finalizer :: A pointer to a `generic finalizer' function, which */ - /* will be called when the object is destroyed. If this */ - /* field is set to NULL, no code will be called. */ - /* */ - typedef struct FT_Generic_ - { - void* data; - FT_Generic_Finalizer finalizer; - - } FT_Generic; - - - /*************************************************************************/ - /* */ - /* <Macro> */ - /* FT_MAKE_TAG */ - /* */ - /* <Description> */ - /* This macro converts four letter tags which are used to label */ - /* TrueType tables into an unsigned long to be used within FreeType. */ - /* */ - /* <Note> */ - /* The produced values *must* be 32bit integers. Don't redefine this */ - /* macro. */ - /* */ -#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \ - ( ( (FT_ULong)_x1 << 24 ) | \ - ( (FT_ULong)_x2 << 16 ) | \ - ( (FT_ULong)_x3 << 8 ) | \ - (FT_ULong)_x4 ) - - - /*************************************************************************/ - /*************************************************************************/ - /* */ - /* L I S T M A N A G E M E N T */ - /* */ - /*************************************************************************/ - /*************************************************************************/ - - - /*************************************************************************/ - /* */ - /* <Section> */ - /* list_processing */ - /* */ - /*************************************************************************/ - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_ListNode */ - /* */ - /* <Description> */ - /* Many elements and objects in FreeType are listed through a */ - /* FT_List record (see FT_ListRec). As its name suggests, a */ - /* FT_ListNode is a handle to a single list element. */ - /* */ - typedef struct FT_ListNodeRec_* FT_ListNode; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_List */ - /* */ - /* <Description> */ - /* A handle to a list record (see FT_ListRec). */ - /* */ - typedef struct FT_ListRec_* FT_List; - - - /*************************************************************************/ - /* */ - /* <Struct> */ - /* FT_ListNodeRec */ - /* */ - /* <Description> */ - /* A structure used to hold a single list element. */ - /* */ - /* <Fields> */ - /* prev :: The previous element in the list. NULL if first. */ - /* */ - /* next :: The next element in the list. NULL if last. */ - /* */ - /* data :: A typeless pointer to the listed object. */ - /* */ - typedef struct FT_ListNodeRec_ - { - FT_ListNode prev; - FT_ListNode next; - void* data; - - } FT_ListNodeRec; - - - /*************************************************************************/ - /* */ - /* <Struct> */ - /* FT_ListRec */ - /* */ - /* <Description> */ - /* A structure used to hold a simple doubly-linked list. These are */ - /* used in many parts of FreeType. */ - /* */ - /* <Fields> */ - /* head :: The head (first element) of doubly-linked list. */ - /* */ - /* tail :: The tail (last element) of doubly-linked list. */ - /* */ - typedef struct FT_ListRec_ - { - FT_ListNode head; - FT_ListNode tail; - - } FT_ListRec; - - - /* */ - -#define FT_IS_EMPTY( list ) ( (list).head == 0 ) - - /* return base error code (without module-specific prefix) */ -#define FT_ERROR_BASE( x ) ( (x) & 0xFF ) - - /* return module error code */ -#define FT_ERROR_MODULE( x ) ( (x) & 0xFF00U ) - -#define FT_BOOL( x ) ( (FT_Bool)( x ) ) - -FT_END_HEADER - -#endif /* __FTTYPES_H__ */ - - -/* END */ diff -pNur xc.orig/lib/fontconfig/Imakefile xc/lib/fontconfig/Imakefile --- xc.orig/lib/fontconfig/Imakefile 2005-10-25 09:58:48.000000000 -0700 +++ xc/lib/fontconfig/Imakefile 2007-05-23 12:43:10.000000000 -0700 @@ -22,7 +22,7 @@ FONTCONFIGSRC=$(TOP)/extras/fontconfig INCLUDES=$(EXPATINCLUDES) $(FREETYPE2INCLUDES) -I$(FONTCONFIGSRC)/src -DEFINES=-DFC_DEFAULT_FONTS='"$(FC_DEFAULT_FONTS)"' -DHAVE_EXPAT -DXFREE86_FT2 +DEFINES=-DFC_DEFAULT_FONTS='"$(FC_DEFAULT_FONTS)"' -DHAVE_EXPAT REQUIREDLIBS=$(LDPRELIBS) $(FREETYPE2LIB) $(EXPATLIB) diff -pNur xc.orig/lib/freetype2/Imakefile xc/lib/freetype2/Imakefile --- xc.orig/lib/freetype2/Imakefile 2005-10-14 08:16:07.000000000 -0700 +++ xc/lib/freetype2/Imakefile 2007-05-23 12:43:10.000000000 -0700 @@ -32,7 +32,7 @@ DARWINDEFINES = -DDARWIN_NO_CARBON # endif #endif -DEFINES = $(DARWINDEFINES) Freetype2BuildDefines -DXFREE86_FT2 +DEFINES = $(DARWINDEFINES) Freetype2BuildDefines INCLUDES = \ -I$(FREETYPESRC)\ diff -pNur xc.orig/lib/freetype2/freetype/config/Imakefile xc/lib/freetype2/freetype/config/Imakefile --- xc.orig/lib/freetype2/freetype/config/Imakefile 2003-10-31 12:49:05.000000000 -0800 +++ xc/lib/freetype2/freetype/config/Imakefile 2007-05-23 12:43:10.000000000 -0700 @@ -14,11 +14,7 @@ HEADERS= \ BuildIncludes($(HEADERS),freetype2/freetype/config,../../..) InstallMultipleFlags($(HEADERS),$(INCDIR)/freetype2/freetype/config,$(INSTINCFLAGS)) -#if 0 LinkSourceFile(ftconfig.h,$(FREETYPEINC)/config) -#else -LinkSourceFile(ftconfig.h,$(FONTLIBSRC)/FreeType) -#endif LinkSourceFile(ftheader.h,$(FREETYPEINC)/config) LinkSourceFile(ftmodule.h,$(FREETYPEINC)/config) LinkSourceFile(ftoption.h,$(FREETYPEINC)/config) diff -pNur xc.orig/programs/fonttosfnt/Imakefile xc/programs/fonttosfnt/Imakefile --- xc.orig/programs/fonttosfnt/Imakefile 2005-10-14 08:17:30.000000000 -0700 +++ xc/programs/fonttosfnt/Imakefile 2007-05-23 12:43:10.000000000 -0700 @@ -17,7 +17,7 @@ OBJS = fonttosfnt.o read.o write.o struc FONTENC_LIBS = -lfontenc -DEFINES = $(SETENV_DEFINES) $(SNPRINTF_DEFINES) -DXFREE86_FT2 +DEFINES = $(SETENV_DEFINES) $(SNPRINTF_DEFINES) INCLUDES = $(FREETYPE2INCLUDES) $(SNPRINTF_INCLUDES) LOCAL_LIBRARIES = $(FREETYPE2LIB) $(FONTENC_LIBS) GzipLibrary MathLibrary diff -pNur xc.orig/programs/fonttosfnt/util.c xc/programs/fonttosfnt/util.c --- xc.orig/programs/fonttosfnt/util.c 2005-02-06 17:01:16.000000000 -0800 +++ xc/programs/fonttosfnt/util.c 2007-05-23 12:43:10.000000000 -0700 @@ -34,7 +34,6 @@ THE SOFTWARE. #include <ft2build.h> #include FT_FREETYPE_H -#include FT_INTERNAL_OBJECTS_H #include FT_BDF_H #include "X11/Xos.h" #include "fonttosfnt.h" diff -pNur xc.orig/programs/mkfontscale/Imakefile xc/programs/mkfontscale/Imakefile --- xc.orig/programs/mkfontscale/Imakefile 2005-10-14 08:17:31.000000000 -0700 +++ xc/programs/mkfontscale/Imakefile 2007-05-23 12:43:10.000000000 -0700 @@ -15,7 +15,7 @@ SNPRINTF_INCLUDES = -I$(LIBSRC)/misc #endif INCLUDES = $(FREETYPE2INCLUDES) $(SNPRINTF_INCLUDES) -DEFINES = $(FREETYPE2DEFINES) $(SNPRINTF_DEFINES) -DXFREE86_FT2 +DEFINES = $(FREETYPE2DEFINES) $(SNPRINTF_DEFINES) ComplexProgramTarget(mkfontscale) LinkBuildBinary(ProgramTargetName(mkfontscale)) diff -pNur xc.orig/programs/x11perf/Imakefile xc/programs/x11perf/Imakefile --- xc.orig/programs/x11perf/Imakefile 2005-10-14 08:17:31.000000000 -0700 +++ xc/programs/x11perf/Imakefile 2007-05-23 12:43:10.000000000 -0700 @@ -14,7 +14,7 @@ XCOMM $XFree86: xc/programs/x11perf/Imak XRENDERINCS = $(XRENDERINCLUDES) #endif #if BuildXftLibrary - XFTDEFS = -DXFT -DXFREE86_FT2 + XFTDEFS = -DXFT XFTDEPS = XftClientDepLibs XFTLIBS = XftClientLibs XFTINCS = $(XFTINCLUDES) diff -pNur xc.orig/programs/xclock/Imakefile xc/programs/xclock/Imakefile --- xc.orig/programs/xclock/Imakefile 2005-10-14 08:17:31.000000000 -0700 +++ xc/programs/xclock/Imakefile 2007-05-23 15:10:58.000000000 -0700 @@ -5,7 +5,7 @@ XCOMM $XFree86: xc/programs/xclock/Imake #endif #if XClockUseRender - XRENDERDEFS = -DXRENDER -DXFREE86_FT2 + XRENDERDEFS = -DXRENDER XRENDERDEPS = XftClientDepLibs XRENDERLIBS = XftClientLibs MathLibrary XRENDERINCS = $(XFTINCLUDES) $(XRENDERINCLUDES) diff -pNur xc.orig/programs/xditview/Imakefile xc/programs/xditview/Imakefile --- xc.orig/programs/xditview/Imakefile 2006-01-09 07:01:02.000000000 -0800 +++ xc/programs/xditview/Imakefile 2007-05-23 15:09:56.000000000 -0700 @@ -4,7 +4,7 @@ XCOMM $XFree86: xc/programs/xditview/Ima #if BuildXftLibrary DEPFONTLIBS = XftClientDepLibs FONTLIBS = XftClientLibs - FONTDEFS = -DUSE_XFT -DXFREE86_FT2 + FONTDEFS = -DUSE_XFT INCLUDES = $(XFTINCLUDES) #endif #if HasMkstemp diff -pNur xc.orig/programs/xfd/Imakefile xc/programs/xfd/Imakefile --- xc.orig/programs/xfd/Imakefile 2005-10-14 08:17:32.000000000 -0700 +++ xc/programs/xfd/Imakefile 2007-05-23 15:12:06.000000000 -0700 @@ -5,7 +5,7 @@ XCOMM $XFree86: xc/programs/xfd/Imakefil #endif #if XFdUseRender - XRENDERDEFS = -DXRENDER -DXFREE86_FT2 + XRENDERDEFS = -DXRENDER XRENDERDEPS = XftClientDepLibs XRENDERLIBS = XftClientLibs XRENDERINCS = $(XFTINCLUDES) $(XRENDERINCLUDES) diff -pNur xc.orig/programs/xlogo/Imakefile xc/programs/xlogo/Imakefile --- xc.orig/programs/xlogo/Imakefile 2005-10-14 08:17:34.000000000 -0700 +++ xc/programs/xlogo/Imakefile 2007-05-23 15:08:43.000000000 -0700 @@ -5,7 +5,7 @@ XCOMM $XFree86: xc/programs/xlogo/Imakef #endif #if XLogoUseRender - XRENDERDEFS = -DXRENDER -DXFREE86_FT2 + XRENDERDEFS = -DXRENDER XRENDERDEPS = XftClientDepLibs XRENDERLIBS = XftClientLibs XRENDERINCS = $(XFTINCLUDES) $(XRENDERINCLUDES) diff -pNur xc.orig/programs/xterm/Imakefile xc/programs/xterm/Imakefile --- xc.orig/programs/xterm/Imakefile 2006-04-09 17:34:36.000000000 -0700 +++ xc/programs/xterm/Imakefile 2007-05-23 12:43:10.000000000 -0700 @@ -161,7 +161,7 @@ module.o: ; $(CC) -c defines $(CFLAGS) m #define XRenderSupport #endif #ifdef XRenderSupport - XRFDEF = -DXRENDERFONT -DXFREE86_FT2 + XRFDEF = -DXRENDERFONT XRFLIBS = XftClientLibs XRFDEPLIBS = XftClientDepLibs XRFINCLUDES = $(XFTINCLUDES)