Files correlati : pdflib Ricompilazione Demo : [ ] Commento : Aggiornata pdflib.dll alla versione 7.0.4 git-svn-id: svn://10.65.10.50/trunk@18580 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			463 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			463 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| /*---------------------------------------------------------------------------*
 | |
|  |              PDFlib - A library for generating PDF on the fly             |
 | |
|  +---------------------------------------------------------------------------+
 | |
|  | Copyright (c) 1997-2006 Thomas Merz and PDFlib GmbH. All rights reserved. |
 | |
|  +---------------------------------------------------------------------------+
 | |
|  |                                                                           |
 | |
|  |    This software is subject to the PDFlib license. It is NOT in the       |
 | |
|  |    public domain. Extended versions and commercial licenses are           |
 | |
|  |    available, please check http://www.pdflib.com.                         |
 | |
|  |                                                                           |
 | |
|  *---------------------------------------------------------------------------*/
 | |
| 
 | |
| /* $Id: pc_config.h,v 1.4 2009-03-23 08:51:17 guy Exp $
 | |
|  *
 | |
|  * PDFlib portability and configuration definitions
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #ifndef PC_CONFIG_H
 | |
| #define PC_CONFIG_H
 | |
| 
 | |
| /* ------------------------ feature configuration  ------------------- */
 | |
| 
 | |
| /* zlib compression support */
 | |
| #define HAVE_LIBZ
 | |
| 
 | |
| /* ---------------------------- platform definitions ------------------------ */
 | |
| 
 | |
| /* #undef this if your platform doesn't support environment variables */
 | |
| #define HAVE_ENVVARS
 | |
| 
 | |
| /* Compilers which are not strictly ANSI conforming can set PDF_VOLATILE
 | |
|  * to an empty value.
 | |
|  */
 | |
| #ifndef PDF_VOLATILE
 | |
| #define PDF_VOLATILE	volatile
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * Define for compiler supporting file open function _wfopen
 | |
|  * for Unicode filenames.
 | |
|  */
 | |
| #undef PDC_UNICODE_FILENAME
 | |
| 
 | |
| /*
 | |
|  * Define whether function  char *strerror(int errnum)
 | |
|  * is available in the C runtime system
 | |
|  */
 | |
| #define PDC_HAS_STRERROR
 | |
| 
 | |
| 
 | |
| /* ---------------------------------- WIN32  -------------------------------- */
 | |
| 
 | |
| /* try to identify Windows compilers */
 | |
| 
 | |
| #if (defined _WIN32 || defined __WATCOMC__ || defined __BORLANDC__ ||	\
 | |
| 	(defined(__MWERKS__) && defined(__INTEL__))) && !defined WIN32
 | |
| #define	WIN32
 | |
| #endif	/* <Windows compiler>  && !defined WIN32 */
 | |
| 
 | |
| #ifdef	WIN32
 | |
| #define WRITEMODE	"wb"
 | |
| #define APPENDMODE	"ab"
 | |
| 
 | |
| #ifdef	_MSC_VER
 | |
| #define _LARGEFILE_SOURCE
 | |
| #endif
 | |
| 
 | |
| #undef PDC_PATHSEP
 | |
| #define PDC_PATHSEP     "\\"
 | |
| 
 | |
| #undef PDC_PATHSEP_ALT
 | |
| #define PDC_PATHSEP_ALT "/"
 | |
| 
 | |
| #if defined(_WIN32_WCE) && (_WIN32_WCE >= 300)
 | |
| #define PDF_PLATFORM    "Windows CE"
 | |
| #define WINCE
 | |
| #undef HAVE_SETLOCALE
 | |
| #undef HAVE_ENVVARS
 | |
| #else
 | |
| #if defined(WIN64)
 | |
| #define PDF_PLATFORM    "Win64"
 | |
| #else
 | |
| #define PDF_PLATFORM    "Win32"
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| #define PDC_TMPDIR_ENV  "TMP"
 | |
| 
 | |
| /* file open function "_wfopen" for Unicode filenames is available.
 | |
| **/
 | |
| #if defined(_MSC_VER) && !defined(PDF_WIN98)
 | |
| #define PDC_UNICODE_FILENAME
 | |
| #endif
 | |
| 
 | |
