-
Notifications
You must be signed in to change notification settings - Fork 87
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #263 from jirkakunze/129-ttf-support
129 ttf support
- Loading branch information
Showing
126 changed files
with
59,500 additions
and
202 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,244 @@ | ||
/* This file is part of the FreeType project */ | ||
|
||
/* ft_conf.h for the FreeGEOS Build */ | ||
|
||
|
||
/* we need the following because there are some typedefs in this file */ | ||
|
||
#ifndef FT_CONF_H | ||
#define FT_CONF_H | ||
|
||
/* Under FreeGEOS we need some special includes. */ | ||
#include <geos.h> | ||
#include <file.h> | ||
#include <resource.h> | ||
#include <graphics.h> | ||
#include <heap.h> | ||
#include <lmem.h> | ||
#include <ec.h> | ||
|
||
/* FreeGEOS specific constants and definitions. */ | ||
#define MAX_LMEM_CHUNKSIZE 32000 | ||
|
||
/* MemHandle to our global memory block under FreeGEOS. In this memory block */ | ||
/* we hold all dynamically allocated FreeType structures we need. */ | ||
extern MemHandle trueTypeHandle; | ||
extern void* enginePtr; //nur temprär bis die Umstellung abgeschlossen ist | ||
|
||
/* Define to empty if the keyword does not work. */ | ||
/* #undef const */ | ||
|
||
/* Define if you have a working `mmap' system call. */ | ||
#undef HAVE_MMAP | ||
|
||
/* Define if you have the <stdlib.h> header file. */ | ||
#define HAVE_STDLIB_H | ||
|
||
/* Define if you have the getpagesize function. */ | ||
#undef HAVE_GETPAGESIZE | ||
|
||
/* Define if you have the memcpy function. */ | ||
#define HAVE_MEMCPY | ||
|
||
/* Define if you have the memmove function. */ | ||
#define HAVE_MEMMOVE | ||
|
||
/* Define if you have the valloc function. */ | ||
#undef HAVE_VALLOC | ||
|
||
/* Define if you have the <fcntl.h> header file. Unix-specific */ | ||
#undef HAVE_FCNTL_H | ||
|
||
/* command.com can't pipe stderr into a file; any message would be */ | ||
/* written into the graphics screen. */ | ||
#define HAVE_PRINT_FUNCTION 1 | ||
|
||
#define Print( format, ap ) vfprintf( stdout, (format), (ap) ) | ||
|
||
|
||
/* The number of bytes in a int. We use the ANSI header file limits.h */ | ||
/* for determining it since there is no easy way to guess. */ | ||
/* */ | ||
#include <limits.h> | ||
#if UINT_MAX == 0xFFFF | ||
#define SIZEOF_INT 2 | ||
#elif UINT_MAX == 0xFFFFFFFF | ||
#define SIZEOF_INT 4 | ||
#else | ||
#error "Unsupported number of bytes in `int' type!" | ||
#endif | ||
|
||
/* We now try to guess the size of longs in the same way */ | ||
/* */ | ||
#if ULONG_MAX == 0xFFFFFFFF | ||
#define SIZEOF_LONG 4 | ||
#elif ULONG_MAX == 0xFFFFFFFFFFFFFFFF | ||
#define SIZEOF_LONG 8 | ||
#else | ||
#error "Unsupported number of bytes in `long' type!" | ||
#endif | ||
|
||
|
||
/**********************************************************************/ | ||
/* */ | ||
/* The following configuration macros can be tweaked manually by */ | ||
/* a developer to turn on or off certain features or options in the */ | ||
/* TrueType engine. This may be useful to tune it for specific */ | ||
/* purposes.. */ | ||
/* */ | ||
/**********************************************************************/ | ||
|
||
|
||
/*************************************************************************/ | ||
/* Define this if the underlying operating system uses a different */ | ||
/* character width than 8bit for file names. You must then also supply */ | ||
/* a typedef declaration for defining 'TT_Text'. Default is off. */ | ||
|
||
/* #define HAVE_TT_TEXT */ | ||
|
||
|
||
/*************************************************************************/ | ||
/* Define this if you want to generate code to support engine extensions */ | ||
/* Default is on, but if you're satisfied by the basic services provided */ | ||
/* by the engine and need no extensions, undefine this configuration */ | ||
/* macro to save a few more bytes. */ | ||
|
||
//#define TT_CONFIG_OPTION_EXTEND_ENGINE | ||
|
||
|
||
/*************************************************************************/ | ||
/* Define this if you want to generate code to support gray-scaling, */ | ||
/* a.k.a. font-smoothing or anti-aliasing. Default is on, but you can */ | ||
/* disable it if you don't need it. */ | ||
|
||
#undef TT_CONFIG_OPTION_GRAY_SCALING | ||
|
||
|
||
/*************************************************************************/ | ||
/* Define this if you want to completely disable the use of the bytecode */ | ||
/* interpreter. Doing so will produce a much smaller library, but the */ | ||
/* quality of the rendered glyphs will enormously suffer from this. */ | ||
/* */ | ||
/* This switch was introduced due to the Apple patents issue which */ | ||
/* emerged recently on the FreeType lists. We still do not have Apple's */ | ||
/* opinion on the subject and will change this as soon as we have. */ | ||
|
||
#undef TT_CONFIG_OPTION_NO_INTERPRETER | ||
|
||
|
||
/*************************************************************************/ | ||
/* Define this if you want to use a big 'switch' statement within the */ | ||
/* bytecode interpreter. Because some non-optimizing compilers are not */ | ||
/* able to produce jump tables from such statements, undefining this */ | ||
/* configuration macro will generate the appropriate C jump table in */ | ||
/* ttinterp.c. If you use an optimizing compiler, you should leave it */ | ||
/* defined for better performance and code compactness.. */ | ||
|
||
#define TT_CONFIG_OPTION_INTERPRETER_SWITCH | ||
|
||
|
||
/*************************************************************************/ | ||
/* Define this if you want to build a 'static' version of the TrueType */ | ||
/* bytecode interpreter. This will produce much bigger code, which */ | ||
/* _may_ be faster on some architectures.. */ | ||
/* */ | ||
/* Do NOT DEFINE THIS is you build a thread-safe version of the engine */ | ||
/* */ | ||
#undef TT_CONFIG_OPTION_STATIC_INTERPRETER | ||
|
||
|
||
/*************************************************************************/ | ||
/* Define this if you want to build a 'static' version of the scan-line */ | ||
/* converter (the component which in charge of converting outlines into */ | ||
/* bitmaps). This will produce a bigger object file for "ttraster.c", */ | ||
/* which _may_ be faster on some architectures.. */ | ||
/* */ | ||
/* Do NOT DEFINE THIS is you build a thread-safe version of the engine */ | ||
/* */ | ||
#undef TT_CONFIG_OPTION_STATIC_RASTER | ||
|
||
|
||
/*************************************************************************/ | ||
/* Define TT_CONFIG_THREAD_SAFE if you want to build a thread-safe */ | ||
/* version of the library. */ | ||
|
||
#define TT_CONFIG_OPTION_THREAD_SAFE | ||
|
||
|
||
/**********************************************************************/ | ||
/* */ | ||
/* The following macros are used to define the debug level, as well */ | ||
/* as individual tracing levels for each component. There are */ | ||
/* currently three modes of operation : */ | ||
/* */ | ||
/* - trace mode (define DEBUG_LEVEL_TRACE) */ | ||
/* */ | ||
/* The engine prints all error messages, as well as tracing */ | ||
/* ones, filtered by each component's level */ | ||
/* */ | ||
/* - debug mode (define DEBUG_LEVEL_ERROR) */ | ||
/* */ | ||
/* Disable tracing, but keeps error output and assertion */ | ||
/* checks. */ | ||
/* */ | ||
/* - release mode (don't define anything) */ | ||
/* */ | ||
/* Don't include error-checking or tracing code in the */ | ||
/* engine's code. Ideal for releases. */ | ||
/* */ | ||
/* NOTE : */ | ||
/* */ | ||
/* Each component's tracing level is defined in its own source. */ | ||
/* */ | ||
/**********************************************************************/ | ||
|
||
/* Define if you want to use the tracing debug mode */ | ||
#undef DEBUG_LEVEL_TRACE | ||
|
||
/* Define if you want to use the error debug mode - ignored if */ | ||
/* DEBUG_LEVEL_TRACE is defined */ | ||
#undef DEBUG_LEVEL_ERROR | ||
|
||
|
||
/**************************************************************************/ | ||
/* Definition of various integer sizes. These types are used by ttcalc */ | ||
/* and ttinterp (for the 64-bit integers) only.. */ | ||
|
||
#if SIZEOF_INT == 4 | ||
|
||
typedef signed int TT_Int32; | ||
typedef unsigned int TT_Word32; | ||
|
||
#elif SIZEOF_LONG == 4 | ||
|
||
typedef signed long TT_Int32; | ||
typedef unsigned long TT_Word32; | ||
|
||
#else | ||
#error "no 32bit type found" | ||
#endif | ||
|
||
#if SIZEOF_LONG == 8 | ||
|
||
/* LONG64 must be defined when a 64-bit type is available */ | ||
/* INT64 must then be defined to this type.. */ | ||
#define LONG64 | ||
#define INT64 long | ||
|
||
#else | ||
|
||
/* GCC provides the non-ANSI 'long long' 64-bit type. You can activate */ | ||
/* by defining the TT_USE_LONG_LONG macro in 'ft_conf.h'. Note that this */ | ||
/* will produce many -ansi warnings during library compilation. */ | ||
#ifdef TT_USE_LONG_LONG | ||
|
||
#define LONG64 | ||
#define INT64 long long | ||
|
||
#endif /* TT_USE_LONG_LONG */ | ||
#endif | ||
|
||
#endif /* FT_CONF_H */ | ||
|
||
|
||
/* END */ |
Oops, something went wrong.