[packages/scribus] - up to 1.6.2

mrozowik mrozowik at pld-linux.org
Wed Jun 19 02:46:59 CEST 2024


commit 1e69c2c2d5c8abd61a2be938e9a8050188b546d0
Author: Krzysztof Mrozowicz <mrozowik at pld-linux.org>
Date:   Tue Jun 18 22:54:42 2024 +0000

    - up to 1.6.2

 podofo-0.10.patch             |   41 --
 scribus-docs.patch            |   30 +-
 scribus-poppler-22.09.0.patch |   27 --
 scribus-poppler.patch         | 1031 -----------------------------------------
 scribus.spec                  |   13 +-
 5 files changed, 19 insertions(+), 1123 deletions(-)
---
diff --git a/scribus.spec b/scribus.spec
index 93f0ce1..ebe7958 100644
--- a/scribus.spec
+++ b/scribus.spec
@@ -11,16 +11,13 @@
 Summary:	Scribus - Open Source Desktop Publishing
 Summary(pl.UTF-8):	Scribus - DTP dla Wolnego Oprogramowania
 Name:		scribus
-Version:	1.5.8
-Release:	6
+Version:	1.6.2
+Release:	0.1
 License:	GPL v2+
 Group:		X11/Applications/Publishing
 Source0:	https://downloads.sourceforge.net/scribus/%{name}-%{version}.tar.xz
-# Source0-md5:	ff9e966a2251a6c8800bb26fcb4b7c59
+# Source0-md5:	925bf7f52bb86dc9fbd04c8491253fca
 Patch0:		%{name}-docs.patch
-Patch1:		%{name}-poppler.patch
-Patch2:		%{name}-poppler-22.09.0.patch
-Patch3:		podofo-0.10.patch
 URL:		https://www.scribus.net/
 BuildRequires:	GraphicsMagick-devel
 BuildRequires:	Qt5Core-devel >= %{qt_ver}
@@ -156,9 +153,6 @@ Domyślne szablony dokumentów dostarczane wraz ze Scribusem.
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
 
 %build
 %cmake -B build \
@@ -240,6 +234,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/%{name}/unicodenameslist.txt
 %{_desktopdir}/%{name}.desktop
 %{_iconsdir}/hicolor/*x*/apps/scribus.png
+%{_iconsdir}/hicolor/*x*/mimetypes/application-vnd.scribus.png
 %{_datadir}/mime/packages/scribus.xml
 %{_datadir}/metainfo/scribus.appdata.xml
 %{_mandir}/man1/scribus.1*