| #endif	/* WIN32 */
 | |
| 
 | |
| /* some standard C library functions (eg. localtime()) are not reentrant
 | |
| ** and must be replaced with their "_r" equivalent (eg. localtime_r()).
 | |
| */
 | |
| #if !defined(WIN32) && !defined(__MVS__) && !defined(OS_ZOS_SASC) &&\
 | |
|  !(defined(__MWERKS__) && (defined(__POWERPC__) || defined(__MC68K__)))
 | |
| #define PDC_NEEDS_R_FUNCTIONS
 | |
| #endif
 | |
| 
 | |
| /* --------------------------------- Cygnus  -------------------------------- */
 | |
| 
 | |
| #ifdef __CYGWIN__
 | |
| #define WRITEMODE	"wb"
 | |
| #define APPENDMODE	"ab"
 | |
| #ifdef DLL_EXPORT
 | |
|     #define PDFLIB_EXPORTS
 | |
| #endif
 | |
| 
 | |
| #endif /* __CYGWIN__ */
 | |
| 
 | |
| /* ---------------------------------- DJGPP  -------------------------------- */
 | |
| 
 | |
| #ifdef __DJGPP__
 | |
| #define WRITEMODE	"wb"
 | |
| #define APPENDMODE	"ab"
 | |
| #define PDF_PLATFORM	"Win32/DJGPP"
 | |
| #endif /* __DJGPP__ */
 | |
| 
 | |
| /* ----------------------------------- OS/2  -------------------------------- */
 | |
| 
 | |
| /*
 | |
|  * Try to identify OS/2 compilers.
 | |
|  */
 | |
| 
 | |
| #if (defined __OS2__ || defined __EMX__) && !defined OS2
 | |
| #define OS2
 | |
| #endif
 | |
| 
 | |
| #ifdef	OS2
 | |
| #define WRITEMODE	"wb"
 | |
| #define APPENDMODE	"ab"
 | |
| #define PDF_PLATFORM	"OS/2"
 | |
| #endif	/* OS2 */
 | |
| 
 | |
| /* --------------------------------- Mac OS X ------------------------------- */
 | |
| 
 | |
| /* try to identify the Mac OS X command line compiler */
 | |
| 
 | |
| #if defined(__APPLE__) && (defined(__ppc__) || \
 | |
|     defined(__i386__) || defined(__ppc64__) || defined(__x86_64__))
 | |
| 
 | |
| #define MACOSX
 | |
| 
 | |
| /* Mac OS X 10.2 (Jaguar) defines this, but we use it for Mac OS 9 below */
 | |
| #undef MAC
 | |
| 
 | |
| #if !defined(PDF_PLATFORM) && defined(PDF_MAC_PLATFORM)
 | |
| 
 | |
| #if defined(__ppc__)
 | |
| #define PDF_PLATFORM    PDF_MAC_PLATFORM" ppc"
 | |
| #endif /* __ppc__ */
 | |
| 
 | |
| #if defined(__ppc64__)
 | |
| #define PDF_PLATFORM    PDF_MAC_PLATFORM" ppc64"
 | |
| #endif /* __ppc64__ */
 | |
| 
 | |
| #if defined(__x86_64__)
 | |
| #define PDF_PLATFORM    PDF_MAC_PLATFORM" 64"
 | |
| #endif /* __x86_64__ */
 | |
| 
 | |
| #if !defined(PDF_PLATFORM)
 | |
| #define PDF_PLATFORM    PDF_MAC_PLATFORM
 | |
| #endif
 | |
| 
 | |
| #endif /* PDF_PLATFORM */
 | |
| 
 | |
| #ifndef PDF_PLATFORM
 | |
| #define PDF_PLATFORM    "Mac OS X"
 | |
| #endif
 | |
| #endif /* Mac OS X */
 | |
| 
 | |
| /* --------------------------------- Mac OS 9 ------------------------------- */
 | |
| 
 | |
| /* try to identify Mac OS 9 compilers */
 | |
| 
 | |
| #if (defined macintosh || defined __POWERPC__ || defined __CFM68K__) && \
 | |
| 	!defined MAC && !defined MACOSX && !defined __BEOS__
 | |
| #define MAC
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * Byte order
 | |
