diff mupdf-source/include/mupdf/fitz/config.h @ 2:b50eed0cc0ef upstream

ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4. The directory name has changed: no version number in the expanded directory now.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:43:07 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mupdf-source/include/mupdf/fitz/config.h	Mon Sep 15 11:43:07 2025 +0200
@@ -0,0 +1,301 @@
+// Copyright (C) 2004-2025 Artifex Software, Inc.
+//
+// This file is part of MuPDF.
+//
+// MuPDF is free software: you can redistribute it and/or modify it under the
+// terms of the GNU Affero General Public License as published by the Free
+// Software Foundation, either version 3 of the License, or (at your option)
+// any later version.
+//
+// MuPDF is distributed in the hope that it will be useful, but WITHOUT ANY
+// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+// FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
+// details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with MuPDF. If not, see <https://www.gnu.org/licenses/agpl-3.0.en.html>
+//
+// Alternative licensing terms are available from the licensor.
+// For commercial licensing, see <https://www.artifex.com/> or contact
+// Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco,
+// CA 94129, USA, for further information.
+
+#ifndef FZ_CONFIG_H
+
+#define FZ_CONFIG_H
+
+/**
+	Enable the following for spot (and hence overprint/overprint
+	simulation) capable rendering. This forces FZ_PLOTTERS_N on.
+*/
+/* #define FZ_ENABLE_SPOT_RENDERING 1 */
+
+/**
+	Choose which plotters we need.
+	By default we build all the plotters in. To avoid building
+	plotters in that aren't needed, define the unwanted
+	FZ_PLOTTERS_... define to 0.
+*/
+/* #define FZ_PLOTTERS_G 1 */
+/* #define FZ_PLOTTERS_RGB 1 */
+/* #define FZ_PLOTTERS_CMYK 1 */
+/* #define FZ_PLOTTERS_N 1 */
+
+/**
+	Choose which document agents to include.
+	By default all are enabled. To avoid building unwanted
+	ones, define FZ_ENABLE_... to 0.
+*/
+/* #define FZ_ENABLE_PDF 1 */
+/* #define FZ_ENABLE_XPS 1 */
+/* #define FZ_ENABLE_SVG 1 */
+/* #define FZ_ENABLE_CBZ 1 */
+/* #define FZ_ENABLE_IMG 1 */
+/* #define FZ_ENABLE_HTML 1 */
+/* #define FZ_ENABLE_FB2 1 */
+/* #define FZ_ENABLE_MOBI 1 */
+/* #define FZ_ENABLE_EPUB 1 */
+/* #define FZ_ENABLE_OFFICE 1 */
+/* #define FZ_ENABLE_TXT 1 */
+
+/**
+	Some of those document agents rely on the HTML
+	engine. This will be enabled if required based upon
+	those engines, but can be enabled independently of
+	them so that other features (such as the fz_story
+	mechanism or PDF Annotation rich content) can work.
+*/
+/* #define FZ_ENABLE_HTML_ENGINE 1 */
+
+/**
+	Choose which document writers to include.
+	By default all are enabled. To avoid building unwanted
+	ones, define FZ_ENABLE_..._OUTPUT to 0.
+*/
+/* #define FZ_ENABLE_OCR_OUTPUT 1 */
+/* #define FZ_ENABLE_DOCX_OUTPUT 1 */
+/* #define FZ_ENABLE_ODT_OUTPUT 1 */
+
+/**
+	Choose whether to enable ICC color profiles.
+*/
+/* #define FZ_ENABLE_ICC 1 */
+
+/**
+	Choose whether to enable JPEG2000 decoding.
+	By default, it is enabled, but due to frequent security
+	issues with the third party libraries we support disabling
+	it with this flag.
+*/
+/* #define FZ_ENABLE_JPX 1 */
+
+/**
+	Choose whether to enable Brotli compression support.
+	By default, it is enabled.
+*/
+/* #define FZ_ENABLE_BROTLI 1 */
+
+/**
+	Choose whether to enable JavaScript.
+	By default JavaScript is enabled both for mutool and PDF
+	interactivity.
+*/
+/* #define FZ_ENABLE_JS 1 */
+
+/**
+	Choose whether to enable barcode functionality.
+	It is enabled by default, unless disabled by the build
+	system.
+*/
+/* #define FZ_ENABLE_BARCODE 1 */
+
+/**
+	Choose which fonts to include.
+	By default we include the base 14 PDF fonts,
+	DroidSansFallback from Android for CJK, and
+	Charis SIL from SIL for epub/html.
+	Enable the following defines to AVOID including
+	unwanted fonts.
+*/
+/* To avoid all noto fonts except CJK, enable: */
+/* #define TOFU */
+
+/* To skip the CJK font, enable: (this implicitly enables TOFU_CJK_EXT
+ * and TOFU_CJK_LANG) */
+/* #define TOFU_CJK */
+
+/* To skip CJK Extension A, enable: (this implicitly enables
+ * TOFU_CJK_LANG) */
+/* #define TOFU_CJK_EXT */
+
+/* To skip CJK language specific fonts, enable: */
+/* #define TOFU_CJK_LANG */
+
+/* To skip the Emoji font, enable: */
+/* #define TOFU_EMOJI */
+
+/* To skip the ancient/historic scripts, enable: */
+/* #define TOFU_HISTORIC */
+
+/* To skip the symbol font, enable: */
+/* #define TOFU_SYMBOL */
+
+/* To skip the SIL fonts, enable: */
+/* #define TOFU_SIL */
+
+/* To skip the Base14 fonts, enable: */
+/* #define TOFU_BASE14 */
+/* (You probably really don't want to do that except for measurement
+ * purposes!) */
+
+/* ---------- DO NOT EDIT ANYTHING UNDER THIS LINE ---------- */
+
+#ifndef FZ_ENABLE_SPOT_RENDERING
+#define FZ_ENABLE_SPOT_RENDERING 1
+#endif
+
+#if FZ_ENABLE_SPOT_RENDERING
+#undef FZ_PLOTTERS_N
+#define FZ_PLOTTERS_N 1
+#endif /* FZ_ENABLE_SPOT_RENDERING */
+
+#ifndef FZ_PLOTTERS_G
+#define FZ_PLOTTERS_G 1
+#endif /* FZ_PLOTTERS_G */
+
+#ifndef FZ_PLOTTERS_RGB
+#define FZ_PLOTTERS_RGB 1
+#endif /* FZ_PLOTTERS_RGB */
+
+#ifndef FZ_PLOTTERS_CMYK
+#define FZ_PLOTTERS_CMYK 1
+#endif /* FZ_PLOTTERS_CMYK */
+
+#ifndef FZ_PLOTTERS_N
+#define FZ_PLOTTERS_N 1
+#endif /* FZ_PLOTTERS_N */
+
+/* We need at least 1 plotter defined */
+#if FZ_PLOTTERS_G == 0 && FZ_PLOTTERS_RGB == 0 && FZ_PLOTTERS_CMYK == 0
+#undef FZ_PLOTTERS_N
+#define FZ_PLOTTERS_N 1
+#endif
+
+#ifndef FZ_ENABLE_PDF
+#define FZ_ENABLE_PDF 1
+#endif /* FZ_ENABLE_PDF */
+
+#ifndef FZ_ENABLE_XPS
+#define FZ_ENABLE_XPS 1
+#endif /* FZ_ENABLE_XPS */
+
+#ifndef FZ_ENABLE_SVG
+#define FZ_ENABLE_SVG 1
+#endif /* FZ_ENABLE_SVG */
+
+#ifndef FZ_ENABLE_CBZ
+#define FZ_ENABLE_CBZ 1
+#endif /* FZ_ENABLE_CBZ */
+
+#ifndef FZ_ENABLE_IMG
+#define FZ_ENABLE_IMG 1
+#endif /* FZ_ENABLE_IMG */
+
+#ifndef FZ_ENABLE_HTML
+#define FZ_ENABLE_HTML 1
+#endif /* FZ_ENABLE_HTML */
+
+#ifndef FZ_ENABLE_EPUB
+#define FZ_ENABLE_EPUB 1
+#endif /* FZ_ENABLE_EPUB */
+
+#ifndef FZ_ENABLE_FB2
+#define FZ_ENABLE_FB2 1
+#endif /* FZ_ENABLE_FB2 */
+
+#ifndef FZ_ENABLE_MOBI
+#define FZ_ENABLE_MOBI 1
+#endif /* FZ_ENABLE_MOBI */
+
+#ifndef FZ_ENABLE_TXT
+#define FZ_ENABLE_TXT 1
+#endif /* FZ_ENABLE_TXT */
+
+#ifndef FZ_ENABLE_OFFICE
+#define FZ_ENABLE_OFFICE 1
+#endif /* FZ_ENABLE_OFFICE */
+
+#ifndef FZ_ENABLE_OCR_OUTPUT
+#define FZ_ENABLE_OCR_OUTPUT 1
+#endif /* FZ_ENABLE_OCR_OUTPUT */
+
+#ifndef FZ_ENABLE_ODT_OUTPUT
+#define FZ_ENABLE_ODT_OUTPUT 1
+#endif /* FZ_ENABLE_ODT_OUTPUT */
+
+#ifndef FZ_ENABLE_DOCX_OUTPUT
+#define FZ_ENABLE_DOCX_OUTPUT 1
+#endif /* FZ_ENABLE_DOCX_OUTPUT */
+
+#ifndef FZ_ENABLE_JPX
+#define FZ_ENABLE_JPX 1
+#endif /* FZ_ENABLE_JPX */
+
+#ifndef FZ_ENABLE_BROTLI
+#define FZ_ENABLE_BROTLI 1
+#endif /* FZ_ENABLE_BROTLI */
+
+#ifndef FZ_ENABLE_JS
+#define FZ_ENABLE_JS 1
+#endif /* FZ_ENABLE_JS */
+
+#ifndef FZ_ENABLE_ICC
+#define FZ_ENABLE_ICC 1
+#endif /* FZ_ENABLE_ICC */
+
+#ifdef FZ_ENABLE_HTML_ENGINE
+#if FZ_ENABLE_HTML_ENGINE == 0
+#if FZ_ENABLE_HTML == 1
+#error FZ_ENABLE_HTML cannot work without FZ_ENABLE_HTML_ENGINE
+#endif
+#if FZ_ENABLE_EPUB == 1
+#error FZ_ENABLE_EPUB cannot work without FZ_ENABLE_HTML_ENGINE
+#endif
+#if FZ_ENABLE_MOBI == 1
+#error FZ_ENABLE_MOBI cannot work without FZ_ENABLE_HTML_ENGINE
+#endif
+#if FZ_ENABLE_FB2 == 1
+#error FZ_ENABLE_FB2 cannot work without FZ_ENABLE_HTML_ENGINE
+#endif
+#if FZ_ENABLE_TXT == 1
+#error FZ_ENABLE_TXT cannot work without FZ_ENABLE_HTML_ENGINE
+#endif
+#if FZ_ENABLE_OFFICE == 1
+#error FZ_ENABLE_OFFICE cannot work without FZ_ENABLE_HTML_ENGINE
+#endif
+#endif
+#else
+#if FZ_ENABLE_HTML || FZ_ENABLE_EPUB || FZ_ENABLE_MOBI || FZ_ENABLE_FB2 || FZ_ENABLE_TXT || FZ_ENABLE_OFFICE
+#define FZ_ENABLE_HTML_ENGINE 1
+#else
+#define FZ_ENABLE_HTML_ENGINE 0
+#endif
+#endif
+
+/* If Epub and HTML are both disabled, disable SIL fonts */
+#if FZ_ENABLE_HTML == 0 && FZ_ENABLE_EPUB == 0
+#undef TOFU_SIL
+#define TOFU_SIL
+#endif
+
+#if !defined(HAVE_LEPTONICA) || !defined(HAVE_TESSERACT)
+#ifndef OCR_DISABLED
+#define OCR_DISABLED
+#endif
+#endif
+
+#if !defined(FZ_ENABLE_BARCODE)
+#define FZ_ENABLE_BARCODE 1
+#endif
+
+#endif /* FZ_CONFIG_H */