diff --git a/podofo-0.10.patch b/podofo-0.10.patch
deleted file mode 100644
index 9cf8f87..0000000
--- a/podofo-0.10.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From bd70705c05bd383d1a9b3ab12224988ff8475722 Mon Sep 17 00:00:00 2001
-From: Craig Bradney <mrb at scribus.info>
-Date: Sun, 4 Jun 2023 17:00:34 +0000
-Subject: [PATCH] Update CMake PoDoFo finder to allow for PoDoFo 0.10.0
- podofo-config.h location
-
-git-svn-id: svn://scribus.net/trunk/Scribus@25493 11d20701-8431-0410-a711-e3c959e3b870
----
- cmake/modules/FindLIBPODOFO.cmake | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/cmake/modules/FindLIBPODOFO.cmake b/cmake/modules/FindLIBPODOFO.cmake
-index 954c89c92e..a05ac25a82 100644
---- a/cmake/modules/FindLIBPODOFO.cmake
-+++ b/cmake/modules/FindLIBPODOFO.cmake
-@@ -32,7 +32,14 @@ find_library(LIBPODOFO_LIBRARY
- 
- if(LIBPODOFO_INCLUDE_DIR AND LIBPODOFO_LIBRARY)
- 	if(NOT LIBPODOFO_CONFIG_H)
--		set(LIBPODOFO_CONFIG_H "${LIBPODOFO_INCLUDE_DIR}/podofo/base/podofo_config.h" CACHE FILEPATH "Alternative place of podofo_config.h")
-+		#PoDoFo before 0.10.0
-+		if (EXISTS "${LIBPODOFO_INCLUDE_DIR}/podofo/base/podofo_config.h")
-+			set(LIBPODOFO_CONFIG_H "${LIBPODOFO_INCLUDE_DIR}/podofo/base/podofo_config.h" CACHE FILEPATH "Alternative place of podofo_config.h. PoDoFo <=0.10.0")
-+		endif()
-+		#PoDoFo 0.10.0 or higher
-+		if (EXISTS "${LIBPODOFO_INCLUDE_DIR}/podofo/auxiliary/podofo_config.h")
-+			set(LIBPODOFO_CONFIG_H "${LIBPODOFO_INCLUDE_DIR}/podofo/auxiliary/podofo_config.h" CACHE FILEPATH "Alternative place of podofo_config.h. PoDoFo >=0.10.0")
-+		endif()
- 	endif()
- 
- 	file(STRINGS "${LIBPODOFO_CONFIG_H}" PODOFO_MAJOR_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_MAJOR[ \t]+[0-9]+$")
-@@ -79,4 +86,6 @@ if(NOT LIBPODOFO_FIND_QUIETLY)
- 		message("podofo lib: not found")
- 	endif(LIBPODOFO_LIBRARY)
- 	message("PoDoFo cflags: ${useshared}")
-+	message("PoDoFo config file ${LIBPODOFO_CONFIG_H}")
-+	message("PoDoFo version ${LIBPODOFO_VERSION}")
- endif(NOT LIBPODOFO_FIND_QUIETLY)
--- 
-GitLab
-
diff --git a/scribus-docs.patch b/scribus-docs.patch
index 19f92a6..ff2a49d 100644
--- a/scribus-docs.patch
+++ b/scribus-docs.patch
@@ -1,17 +1,17 @@
---- scribus-1.5.6.1/CMakeLists_Directories.cmake.orig	2020-11-14 23:37:41.000000000 +0100
-+++ scribus-1.5.6.1/CMakeLists_Directories.cmake	2020-12-13 06:30:34.902088690 +0100
-@@ -39,11 +39,11 @@
- if(WIN32 OR OS2)
- 	set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/")
- elseif(TAG_VERSION OR BUILD_OSX_BUNDLE)
--	set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${MAIN_DIR_NAME}${TAG_VERSION}/")
-+	set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/${MAIN_DIR_NAME}${TAG_VERSION}/doc/")
- elseif(NOT WANT_VERSIONING)
--	set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${MAIN_DIR_NAME}/")
-+	set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/${MAIN_DIR_NAME}/doc/")
- else()
--	set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${MAIN_DIR_NAME}-${VERSION}/")
-+	set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/${MAIN_DIR_NAME}-${VERSION}/doc/")
+--- scribus-1.6.2/CMakeLists_Directories.cmake~	2024-06-15 14:22:37.000000000 +0000
++++ scribus-1.6.2/CMakeLists_Directories.cmake	2024-06-18 21:58:09.344681014 +0000
+@@ -40,11 +40,11 @@
+ 	if(WIN32 OR OS2)
+ 		set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/")
+ 	elseif(TAG_VERSION OR BUILD_OSX_BUNDLE)
+-		set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${MAIN_DIR_NAME}${TAG_VERSION}/")
++		set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/${MAIN_DIR_NAME}${TAG_VERSION}/doc/")
+ 	elseif(NOT WANT_VERSIONING)
+-		set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${MAIN_DIR_NAME}/")
++		set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/${MAIN_DIR_NAME}/doc/")
+ 	else()
+-		set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${MAIN_DIR_NAME}-${VERSION}/")
++		set(DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/${MAIN_DIR_NAME}-${VERSION}/doc/")
+ 	endif()
  endif()
  
- if(IS_ABSOLUTE ${DOCDIR} AND WANT_RELOCATABLE)
diff --git a/scribus-poppler-22.09.0.patch b/scribus-poppler-22.09.0.patch
deleted file mode 100644
index b11cef0..0000000
--- a/scribus-poppler-22.09.0.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- scribus-1.5.8/scribus/plugins/import/pdf/slaoutput.cpp
-+++ scribus-1.5.8/scribus/plugins/import/pdf/slaoutput.cpp
-@@ -3762,15 +3762,21 @@ void SlaOutputDev::getPenState(GfxState
- 			break;
- 	}
- 	double lw = state->getLineWidth();
--	double *dashPattern;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 9, 0)
-+	const auto& dashPattern = state->getLineDash(&DashOffset);
-+	QVector<double> pattern(dashPattern.size());
-+	for (size_t i = 0; i < dashPattern.size(); ++i)
-+		pattern[i] = dashPattern[i] / lw;
-+	DashValues = pattern;
-+#else
-+	double* dashPattern;
- 	int dashLength;
- 	state->getLineDash(&dashPattern, &dashLength, &DashOffset);
- 	QVector<double> pattern(dashLength);
- 	for (int i = 0; i < dashLength; ++i)
--	{
- 		pattern[i] = dashPattern[i] / lw;
--	}
- 	DashValues = pattern;
-+#endif
- }
- 
- int SlaOutputDev::getBlendMode(GfxState *state)
diff --git a/scribus-poppler.patch b/scribus-poppler.patch
deleted file mode 100644
index 73ea74c..0000000
--- a/scribus-poppler.patch
+++ /dev/null
@@ -1,1031 +0,0 @@
-From 85c0dff3422fa3c26fbc2e8d8561f597ec24bd92 Mon Sep 17 00:00:00 2001
-From: Jean Ghali <jghali at libertysurf.fr>
-Date: Wed, 2 Feb 2022 23:12:52 +0000
-Subject: [PATCH] #16734: Build break with poppler 22.2.0
-
-git-svn-id: svn://scribus.net/trunk/Scribus@24884 11d20701-8431-0410-a711-e3c959e3b870
----
- scribus/plugins/import/pdf/slaoutput.cpp | 47 +++++++++++++++++++-----
- 1 file changed, 37 insertions(+), 10 deletions(-)
-
-diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
-index 5894bf2ad6..3650c96f52 100644
---- a/scribus/plugins/import/pdf/slaoutput.cpp
-+++ b/scribus/plugins/import/pdf/slaoutput.cpp
-@@ -7,6 +7,11 @@ for which a new license (GPL+exception) is in place.
- 
- #include "slaoutput.h"
- 
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+#include <memory>
-+#include <optional>
-+#endif
-+
- #include <poppler/GlobalParams.h>
- #include <poppler/poppler-config.h>
- #include <poppler/FileSpec.h>
-@@ -3027,18 +3032,24 @@ void SlaOutputDev::markPoint(POPPLER_CONST char *name, Dict *properties)
- void SlaOutputDev::updateFont(GfxState *state)
- {
- 	GfxFont *gfxFont;
--	GfxFontLoc *fontLoc;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+	std::optional<GfxFontLoc> fontLoc;
-+	const GooString * fileName = nullptr;
-+	std::unique_ptr<FoFiTrueType> ff;
-+#else
-+	GfxFontLoc * fontLoc = nullptr;
-+	GooString * fileName = nullptr;
-+	FoFiTrueType * ff = nullptr;
-+#endif
- 	GfxFontType fontType;
- 	SlaOutFontFileID *id;
- 	SplashFontFile *fontFile;
- 	SplashFontSrc *fontsrc = nullptr;
--	FoFiTrueType *ff;
- 	Object refObj, strObj;
--	GooString *fileName;
--	char *tmpBuf;
-+	char *tmpBuf = nullptr;
- 	int tmpBufLen = 0;
--	int *codeToGID;
--	const double *textMat;
-+	int *codeToGID = nullptr;
-+	const double *textMat = nullptr;
- 	double m11, m12, m21, m22, fontSize;
- 	SplashCoord mat[4];
- 	int n = 0;
-@@ -3046,9 +3057,6 @@ void SlaOutputDev::updateFont(GfxState *state)
- 	SplashCoord matrix[6];
- 
- 	m_font = nullptr;
--	fileName = nullptr;
--	tmpBuf = nullptr;
--	fontLoc = nullptr;
- 
- 	gfxFont = state->getFont();
- 	if (!gfxFont)
-@@ -3083,7 +3091,11 @@ void SlaOutputDev::updateFont(GfxState *state)
- 		}
- 		else
- 		{ // gfxFontLocExternal
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+			fileName = fontLoc->pathAsGooString();
-+#else
- 			fileName = fontLoc->path;
-+#endif
- 			fontType = fontLoc->fontType;
- 		}
- 
-@@ -3136,9 +3148,14 @@ void SlaOutputDev::updateFont(GfxState *state)
- 				ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
- 			if (ff)
- 			{
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+				codeToGID = ((Gfx8BitFont*) gfxFont)->getCodeToGIDMap(ff.get());
-+				ff.reset();
-+#else
- 				codeToGID = ((Gfx8BitFont *)gfxFont)->getCodeToGIDMap(ff);
--				n = 256;
- 				delete ff;
-+#endif
-+				n = 256;
- 			}
- 			else
- 			{
-@@ -3209,8 +3226,13 @@ void SlaOutputDev::updateFont(GfxState *state)
- 					ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
- 				if (! ff)
- 					goto err2;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+				codeToGID = ((GfxCIDFont*) gfxFont)->getCodeToGIDMap(ff.get(), &n);
-+				ff.reset();
-+#else
- 				codeToGID = ((GfxCIDFont *)gfxFont)->getCodeToGIDMap(ff, &n);
- 				delete ff;
-+#endif
- 			}
- 			if (!(fontFile = m_fontEngine->loadTrueTypeFont(
- 							id,
-@@ -3247,14 +3269,19 @@ void SlaOutputDev::updateFont(GfxState *state)
- 	mat[3] = -m22;
- 	m_font = m_fontEngine->getFont(fontFile, mat, matrix);
- 
-+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0)
- 	delete fontLoc;
-+#endif
- 	if (fontsrc && !fontsrc->isFile)
- 		fontsrc->unref();
- 	return;
- 
- err2:
- 	delete id;
-+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0)
- 	delete fontLoc;
-+#endif
-+
- err1:
- 	if (fontsrc && !fontsrc->isFile)
- 		fontsrc->unref();
-From f75c1613db67f4067643d0218a2db3235e42ec9f Mon Sep 17 00:00:00 2001
-From: Jean Ghali <jghali at libertysurf.fr>
-Date: Thu, 3 Feb 2022 19:46:13 +0000
-Subject: [PATCH] Small update vs latest code in poppler
-
-git-svn-id: svn://scribus.net/trunk/Scribus@24885 11d20701-8431-0410-a711-e3c959e3b870
----
- scribus/plugins/import/pdf/slaoutput.cpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
-index 3650c96f52..a6f4e00fa9 100644
---- a/scribus/plugins/import/pdf/slaoutput.cpp
-+++ b/scribus/plugins/import/pdf/slaoutput.cpp
-@@ -3072,10 +3072,10 @@ void SlaOutputDev::updateFont(GfxState *state)
- 		delete id;
- 	else
- 	{
--		if (!(fontLoc = gfxFont->locateFont(xref, nullptr)))
-+		fontLoc = gfxFont->locateFont((xref) ? xref : pdfDoc->getXRef(), nullptr);
-+		if (!fontLoc)
- 		{
--			error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'",
--			gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+			error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- 			goto err2;
- 		}
- 
-From f19410ac3b27e33dd62105746784e61e85b90a1d Mon Sep 17 00:00:00 2001
-From: Jean Ghali <jghali at libertysurf.fr>
-Date: Wed, 2 Mar 2022 22:22:53 +0000
-Subject: [PATCH] #16764: Build break with poppler 22.03.0
-
-git-svn-id: svn://scribus.net/trunk/Scribus@24982 11d20701-8431-0410-a711-e3c959e3b870
----
- scribus/plugins/import/pdf/importpdf.cpp | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
-index 154e58a3f0..392dcd9e64 100644
---- a/scribus/plugins/import/pdf/importpdf.cpp
-+++ b/scribus/plugins/import/pdf/importpdf.cpp
-@@ -89,7 +89,11 @@ QImage PdfPlug::readThumbnail(const QString& fName)
- #endif
- 	globalParams->setErrQuiet(gTrue);
- 
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
-+	PDFDoc pdfDoc{ std::make_unique<GooString>(fname) };
-+#else
- 	PDFDoc pdfDoc{fname, nullptr, nullptr, nullptr};
-+#endif
- 	if (!pdfDoc.isOk() || pdfDoc.getErrorCode() == errEncrypted)
- 		return QImage();
- 
-@@ -342,7 +346,11 @@ bool PdfPlug::convert(const QString& fn)
- 	globalParams->setErrQuiet(gTrue);
- //	globalParams->setPrintCommands(gTrue);
- 	QList<OptionalContentGroup*> ocgGroups;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
-+	auto pdfDoc = std::make_unique<PDFDoc>(std::make_unique<GooString>(fname));
-+#else
- 	auto pdfDoc = std::unique_ptr<PDFDoc>(new PDFDoc(fname, nullptr, nullptr, nullptr));
-+#endif
- 	if (pdfDoc)
- 	{
- 		if (pdfDoc->getErrorCode() == errEncrypted)
-@@ -361,8 +369,13 @@ bool PdfPlug::convert(const QString& fn)
- #else
- 				auto fname = new GooString(QFile::encodeName(fn).data());
- #endif
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
-+				std::optional<GooString> userPW(std::in_place, text.toLocal8Bit().data());
-+				pdfDoc.reset(new PDFDoc(std::make_unique<GooString>(fname), userPW, userPW, nullptr));
-+#else
- 				auto userPW = new GooString(text.toLocal8Bit().data());
- 				pdfDoc.reset(new PDFDoc(fname, userPW, userPW, nullptr));
-+#endif
- 				qApp->changeOverrideCursor(QCursor(Qt::WaitCursor));
- 			}
- 			if ((!pdfDoc) || (pdfDoc->getErrorCode() != errNone))
-From f2237b8f0b5cf7690e864a22ef7a63a6d769fa36 Mon Sep 17 00:00:00 2001
-From: Jean Ghali <jghali at libertysurf.fr>
-Date: Fri, 1 Apr 2022 23:52:32 +0000
-Subject: [PATCH] Fix build with poppler 22.04.0
-
-git-svn-id: svn://scribus.net/trunk/Scribus@25074 11d20701-8431-0410-a711-e3c959e3b870
----
- scribus/plugins/import/pdf/slaoutput.cpp | 123 ++++++++++++++---------
- 1 file changed, 78 insertions(+), 45 deletions(-)
-
-From e013e8126d2100e8e56dea5b836ad43275429389 Mon Sep 17 00:00:00 2001
-From: Jean Ghali <jghali at libertysurf.fr>
-Date: Wed, 2 Mar 2022 22:48:29 +0000
-Subject: [PATCH] Enforce poppler version >= 0.86.0
-
-git-svn-id: svn://scribus.net/trunk/Scribus@24985 11d20701-8431-0410-a711-e3c959e3b870
----
- cmake/modules/Findpoppler.cmake          |   4 +-
- scribus/plugins/import/pdf/importpdf.cpp |  65 ++-----------
- scribus/plugins/import/pdf/slaoutput.cpp | 114 -----------------------
- scribus/plugins/import/pdf/slaoutput.h   |   7 --
- 4 files changed, 10 insertions(+), 180 deletions(-)
-
-diff --git a/cmake/modules/Findpoppler.cmake b/cmake/modules/Findpoppler.cmake
-index 56ce613ae9..9cab5532ab 100644
---- a/cmake/modules/Findpoppler.cmake
-+++ b/cmake/modules/Findpoppler.cmake
-@@ -1,8 +1,8 @@
- #include(FindPkgConfig)
- find_package(PkgConfig QUIET)
--pkg_search_module(poppler libpoppler>=0.62.0 poppler>=0.62.0)
-+pkg_search_module(poppler libpoppler>=0.86.0 poppler>=0.86.0)
- if (poppler_FOUND)
--	pkg_search_module(poppler_cpp REQUIRED libpoppler-cpp>=0.62.0 poppler-cpp>=0.62.0)
-+	pkg_search_module(poppler_cpp REQUIRED libpoppler-cpp>=0.86.0 poppler-cpp>=0.86.0)
- endif(poppler_FOUND)
-  
- find_path(poppler_INCLUDE_DIR
-diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
-index 392dcd9e64..970a1a37ca 100644
---- a/scribus/plugins/import/pdf/importpdf.cpp
-+++ b/scribus/plugins/import/pdf/importpdf.cpp
-@@ -74,20 +74,15 @@ PdfPlug::PdfPlug(ScribusDoc* doc, int flags)
- 
- QImage PdfPlug::readThumbnail(const QString& fName)
- {
--	QString pdfFile = QDir::toNativeSeparators(fName);
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
- 	globalParams.reset(new GlobalParams());
--#else
--	std::unique_ptr<GlobalParams> globalParamsPtr(new GlobalParams());
--	globalParams = globalParamsPtr.get();
--#endif
-+	globalParams->setErrQuiet(gTrue);
- 
--#if defined(Q_OS_WIN32) && POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 62, 0)
-+	QString pdfFile = QDir::toNativeSeparators(fName);
-+#if defined(Q_OS_WIN32)
- 	auto fname = new GooString(pdfFile.toUtf8().data());
- #else
- 	auto fname = new GooString(QFile::encodeName(pdfFile).data());
- #endif
--	globalParams->setErrQuiet(gTrue);
- 
- #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
- 	PDFDoc pdfDoc{ std::make_unique<GooString>(fname) };
-@@ -332,19 +327,15 @@ bool PdfPlug::convert(const QString& fn)
- 		qApp->processEvents();
- 	}
- 
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
- 	globalParams.reset(new GlobalParams());
--#else
--	std::unique_ptr<GlobalParams> globalParamsPtr(new GlobalParams());
--	globalParams = globalParamsPtr.get();
--#endif
--#if defined(Q_OS_WIN32) && POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 62, 0)
-+	globalParams->setErrQuiet(gTrue);
-+
-+#if defined(Q_OS_WIN32)
- 	auto fname = new GooString(fn.toUtf8().data());
- #else
- 	auto fname = new GooString(QFile::encodeName(fn).data());
- #endif
--	globalParams->setErrQuiet(gTrue);
--//	globalParams->setPrintCommands(gTrue);
-+
- 	QList<OptionalContentGroup*> ocgGroups;
- #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
- 	auto pdfDoc = std::make_unique<PDFDoc>(std::make_unique<GooString>(fname));
-@@ -364,7 +355,7 @@ bool PdfPlug::convert(const QString& fn)
- 			QString text = QInputDialog::getText(mw, tr("Open PDF-File"), tr("Password"), QLineEdit::Normal, "", &ok);
- 			if (ok && !text.isEmpty())
- 			{
--#if defined(Q_OS_WIN32) && POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 62, 0)
-+#if defined(Q_OS_WIN32)
- 				auto fname = new GooString(fn.toUtf8().data());
- #else
- 				auto fname = new GooString(QFile::encodeName(fn).data());
-@@ -382,9 +373,6 @@ bool PdfPlug::convert(const QString& fn)
- 			{
- 				if (m_progressDialog)
- 					m_progressDialog->close();
--#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
--				delete globalParams;
--#endif
- 				return false;
- 			}
- 			if (m_progressDialog)
-@@ -494,7 +482,6 @@ bool PdfPlug::convert(const QString& fn)
- 							}
- 							else
- 							{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 69, 0)
- 								const auto& ocgs = ocg->getOCGs ();
- 								for (const auto& ocg : ocgs)
- 								{
-@@ -506,25 +493,11 @@ bool PdfPlug::convert(const QString& fn)
- 										ocgNames.append(ocgName);
- 									}
- 								}
--#else
--								GooList *ocgs = ocg->getOCGs ();
--								for (int i = 0; i < ocgs->getLength (); ++i)
--								{
--									OptionalContentGroup *oc = (OptionalContentGroup *)ocgs->get(i);
--									QString ocgName = UnicodeParsedString(oc->getName());
--									if (!ocgNames.contains(ocgName))
--									{
--										ocgGroups.prepend(oc);
--										ocgNames.append(ocgName);
--									}
--								}
--#endif
- 							}
- 						}
- 					}
- 					else
- 					{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 69, 0)
- 						const auto& ocgs = ocg->getOCGs ();
- 						for (const auto& ocg : ocgs)
- 						{
-@@ -536,19 +509,6 @@ bool PdfPlug::convert(const QString& fn)
- 								ocgNames.append(ocgName);
- 							}
- 						}
--#else
--						GooList *ocgs = ocg->getOCGs ();
--						for (int i = 0; i < ocgs->getLength (); ++i)
--						{
--							OptionalContentGroup *oc = (OptionalContentGroup *)ocgs->get(i);
--							QString ocgName = UnicodeParsedString(oc->getName());
--							if (!ocgNames.contains(ocgName))
--							{
--								ocgGroups.prepend(oc);
--								ocgNames.append(ocgName);
--							}
--						}
--#endif
- 					}
- 				}
- 
-@@ -787,13 +747,8 @@ bool PdfPlug::convert(const QString& fn)
- 							names = catDict.dictLookup("OpenAction");
- 							if (names.isDict())
- 							{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 								std::unique_ptr<LinkAction> linkActionUPtr = LinkAction::parseAction(&names, pdfDoc->getCatalog()->getBaseURI());
- 								LinkAction *linkAction = linkActionUPtr.get();
--#else
--								LinkAction *linkAction = nullptr;
--								linkAction = LinkAction::parseAction(&names, pdfDoc->getCatalog()->getBaseURI());
--#endif
- 								if (linkAction && (linkAction->getKind() == actionJavaScript))
- 								{
- 									LinkJavaScript *jsa = (LinkJavaScript*) linkAction;
-@@ -861,11 +816,7 @@ bool PdfPlug::convert(const QString& fn)
- 		}
- 		pdfDoc.reset();
- 	}
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
- 	globalParams.reset();
--#else
--	globalParams = nullptr;
--#endif
- 
- //	qDebug() << "converting finished";
- //	qDebug() << "Imported" << m_elements.count() << "Elements";
-diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
-index a6f4e00fa9..b6f2b8c219 100644
---- a/scribus/plugins/import/pdf/slaoutput.cpp
-+++ b/scribus/plugins/import/pdf/slaoutput.cpp
-@@ -332,15 +332,9 @@ LinkAction* SlaOutputDev::SC_getAction(AnnotWidget *ano)
- }
- 
- /* Replacement for the crippled Poppler function LinkAction* AnnotWidget::getAdditionalAction(AdditionalActionsType type) */
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- std::unique_ptr<LinkAction> SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *ano)
- {
- 	std::unique_ptr<LinkAction> linkAction;
--#else
--LinkAction* SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *ano)
--{
--	LinkAction *linkAction = nullptr;
--#endif
- 	Object obj;
- 	Ref refa = ano->getRef();
- 
-@@ -467,11 +461,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
- 				if (dst->isPageRef())
- 				{
- 					Ref dstr = dst->getPageRef();
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 76, 0)
- 					pagNum = pdfDoc->findPage(dstr);
--#else
--					pagNum = pdfDoc->findPage(dstr.num, dstr.gen);
--#endif
- 				}
- 				else
- 					pagNum = dst->getPageNum();
-@@ -485,11 +475,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
- 			POPPLER_CONST GooString *ndst = gto->getNamedDest();
- 			if (ndst)
- 			{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 				std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst);
--#else
--				LinkDest *dstn = pdfDoc->findDest(ndst);
--#endif
- 				if (dstn)
- 				{
- 					if (dstn->getKind() == destXYZ)
-@@ -497,11 +483,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
- 						if (dstn->isPageRef())
- 						{
- 							Ref dstr = dstn->getPageRef();
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 76, 0)
- 							pagNum = pdfDoc->findPage(dstr);
--#else
--							pagNum = pdfDoc->findPage(dstr.num, dstr.gen);
--#endif
- 						}
- 						else
- 							pagNum = dstn->getPageNum();
-@@ -533,11 +515,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
- 			POPPLER_CONST GooString *ndst = gto->getNamedDest();
- 			if (ndst)
- 			{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 				std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst);
--#else
--				LinkDest *dstn = pdfDoc->findDest(ndst);
--#endif
- 				if (dstn)
- 				{
- 					if (dstn->getKind() == destXYZ)
-@@ -985,11 +963,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
- 					if (dst->isPageRef())
- 					{
- 						Ref dstr = dst->getPageRef();
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 76, 0)
- 						pagNum = pdfDoc->findPage(dstr);
--#else
--						pagNum = pdfDoc->findPage(dstr.num, dstr.gen);
--#endif
- 					}
- 					else
- 						pagNum = dst->getPageNum();
-@@ -1005,11 +979,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
- 				POPPLER_CONST GooString *ndst = gto->getNamedDest();
- 				if (ndst)
- 				{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 					std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst);
--#else
--					LinkDest *dstn = pdfDoc->findDest(ndst);
--#endif
- 					if (dstn)
- 					{
- 						if (dstn->getKind() == destXYZ)
-@@ -1017,11 +987,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
- 							if (dstn->isPageRef())
- 							{
- 								Ref dstr = dstn->getPageRef();
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 76, 0)
- 								pagNum = pdfDoc->findPage(dstr);
--#else
--								pagNum = pdfDoc->findPage(dstr.num, dstr.gen);
--#endif
- 							}
- 							else
- 								pagNum = dstn->getPageNum();
-@@ -1061,11 +1027,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
- 				POPPLER_CONST GooString *ndst = gto->getNamedDest();
- 				if (ndst)
- 				{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 					std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst);
--#else
--					LinkDest *dstn = pdfDoc->findDest(ndst);
--#endif
- 					if (dstn)
- 					{
- 						if (dstn->getKind() == destXYZ)
-@@ -1139,143 +1101,91 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
- 	{
- 		if (Aact->getKind() == actionJavaScript)
- 		{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 			LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
--#else
--			LinkJavaScript *jsa = (LinkJavaScript*) Aact;
--#endif
- 			if (jsa->isOk())
- 			{
- 				ite->annotation().setD_act(UnicodeParsedString(jsa->getScript()));
- 				ite->annotation().setAAact(true);
- 			}
- 		}
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 		Aact.reset();
--#else
--		Aact = nullptr;
--#endif
- 	}
- 	Aact = SC_getAdditionalAction("E", ano);
- 	if (Aact)
- 	{
- 		if (Aact->getKind() == actionJavaScript)
- 		{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 			LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
--#else
--			LinkJavaScript *jsa = (LinkJavaScript*) Aact;
--#endif
- 			if (jsa->isOk())
- 			{
- 				ite->annotation().setE_act(UnicodeParsedString(jsa->getScript()));
- 				ite->annotation().setAAact(true);
- 			}
- 		}
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 		Aact.reset();
--#else
--		Aact = nullptr;
--#endif
- 	}
- 	Aact = SC_getAdditionalAction("X", ano);
- 	if (Aact)
- 	{
- 		if (Aact->getKind() == actionJavaScript)
- 		{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 			LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
--#else
--			LinkJavaScript *jsa = (LinkJavaScript*) Aact;
--#endif
- 			if (jsa->isOk())
- 			{
- 				ite->annotation().setX_act(UnicodeParsedString(jsa->getScript()));
- 				ite->annotation().setAAact(true);
- 			}
- 		}
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 		Aact.reset();
--#else
--		Aact = nullptr;
--#endif
- 	}
- 	Aact = SC_getAdditionalAction("Fo", ano);
- 	if (Aact)
- 	{
- 		if (Aact->getKind() == actionJavaScript)
- 		{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 			LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
--#else
--			LinkJavaScript *jsa = (LinkJavaScript*) Aact;
--#endif
- 			if (jsa->isOk())
- 			{
- 				ite->annotation().setFo_act(UnicodeParsedString(jsa->getScript()));
- 				ite->annotation().setAAact(true);
- 			}
- 		}
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 		Aact.reset();
--#else
--		Aact = nullptr;
--#endif
- 	}
- 	Aact = SC_getAdditionalAction("Bl", ano);
- 	if (Aact)
- 	{
- 		if (Aact->getKind() == actionJavaScript)
- 		{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 			LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
--#else
--			LinkJavaScript *jsa = (LinkJavaScript*) Aact;
--#endif
- 			if (jsa->isOk())
- 			{
- 				ite->annotation().setBl_act(UnicodeParsedString(jsa->getScript()));
- 				ite->annotation().setAAact(true);
- 			}
- 		}
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 		Aact.reset();
--#else
--		Aact = nullptr;
--#endif
- 	}
- 	Aact = SC_getAdditionalAction("C", ano);
- 	if (Aact)
- 	{
- 		if (Aact->getKind() == actionJavaScript)
- 		{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 			LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
--#else
--			LinkJavaScript *jsa = (LinkJavaScript*) Aact;
--#endif
- 			if (jsa->isOk())
- 			{
- 				ite->annotation().setC_act(UnicodeParsedString(jsa->getScript()));
- 				ite->annotation().setAAact(true);
- 			}
- 		}
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 		Aact.reset();
--#else
--		Aact = nullptr;
--#endif
- 	}
- 	Aact = SC_getAdditionalAction("F", ano);
- 	if (Aact)
- 	{
- 		if (Aact->getKind() == actionJavaScript)
- 		{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 			LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
--#else
--			LinkJavaScript *jsa = (LinkJavaScript*) Aact;
--#endif
- 			if (jsa->isOk())
- 			{
- 				ite->annotation().setF_act(UnicodeParsedString(jsa->getScript()));
-@@ -1283,22 +1193,14 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
- 				ite->annotation().setFormat(5);
- 			}
- 		}
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 		Aact.reset();
--#else
--		Aact = nullptr;
--#endif
- 	}
- 	Aact = SC_getAdditionalAction("K", ano);
- 	if (Aact)
- 	{
- 		if (Aact->getKind() == actionJavaScript)
- 		{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 			LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
--#else
--			LinkJavaScript *jsa = (LinkJavaScript*) Aact;
--#endif
- 			if (jsa->isOk())
- 			{
- 				ite->annotation().setK_act(UnicodeParsedString(jsa->getScript()));
-@@ -1306,33 +1208,21 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
- 				ite->annotation().setFormat(5);
- 			}
- 		}
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 		Aact.reset();
--#else
--		Aact = nullptr;
--#endif
- 	}
- 	Aact = SC_getAdditionalAction("V", ano);
- 	if (Aact)
- 	{
- 		if (Aact->getKind() == actionJavaScript)
- 		{
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 			LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
--#else
--			LinkJavaScript *jsa = (LinkJavaScript*) Aact;
--#endif
- 			if (jsa->isOk())
- 			{
- 				ite->annotation().setV_act(UnicodeParsedString(jsa->getScript()));
- 				ite->annotation().setAAact(true);
- 			}
- 		}
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 		Aact.reset();
--#else
--		Aact = nullptr;
--#endif
- 	}
- }
- 
-@@ -1342,11 +1232,7 @@ void SlaOutputDev::startDoc(PDFDoc *doc, XRef *xrefA, Catalog *catA)
- 	catalog = catA;
- 	pdfDoc = doc;
- 	updateGUICounter = 0;
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 84, 0)
- 	m_fontEngine = new SplashFontEngine(true, false, false, true);
--#else
--	m_fontEngine = new SplashFontEngine(globalParams->getEnableFreeType(), false, false, true);
--#endif
- }
- 
- void SlaOutputDev::startPage(int pageNum, GfxState *, XRef *)
-diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
-index 02e5382534..601e287451 100644
---- a/scribus/plugins/import/pdf/slaoutput.h
-+++ b/scribus/plugins/import/pdf/slaoutput.h
-@@ -30,9 +30,6 @@ for which a new license (GPL+exception) is in place.
- #include "selection.h"
- #include "vgradient.h"
- 
--#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 73, 0)
--#include <poppler/goo/gtypes.h>
--#endif
- #include <poppler/Object.h>
- #include <poppler/OutputDev.h>
- #include <poppler/Gfx.h>
-@@ -163,11 +160,7 @@ class SlaOutputDev : public OutputDev
- 	virtual ~SlaOutputDev();
- 
- 	LinkAction* SC_getAction(AnnotWidget *ano);
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
- 	std::unique_ptr<LinkAction> SC_getAdditionalAction(const char *key, AnnotWidget *ano);
--#else
--	LinkAction* SC_getAdditionalAction(const char *key, AnnotWidget *ano);
--#endif
- 	static GBool annotations_callback(Annot *annota, void *user_data);
- 	bool handleTextAnnot(Annot* annota, double xCoor, double yCoor, double width, double height);
- 	bool handleLinkAnnot(Annot* annota, double xCoor, double yCoor, double width, double height);
-diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
-index e20a81f99e..5626fe3477 100644
---- a/scribus/plugins/import/pdf/slaoutput.cpp
-+++ b/scribus/plugins/import/pdf/slaoutput.cpp
-@@ -174,8 +174,13 @@ void AnoOutputDev::drawString(GfxState *state, POPPLER_CONST GooString *s)
- 	int shade = 100;
- 	currColorText = getColor(state->getFillColorSpace(), state->getFillColor(), &shade);
- 	fontSize = state->getFontSize();
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+	if (state->getFont() && state->getFont()->getName())
-+		fontName = new GooString(state->getFont()->getName().value());
-+#else
- 	if (state->getFont())
- 		fontName = state->getFont()->getName()->copy();
-+#endif
- 	itemText = s->copy();
- }
- 
-@@ -357,7 +362,12 @@ std::unique_ptr<LinkAction> SlaOutputDev::SC_getAdditionalAction(const char *key
- GBool SlaOutputDev::annotations_callback(Annot *annota, void *user_data)
- {
- 	SlaOutputDev *dev = (SlaOutputDev*)user_data;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+	const PDFRectangle& annotRect = annota->getRect();;
-+	const PDFRectangle* box = &annotRect;
-+#else
- 	PDFRectangle *box = annota->getRect();
-+#endif
- 	double xCoor = dev->m_doc->currentPage()->xOffset() + box->x1 - dev->cropOffsetX;
- 	double yCoor = dev->m_doc->currentPage()->yOffset() + dev->m_doc->currentPage()->height() - box->y2 + dev->cropOffsetY;
- 	double width = box->x2 - box->x1;
-@@ -684,7 +694,12 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
- 			if (apa || !achar)
- 			{
- 				AnoOutputDev *annotOutDev = new AnoOutputDev(m_doc, m_importedColors);
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+				const PDFRectangle& annotaRect = annota->getRect();
-+				Gfx* gfx = new Gfx(pdfDoc, annotOutDev, pdfDoc->getPage(m_actPage)->getResourceDict(), &annotaRect, nullptr);
-+#else
- 				Gfx *gfx = new Gfx(pdfDoc, annotOutDev, pdfDoc->getPage(m_actPage)->getResourceDict(), annota->getRect(), nullptr);
-+#endif
- 				ano->draw(gfx, false);
- 				if (!bgFound)
- 					m_currColorFill = annotOutDev->currColorFill;
-@@ -2916,22 +2931,27 @@ void SlaOutputDev::markPoint(POPPLER_CONST char *name, Dict *properties)
- 
- void SlaOutputDev::updateFont(GfxState *state)
- {
--	GfxFont *gfxFont;
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+	std::optional<GfxFontLoc> fontLoc;
-+	std::string fileName;
-+	std::unique_ptr<FoFiTrueType> ff;
-+	std::optional<std::vector<unsigned char>> tmpBuf;
-+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
- 	std::optional<GfxFontLoc> fontLoc;
- 	const GooString * fileName = nullptr;
- 	std::unique_ptr<FoFiTrueType> ff;
-+	char* tmpBuf = nullptr;
- #else
- 	GfxFontLoc * fontLoc = nullptr;
- 	GooString * fileName = nullptr;
- 	FoFiTrueType * ff = nullptr;
-+	char* tmpBuf = nullptr;
- #endif
- 	GfxFontType fontType;
- 	SlaOutFontFileID *id;
- 	SplashFontFile *fontFile;
- 	SplashFontSrc *fontsrc = nullptr;
- 	Object refObj, strObj;
--	char *tmpBuf = nullptr;
- 	int tmpBufLen = 0;
- 	int *codeToGID = nullptr;
- 	const double *textMat = nullptr;
-@@ -2943,7 +2963,11 @@ void SlaOutputDev::updateFont(GfxState *state)
- 
- 	m_font = nullptr;
- 
--	gfxFont = state->getFont();
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+	GfxFont* gfxFont = state->getFont().get();
-+#else
-+	GfxFont* gfxFont = state->getFont();
-+#endif
- 	if (!gfxFont)
- 		goto err1;
- 
-@@ -2968,15 +2992,23 @@ void SlaOutputDev::updateFont(GfxState *state)
- 		if (fontLoc->locType == gfxFontLocEmbedded)
- 		{
- 			// if there is an embedded font, read it to memory
--			tmpBuf = gfxFont->readEmbFontFile(xref, &tmpBufLen);
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+			tmpBuf = gfxFont->readEmbFontFile((xref) ? xref : pdfDoc->getXRef());
- 			if (! tmpBuf)
- 				goto err2;
-+#else
-+			tmpBuf = gfxFont->readEmbFontFile(xref, &tmpBufLen);
-+			if (!tmpBuf)
-+				goto err2;
-+#endif
- 
- 			// external font
- 		}
- 		else
- 		{ // gfxFontLocExternal
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+			fileName = fontLoc->path;
-+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
- 			fileName = fontLoc->pathAsGooString();
- #else
- 			fileName = fontLoc->path;
-@@ -2985,52 +3017,54 @@ void SlaOutputDev::updateFont(GfxState *state)
- 		}
- 
- 		fontsrc = new SplashFontSrc;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+		if (!fileName.empty())
-+			fontsrc->setFile(fileName);
-+		else
-+			fontsrc->setBuf(std::move(tmpBuf.value()));
-+#else
- 		if (fileName)
- 			fontsrc->setFile(fileName, gFalse);
- 		else
- 			fontsrc->setBuf(tmpBuf, tmpBufLen, gTrue);
-+#endif
- 
- 		// load the font file
- 		switch (fontType) {
- 		case fontType1:
--			if (!(fontFile = m_fontEngine->loadType1Font(
--				id,
--				fontsrc,
--				(const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
-+			if (!(fontFile = m_fontEngine->loadType1Font(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
- 			{
--				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
--				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- 				goto err2;
- 			}
- 			break;
- 		case fontType1C:
--			if (!(fontFile = m_fontEngine->loadType1CFont(
--							id,
--							fontsrc,
--							(const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
-+			if (!(fontFile = m_fontEngine->loadType1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
- 			{
--				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
--				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- 				goto err2;
- 			}
- 			break;
- 		case fontType1COT:
--			if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(
--							id,
--							fontsrc,
--							(const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
-+			if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
- 			{
--				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
--				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- 				goto err2;
- 			}
- 			break;
- 		case fontTrueType:
- 		case fontTrueTypeOT:
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+			if (!fileName.empty())
-+				ff = FoFiTrueType::load(fileName.c_str());
-+			else
-+				ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size());
-+#else
- 			if (fileName)
- 				ff = FoFiTrueType::load(fileName->getCString());
- 			else
- 				ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
-+#endif
- 			if (ff)
- 			{
- #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-@@ -3047,24 +3081,17 @@ void SlaOutputDev::updateFont(GfxState *state)
- 				codeToGID = nullptr;
- 				n = 0;
- 			}
--			if (!(fontFile = m_fontEngine->loadTrueTypeFont(
--							id,
--							fontsrc,
--							codeToGID, n)))
-+			if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n)))
- 			{
--				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
--				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- 				goto err2;
- 			}
- 			break;
- 		case fontCIDType0:
- 		case fontCIDType0C:
--			if (!(fontFile = m_fontEngine->loadCIDFont(
--							id,
--							fontsrc)))
-+			if (!(fontFile = m_fontEngine->loadCIDFont(id, fontsrc)))
- 			{
--				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
--				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- 				goto err2;
- 			}
- 			break;
-@@ -3080,10 +3107,7 @@ void SlaOutputDev::updateFont(GfxState *state)
- 				codeToGID = nullptr;
- 				n = 0;
- 			}
--			if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(
--							id,
--							fontsrc,
--							codeToGID, n)))
-+			if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(id, fontsrc, codeToGID, n)))
- 			{
- 				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
- 				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-@@ -3105,10 +3129,17 @@ void SlaOutputDev::updateFont(GfxState *state)
- 			}
- 			else
- 			{
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+				if (!fileName.empty())
-+					ff = FoFiTrueType::load(fileName.c_str());
-+				else
-+					ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size());
-+#else
- 				if (fileName)
- 					ff = FoFiTrueType::load(fileName->getCString());
- 				else
- 					ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
-+#endif
- 				if (! ff)
- 					goto err2;
- #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-@@ -3119,13 +3150,9 @@ void SlaOutputDev::updateFont(GfxState *state)
- 				delete ff;
- #endif
- 			}
--			if (!(fontFile = m_fontEngine->loadTrueTypeFont(
--							id,
--							fontsrc,
--							codeToGID, n, faceIndex)))
-+			if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n, faceIndex)))
- 			{
--				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
--				gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+				error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- 				goto err2;
- 			}
- 			break;
-@@ -3269,9 +3296,15 @@ void SlaOutputDev::drawChar(GfxState* state, double x, double y, double dx, doub
- GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, POPPLER_CONST_082 Unicode *u, int uLen)
- {
- //	qDebug() << "beginType3Char";
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
- 	GfxFont *gfxFont;
-+	if (!(gfxFont = state->getFont().get()))
-+		return gTrue;
-+#else
-+	GfxFont* gfxFont;
- 	if (!(gfxFont = state->getFont()))
- 		return gTrue;
-+#endif
- 	if (gfxFont->getType() != fontType3)
- 		return gTrue;
- 	F3Entry f3e;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/scribus.git/commitdiff/1e69c2c2d5c8abd61a2be938e9a8050188b546d0




More information about the pld-cvs-commit mailing list