|  * WORDS_BIGENDIAN will be set by the configure script on most platforms.
 | |
|  * Only on platforms where there is no configure script we must set the
 | |
|  * endianness explicitly (most importantly CodeWarrior on the Mac)
 | |
|  *
 | |
|  * And we have to explicitly set it on Platforms where crosscompiling
 | |
|  * is used (like Mac to create Universal Binaries)
 | |
|  */
 | |
| #undef PDC_ISBIGENDIAN
 | |
| #if defined(__APPLE__)
 | |
| #  if defined(__POWERPC__) || defined(__MC68K__) \
 | |
| 	    || defined(__ppc64__) || defined(__ppc__)
 | |
| #    define PDC_ISBIGENDIAN 1
 | |
| #  else
 | |
| #    define PDC_ISBIGENDIAN 0
 | |
| #  endif
 | |
| #else /* MAC */
 | |
| #  if defined(WORDS_BIGENDIAN)
 | |
| #    define PDC_ISBIGENDIAN 1
 | |
| #  else
 | |
| #    define PDC_ISBIGENDIAN 0
 | |
| #  endif
 | |
| #endif /* MAC */
 | |
| 
 | |
| 
 | |
| 
 | |
| #if defined(MAC) && !defined(__ppc64__)
 | |
| #define WRITEMODE	"wb"
 | |
| #define APPENDMODE	"ab"
 | |
| #define PDC_PATHSEP     ":"
 | |
| 
 | |
| #undef HAVE_ENVVARS
 | |
| 
 | |
| #define PDF_PLATFORM	"Mac OS 9"
 | |
| #endif	/* MAC */
 | |
| 
 | |
| #if defined(MAC) || defined(MACOSX)
 | |
| 
 | |
| /* ------------------ Carbon Handling for both Mac OS 9 and X --------------- */
 | |
| 
 | |
| /*
 | |
|  * By default we always build a carbonized version of the library,
 | |
|  * but allow non-Carbon builds to be triggered by setting the
 | |
|  * PDF_TARGET_API_MAC_CLASSIC symbol externally.
 | |
|  */
 | |
| 
 | |
| #ifdef PDF_TARGET_API_MAC_CLASSIC
 | |
| #undef PDF_TYPE1_HOSTFONT_SUPPORTED
 | |
| #define PDF_ALLOW_MAC_DEPR_FUNCS
 | |
| #else
 | |
| #define PDF_TARGET_API_MAC_CARBON
 | |
| #endif
 | |
| 
 | |
| #if defined(PDF_TARGET_API_MAC_CARBON) && !defined(TARGET_API_MAC_CARBON)
 | |
| #define TARGET_API_MAC_CARBON 1
 | |
| #endif
 | |
| 
 | |
| /* ---------------- Enabling special MAC functionality --------------------- */
 | |
| 
 | |
| #ifdef PDF_TARGET_API_MAC_CARBON
 | |
| 
 | |
| /* It must be distinguished between 32-bit and 64-bit Mac OS X versions,
 | |
|  * because PDFlib uses MAC API functions, especially the old QuickDraw
 | |
|  * functions, which are not available on 64-bit Mac OS X platforms.
 | |
|  * These functions are already deprecated from Mac OS X v10.4 and
 | |
|  * shall be disabled also for 32-bit versions in future releases.
 | |
|  * Therefore we set the define PDF_MACATS_SUPPORTED for all CPU versions.
 | |
|  *
 | |
|  * PDF_MACATS_SUPPORTED:
 | |
|  * - ATS font handling (each type of host font name support possible)
 | |
|  *
 | |
|  * PDF_ALLOW_MAC_DEPR_FUNCS:
 | |
|  * - Only QuickDraw font names possible
 | |
|  * - FileSpec instead of FileRef functions (also in ATS)
 | |
|  * - File type creation (PDF_FILETYPE_SUPPORTED) for PDF files, otherwise none
 | |
|  * - Global variable __MacOSErrNo for special error codes supported
 | |
|  *
 | |
|  * PDF_MAC_LEGACY:
 | |
|  * Differentiates between the two versions above (compiler define).
 | |
|  *
 | |
|  * PDF_MAC_NOCORESERVICES:
 | |
|  * Disables PDF_FEATURE_HOSTFONT (see pc_core.h) and PDF_FILETYPE_SUPPORTED
 | |
|  * (see pc_output.c) (compiler define). This is relevant for the PHP wrapper
 | |
|  * on MAC (see bug #1588).
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #if defined(PDF_MAC_LEGACY)
 | |
| #define PDF_ALLOW_MAC_DEPR_FUNCS
 | |
| #else
 | |
| #define PDF_MACATS_SUPPORTED
 | |
| #endif /* PDF_MAC_LEGACY */
 | |
