summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2019-10-15 12:24:12 +0200
committerThomas Deutschmann <whissi@gentoo.org>2020-08-13 11:26:55 +0200
commite088156d5b620e5e639580dacf85c6dc13823c74 (patch)
tree57f5c025e203279944da512166c20bc0521d8ccd /base/ttconfig.h
downloadghostscript-gpl-patches-e088156d5b620e5e639580dacf85c6dc13823c74.tar.gz
ghostscript-gpl-patches-e088156d5b620e5e639580dacf85c6dc13823c74.tar.bz2
ghostscript-gpl-patches-e088156d5b620e5e639580dacf85c6dc13823c74.zip
Import Ghostscript 9.50ghostscript-9.50
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'base/ttconfig.h')
-rw-r--r--base/ttconfig.h203
1 files changed, 203 insertions, 0 deletions
diff --git a/base/ttconfig.h b/base/ttconfig.h
new file mode 100644
index 00000000..9d0df5de
--- /dev/null
+++ b/base/ttconfig.h
@@ -0,0 +1,203 @@
+/* Copyright (C) 2001-2019 Artifex Software, Inc.
+ All Rights Reserved.
+
+ This software is provided AS-IS with no warranty, either express or
+ implied.
+
+ This software is distributed under license and may not be copied,
+ modified or distributed except as expressly authorized under the terms
+ of the license contained in the file LICENSE in this distribution.
+
+ Refer to licensing information at http://www.artifex.com or contact
+ Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+ CA 94945, U.S.A., +1(415)492-9861, for further information.
+*/
+
+
+/* Changes after FreeType: cut out the TrueType instruction interpreter. */
+
+/*******************************************************************
+ *
+ * ttconfig.h 1.0
+ *
+ * Configuration settings header file (spec only).
+ *
+ * Copyright 1996-1998 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.
+ *
+ * Notes:
+ *
+ * All the configuration #define statements have been gathered in
+ * this file to allow easy check and modification.
+ *
+ ******************************************************************/
+
+#ifndef TTCONFIG_H
+#define TTCONFIG_H
+
+/* ------------ auto configuration ------------------------------------- */
+
+/* Here we include the file ft_conf.h for system dependent stuff. */
+/* The specific makefile is responsible for providing the right path to */
+/* this file. */
+
+#include "ttconf.h"
+
+/* ------------ general debugging -------------------------------------- */
+
+/* Define DEBUG if you want the program to output a series of messages */
+/* to stderr regarding its behaviour. Only useful during development. */
+
+/* #define DEBUG */
+
+/* ------------ arithmetic and processor support - ttcalc, ttraster ---- */
+
+/* Define ONE_COMPLEMENT if this matches your processor's artihmetic. */
+/* The default is 2's complement. 1's complement is not supported yet */
+/* (and probably never will :-). */
+
+/* #define ONE_COMPLEMENT */
+
+/* BOUND_CALC isn't needed anymore due to changes in the ttcalc */
+/* component. All computations are now bounded. */
+
+/* Define _GNUC_LONG64_ if you want to enable the use of the 'long long' */
+/* 64-bit type provided by gcc. Note that: */
+/* */
+/* 1. The type isn't ANSI, and thus will produce many warnings */
+/* during library compilation. */
+/* */
+/* 2. Though the generated object files are slightly smaller, the */
+/* resulting executables are bigger of about 4Kb! gcc must be */
+/* linking some extra code in there! */
+/* */
+/* 3. There is really no speed gain in doing so (but it may help */
+/* debug the ttcalc component). */
+/* */
+/* IMPORTANT NOTE: You don't need to define it on 64-bits machines! */
+
+/* #define _GNUC_LONG64_ */
+
+/* define BUS_ERROR if your processor is unable to access words that */
+/* are not aligned to their respective size (i.e. a 4byte dword */
+/* beginning at address 3 will result in a bus error on a Sun). */
+
+/* This may speed up a bit some parts of the engine */
+
+/* #define BUS_ERROR */
+
+/* define ALIGNMENT to your processor/environment preferred alignment */
+/* size. A value of 8 should work on all current processors, even */
+/* 64-bits ones. */
+
+#define ALIGNMENT 8
+
+/* ------------ rasterizer configuration ----- ttraster ----------------- */
+
+/* Define this if you want to use the 'MulDiv' function from 'ttcalc'. */
+/* (It computes (A*B)/C with 64 bits intermediate accuracy. However, for */
+/* 99.9% of screen display, this operation can be done directly with */
+/* good accuracy, because 'B' is only a 6bit integer.) */
+/* */
+/* Note that some compilers can manage directly 'a*b/c' with intermediate */
+/* accuracy (GCC can use long longs, for example). Using the unsecure */
+/* definition of MulDiv would then be sufficient. */
+/* */
+/* The SECURE_COMPUTATIONS option is probably a good option for 16 bits */
+/* compilers. */
+
+#define SECURE_COMPUTATIONS
+
+/* Define this if you want to generate a debug version of the rasterizer. */
+/* This will progressively draw the glyphs while the computations are */
+/* done directly on the graphics screen... (with inverted glyphs) */
+/* */
+
+/* IMPORTANT: This is reserved to developers willing to debug the */
+/* rasterizer, which seems working very well in its */
+/* current state... */
+
+/* #define DEBUG_RASTER */
+
+/* The TrueType specs stipulate that the filled regions delimited by */
+/* the contours must be to the right of the drawing orientation. */
+/* Unfortunately, a lot of cheapo fonts do not respect this rule. */
+/* */
+/* Defining IGNORE_FILL_FLOW builds an engine that manages all cases. */
+/* Not defining it will only draw 'valid' glyphs & contours. */
+
+#define IGNORE_FILL_FLOW
+/* We want to draw all kinds of glyphs, even incorrect ones... */
+
+/* --------------- automatic setup -- don't touch ------------------ */
+
+/* Some systems can't use vfprintf for error messages on stderr; if */
+/* HAVE_PRINT_FUNCTION is defined, the Print macro must be supplied */
+/* externally (having the same parameters). */
+
+#ifndef HAVE_PRINT_FUNCTION
+#define Print( format, ap ) vfprintf( stderr, (format), (ap) )
+#endif
+
+#define FT_BIG_ENDIAN 4321
+#define FT_LITTLE_ENDIAN 1234
+
+#ifdef WORDS_BIGENDIAN
+#define FT_BYTE_ORDER FT_BIG_ENDIAN
+#else
+#define FT_BYTE_ORDER FT_LITTLE_ENDIAN
+#endif
+
+#if FT_BYTE_ORDER == FT_BIG_ENDIAN
+#ifndef BUS_ERROR
+
+/* Some big-endian machines that are not alignment-sensitive may */
+/* benefit from an easier access to the data found in the TrueType */
+/* files. (used in ttfile.c) */
+
+#define LOOSE_ACCESS
+
+#endif /* !BUS_ERROR */
+#endif /* FT_BYTE_ORDER */
+
+/* -------------------- table management configuration ------------ */
+
+/* Define TT_CONFIG_THREAD_SAFE if you want to build a thread-safe */
+/* version of the library. */
+#undef TT_CONFIG_THREAD_SAFE
+
+/* Define TT_CONFIG_REENTRANT if you want to build a re-entrant version */
+/* of the library. This flag takes over TT_CONFIG_THREAD_SAFE but it */
+/* is highly recommended to leave only one of them defined. */
+#undef TT_CONFIG_REENTRANT
+
+#if defined(TT_CONFIG_THREAD_SAFE) || defined(TT_CONFIG_REENTRANT)
+#define TT_CONFIG_THREADS
+#endif
+
+/* Defining none of these two flags produces a single-thread version of */
+/* the library. */
+
+#undef TT_STATIC_INTERPRETER
+/* Do not undefine this configuration macro. It is now a default that */
+/* must be kept in all release builds. */
+
+#undef TT_STATIC_RASTER
+/* Define this if you want to generate a static raster. This makes */
+/* a non re-entrant version of the scan-line converter, which is */
+/* about 10% faster and 50% bigger than an indirect one! */
+
+#define TT_EXTEND_ENGINE
+/* Undefine this macro if you don't want to generate any extensions to */
+/* the engine. This may be useful to detect if a bug comes from the */
+/* engine itself or some badly written extension. */
+
+#endif /* TTCONFIG_H */
+
+/* END */