| 
 | |
| #endif /* PDF_TARGET_API_MAC_CARBON */
 | |
| 
 | |
| #endif /* MAC || MACOSX */
 | |
| 
 | |
| /* ----------------------------------- BeOS --------------------------------- */
 | |
| 
 | |
| #ifdef __BEOS__
 | |
| #define PDF_PLATFORM	"BeOS"
 | |
| #endif /* __BEOS__ */
 | |
| 
 | |
| /* --------------------------------- AS/400 --------------------------------- */
 | |
| 
 | |
| /* try to identify the AS/400 compiler */
 | |
| 
 | |
| #if	defined __ILEC400__ && !defined AS400
 | |
| #define	AS400
 | |
| #endif
 | |
| 
 | |
| #ifdef AS400
 | |
| 
 | |
| #pragma comment(copyright, \
 | |
| 	"(C) PDFlib GmbH, Muenchen, Germany (www.pdflib.com)")
 | |
| 
 | |
| #if (_OS400_TGTVRM__>440)
 | |
| # ifndef _LARGE_FILE_API
 | |
|    #error You need to compile this module with DEFINE(_LARGE_FILE_API)
 | |
| # endif
 | |
| # ifndef __TERASPACE__
 | |
|    #error You need to compile this module with TERASPACE(*YES *TSIFC)
 | |
| STGMDL(*TERASPACE)
 | |
| # endif
 | |
| #endif
 | |
| 
 | |
| #define READTMODE       "rb"
 | |
| #define WRITEMODE	"wb"
 | |
| #define APPENDMODE	"ab"
 | |
| 
 | |
| #define PDF_PLATFORM	"iSeries"
 | |
| 
 | |
| #define WORDS_BIGENDIAN
 | |
| #undef PDC_ISBIGENDIAN
 | |
| #define PDC_ISBIGENDIAN 1
 | |
| 
 | |
| #endif	/* AS400 */
 | |
| 
 | |
| /* --------------------- S/390 with Unix System Services -------------------- */
 | |
| 
 | |
| #ifdef	OS390
 | |
| 
 | |
| #define WRITEMODE	"wb"
 | |
| #define APPENDMODE	"ab"
 | |
| 
 | |
| #undef WORDS_BIGENDIAN
 | |
| #define WORDS_BIGENDIAN
 | |
| #undef PDC_ISBIGENDIAN
 | |
| #define PDC_ISBIGENDIAN 1
 | |
| 
 | |
| #define PDC_NO_VSNPRINTF
 | |
| 
 | |
| #endif	/* OS390 */
 | |
| 
 | |
| /* -------------------------------- S/390 with MVS -------------------------- */
 | |
| 
 | |
| /* try to identify MVS (__MVS__ is #defined on USS and MVS!)
 | |
|  * I370 is used by SAS C
 | |
|  */
 | |
| 
 | |
| #if !defined(OS390) && (defined __MVS__ || defined I370) && !defined MVS
 | |
| #define	MVS
 | |
| #endif
 | |
| 
 | |
| #ifdef	MVS
 | |
| 
 | |
| #if defined(I370)
 | |
| #define PDC_FILEQUOT    ""
 | |
| #else
 | |
| #define READBMODE       "rb,byteseek"
 | |
| #define READBMODE_PLUS  "rb+,byteseek"
 | |
| #define PDC_FILEQUOT    "'"
 | |
| #endif
 | |
| #define WRITEMODE       "wb"
 | |
| #define WRITEMODE_V	"wb,recfm=v"
 | |
| #define APPENDMODE	"ab"
 | |
| 
 | |
| #undef PDC_PATHSEP
 | |
| #define PDC_PATHSEP     "("
 | |
| 
 | |
| #undef PDC_PATHTERM
 | |
| #define PDC_PATHTERM    ")"
 | |
| 
 | |
| #define PDF_PLATFORM	"zSeries MVS"
 | |
| #define PDF_OS390_MVS_RESOURCE
 | |
| 
 | |
| #define WORDS_BIGENDIAN
 | |
| #undef PDC_ISBIGENDIAN
 | |
| #define PDC_ISBIGENDIAN 1
 | |
| 
 | |
| #define PDC_NO_VSNPRINTF
 | |
| 
 | |
| #endif	/* MVS */
 | |
| 
 | |
| /* ------------------------------------ VMS --------------------------------- */
 | |
| 
 | |
| /* No special handling required */
 | |
| 
 | |
| #ifdef	VMS
 | |
| /* Usually this will come from the build process */
 | |
| #ifndef PDF_PLATFORM
 | |
| #define PDF_PLATFORM	"VMS"
 | |
| #endif
 | |
| #define PDC_TMPDIR_ENV  "SYS$SCRATCH"
 | |
| #define PDC_PATHSEP_LOG ":"
 | |
| 
 | |
| #define PDC_NO_VSNPRINTF
 | |
| 
 | |
| #endif	/* VMS */
 | |
| 
 | |
| /* --------------------------------- Defaults ------------------------------- */
 | |
| 
 | |
| /* boolean for function fileno() exists
 | |
| */
 | |
| #ifndef PDC_FILENO_EXISTS
 | |
| #define PDC_FILENO_EXISTS 1
 | |
| #endif  /* !PDC_FILENO_EXISTS */
 | |
| 
 | |
| #ifndef READTMODE
 | |
| #define READTMODE       "r"
 | |
| #endif  /* !READTMODE */
 | |
| 
 | |
| #ifndef READBMODE
 | |
| #define READBMODE       "rb"
 | |
| #endif  /* !READBMODE */
 | |
| 
 | |
| #ifndef READBMODE_PLUS
 | |
| #define READBMODE_PLUS  "rb+"
 | |
| #endif  /* !READBMODE_PLUS */
 | |
| 
 | |
| #ifndef WRITEMODE
 | |
| #define WRITEMODE       "wb"
 | |
| #endif  /* !WRITEMODE */
 | |
| 
 | |
| #ifndef WRITEMODE_V
 | |
| #define WRITEMODE_V       "wb"
 | |
| #endif  /* !WRITEMODE_V */
 | |
| 
 | |
| #ifndef APPENDMODE
 | |
| #define APPENDMODE	"ab"
 | |
| #endif	/* !APPENDMODE */
 | |
| 
 | |
| #ifndef PDC_PATHSEP
 | |
| #define PDC_PATHSEP     "/"
 | |
| #endif  /* !PDC_PATHSEP */
 | |
| 
 | |
| #ifndef PDC_PATHSEP_ALT
 | |
| #define PDC_PATHSEP_ALT "\\"
 | |
| #endif  /* !PDC_PATHSEP_ALT */
 | |
| 
 | |
| #ifndef PDC_TMPDIR_ENV
 | |
| #define PDC_TMPDIR_ENV  "TMPDIR"
 | |
| #endif  /* !PDC_TMPDIR_ENV */
 | |
| 
 | |
| #ifdef	_DEBUG
 | |
| #define DEBUG
 | |
| #endif	/* _DEBUG */
 | |
| 
 | |
| #ifdef	DEBUG
 | |
| #define	PDC_DEBUG
 | |
| #endif	/* DEBUG */
 | |
| 
 | |
| #define PDC_SCHAR_MIN   (-128)
 | |
| #define PDC_SCHAR_MAX   127
 | |
| #define PDC_UCHAR_MAX   255
 | |
| #define PDC_SHRT_MIN    (-32768)
 | |
| #define PDC_SHRT_MAX    32767
 | |
| #define PDC_USHRT_MAX   65535
 | |
| #define PDC_INT_MIN     (-PDC_INT_MAX - 1)
 | |
| #define PDC_INT_MAX     2147483647
 | |
| #define PDC_UINT_MAX    4294967295U
 | |
| 
 | |
| #define PDC_OFFSET(type, field) ((unsigned int) &(((type *)NULL)->field))
 | |
| 
 | |
| #endif	/* PC_CONFIG_H */
 |