scribus-1.5.8

This commit is contained in:
Rmys
2023-05-18 00:22:19 +03:00
parent 53c711c443
commit 07dddb6148
10 changed files with 660 additions and 11 deletions
+18 -5
View File
@@ -7,23 +7,36 @@
from pisi.actionsapi import cmaketools from pisi.actionsapi import cmaketools
from pisi.actionsapi import pisitools from pisi.actionsapi import pisitools
from pisi.actionsapi import autotools from pisi.actionsapi import autotools
from pisi.actionsapi import get from pisi.actionsapi import get, shelltools
def setup(): def setup():
shelltools.chmod("scribus/pageitem_latexframe.h")
pisitools.dosed("CMakeLists.txt", "\"share\/doc\/\$\{MAIN_DIR_NAME\}.*", "\"share/doc/${MAIN_DIR_NAME}/\")") pisitools.dosed("CMakeLists.txt", "\"share\/doc\/\$\{MAIN_DIR_NAME\}.*", "\"share/doc/${MAIN_DIR_NAME}/\")")
cmaketools.configure("-DWANT_DISTROBUILD=YES \ cmaketools.configure("-B build -DWITH_PODOFO=ON \
-DWANT_HUNSPELL=ON \
-DWANT_DISTROBUILD=YES \
-DWANT_GRAPHICSMAGICK=ON \
-DWANT_CPP17=ON \
-DCMAKE_CXX_STANDARD=17 \
-DWANT_CCACHE=YES \
-DCMAKE_SKIP_RPATH=ON \
-DWANT_QT5SUPPORT=ON") -DWANT_QT5SUPPORT=ON")
def build(): def build():
shelltools.cd("build")
cmaketools.make() cmaketools.make()
def install(): def install():
shelltools.cd("build")
autotools.rawInstall("DESTDIR=%s" % get.installDIR()) autotools.rawInstall("DESTDIR=%s" % get.installDIR())
shelltools.cd("..")
pisitools.insinto("/usr/share/applications", "scribus.desktop") pisitools.insinto("/usr/share/applications", "scribus.desktop")
pisitools.insinto("/usr/share/pixmaps", "resources/iconsets/1_5_1/scribus.png") pisitools.insinto("/usr/share/pixmaps", "resources/iconsets/1_5_1/scribus.png")
pisitools.insinto("/usr/share/pixmaps", "resources/iconsets/1_5_0/scribusdoc.png", "x-scribus.png") pisitools.insinto("/usr/share/pixmaps", "resources/iconsets/1_5_0/scribusdoc.png", "x-scribus.png")
pisitools.insinto("/usr/share/scribus/icons/1_5_1", "resources/iconsets/1_5_0/lab.png")
pisitools.insinto("/usr/share/scribus/icons/1_5_1", "resources/iconsets/1_5_0/spot.png")
pisitools.insinto("/usr/share/scribus/icons/1_5_1", "resources/iconsets/1_5_0/register.png")
pisitools.insinto("/usr/share/scribus/icons/1_5_1", "resources/iconsets/1_5_0/DrawFreeLine.png")
@@ -0,0 +1,129 @@
From 85c0dff3422fa3c26fbc2e8d8561f597ec24bd92 Mon Sep 17 00:00:00 2001
From: Jean Ghali <jghali@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();
@@ -0,0 +1,52 @@
From f19410ac3b27e33dd62105746784e61e85b90a1d Mon Sep 17 00:00:00 2001
From: Jean Ghali <jghali@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))
@@ -0,0 +1,288 @@
From f2237b8f0b5cf7690e864a22ef7a63a6d769fa36 Mon Sep 17 00:00:00 2001
From: Jean Ghali <jghali@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(-)
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;
@@ -0,0 +1,28 @@
From f75c1613db67f4067643d0218a2db3235e42ec9f Mon Sep 17 00:00:00 2001
From: Jean Ghali <jghali@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;
}
@@ -0,0 +1,19 @@
--- a/CMakeLists_Dependencies.cmake 2019-07-31 00:34:43.000000000 +0200
+++ b/CMakeLists_Dependencies.cmake 2019-10-02 00:17:34.968355656 +0200
@@ -954,6 +954,16 @@
endif()
#>>HUNSPELL for Speelling support
+#<<HYPHEN for Hyphenation support
+find_package(HYPHEN)
+if(HYPHEN_FOUND)
+ message("System Hyphen Found OK")
+ set(HAVE_HYPHEN ON)
+else()
+ message("Hyphen or its developer libraries NOT found - using bundled Hyphen instead")
+endif()
+#>>HYPHEN for Hyphenation support
+
#<<PoDoFo for AI PDF import
option(WITH_PODOFO "Enable support for PDF embedded in AI" ON)
if (WITH_PODOFO)
@@ -0,0 +1,28 @@
--- a/CMakeLists.txt 2022-01-23 17:14:43.000000000 +0100
+++ b/CMakeLists.txt 2023-02-05 15:59:57.828047452 +0100
@@ -362,25 +362,6 @@
if(APPLE)
### Include our Apple configure commands
include(CMakeLists_Apple.cmake)
-else()
- if(${CMAKE_GENERATOR} MATCHES "^(Visual Studio|NMake).*")
- # Windows build with Visual Studio
- # Surely there's a better way to identify the compiler?
- set(CMAKE_CXX_FLAGS_DEBUG)
- set(CMAKE_C_FLAGS_DEBUG)
- else()
- # vanilla gcc
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -Wall -fstrict-aliasing")
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g -Wall -fstrict-aliasing")
- endif()
- if(${CMAKE_GENERATOR} MATCHES "^(Visual Studio|NMake).*")
- set(CMAKE_CXX_FLAGS_RELEASE)
- set(CMAKE_C_FLAGS_RELEASE)
- else()
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -Wall")
- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -Wall")
- # add_definitions(-DNDEBUG)
- endif()
endif()
if(WIN32)
add_definitions(-DWIN32_LEAN_AND_MEAN
@@ -0,0 +1,54 @@
diff --git a/scribus/CMakeLists.txt b/scribus/CMakeLists.txt
index aec69d3..9451404 100644
--- a/scribus/CMakeLists.txt
+++ b/scribus/CMakeLists.txt
@@ -587,7 +587,9 @@ set(SCRIBUS_SOURCES
${SCRIBUS_GMAGICK_SRC}
)
-if(NOT HAVE_HYPHEN)
+if(HAVE_HYPHEN)
+ include_directories(${HYPHEN_INCLUDE_DIR})
+else()
include_directories(third_party/hyphen)
set(SCRIBUS_SOURCES
${SCRIBUS_SOURCES}
@@ -678,12 +680,6 @@ if(HAVE_PODOFO)
endif()
-if(HAVE_HYPHEN)
- target_link_libraries(${EXE_NAME} PRIVATE
- ${HYPHEN_LIBRARY}
- )
-endif()
-
if(GESTURE_FRAME_PREVIEW)
message(STATUS "Enable gesture frame preview [experimental]")
@@ -743,6 +739,12 @@ if(WANT_PCH)
target_precompile_headers(${EXE_NAME} PRIVATE scribus_pch.h)
endif()
+if(HAVE_HYPHEN)
+ target_link_libraries(${EXE_NAME} PRIVATE
+ ${HYPHEN_LIBRARY}
+ )
+endif()
+
if(WIN32)
set_target_properties(${EXE_NAME}
PROPERTIES
diff --git a/scribus/hyphenator.h b/scribus/hyphenator.h
index 7fa4abd..2863c70 100644
--- a/scribus/hyphenator.h
+++ b/scribus/hyphenator.h
@@ -13,7 +13,7 @@ for which a new license (GPL+exception) is in place.
#include <QSet>
#include "scribusapi.h"
-#include "third_party/hyphen/hyphen.h"
+#include <hyphen.h>
class ScribusDoc;
class ScribusMainWindow;
@@ -0,0 +1,20 @@
--- a/scribus/plugins/import/pdf/slaoutput.cpp
+++ b/scribus/plugins/import/pdf/slaoutput.cpp
@@ -3741,9 +3741,16 @@ void SlaOutputDev::getPenState(GfxState *state)
break;
}
double lw = state->getLineWidth();
- double *dashPattern;
int dashLength;
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 9, 0)
+ const double *dashPattern;
+ const std::vector<double> &dash = state->getLineDash(&DashOffset);
+ dashPattern = dash.data();
+ dashLength = dash.size();
+#else
+ double *dashPattern;
state->getLineDash(&dashPattern, &dashLength, &DashOffset);
+#endif
QVector<double> pattern(dashLength);
for (int i = 0; i < dashLength; ++i)
{
+24 -6
View File
@@ -13,7 +13,7 @@
<IsA>app:gui</IsA> <IsA>app:gui</IsA>
<Summary>Desktop Publishing (DTP) and Layout program</Summary> <Summary>Desktop Publishing (DTP) and Layout program</Summary>
<Description>Scribus is an opensource desktop publishing application with features like CMYK colorspace and PDF output.</Description> <Description>Scribus is an opensource desktop publishing application with features like CMYK colorspace and PDF output.</Description>
<Archive sha1sum="efabca7c478f1f52e4e7bf9bbc1444e905ebf8cd" type="tarxz">http://sourceforge.net/projects/scribus/files/scribus-devel/1.5.6.1/scribus-1.5.6.1.tar.xz</Archive> <Archive sha1sum="3e41b349f6403d3c3058455da3700013e88153d2" type="tarxz">http://sourceforge.net/projects/scribus/files/scribus-devel/1.5.8/scribus-1.5.8.tar.xz</Archive>
<BuildDependencies> <BuildDependencies>
<Dependency>cmake</Dependency> <Dependency>cmake</Dependency>
<Dependency>cups-devel</Dependency> <Dependency>cups-devel</Dependency>
@@ -47,16 +47,22 @@
<Dependency>libcdr-devel</Dependency> <Dependency>libcdr-devel</Dependency>
<Dependency>poppler-qt5-devel</Dependency> <Dependency>poppler-qt5-devel</Dependency>
<Dependency>poppler-cpp-devel</Dependency> <Dependency>poppler-cpp-devel</Dependency>
<Dependency>GraphicsMagick-devel</Dependency> <!-- <Dependency>GraphicsMagick-devel</Dependency> -->
<Dependency>libpagemaker-devel</Dependency> <Dependency>libpagemaker-devel</Dependency>
<Dependency>harfbuzz-devel</Dependency> <Dependency>harfbuzz-devel</Dependency>
<Dependency>libqxp-devel</Dependency>
<Dependency>libzmf-devel</Dependency>
<Dependency>libfreehand-devel</Dependency>
</BuildDependencies> </BuildDependencies>
<Patches> <Patches>
<!-- <Patch>scribus-1.5.3-docdir.patch</Patch> -->
<!-- <Patch>findOpenSSL.patch</Patch> -->
<Patch>scribus-1.5.3-fpic.patch</Patch> <Patch>scribus-1.5.3-fpic.patch</Patch>
<Patch>PisiLinux-correctly_link_to_libxml2.patch</Patch> <Patch>85c0dff3422f.patch</Patch>
<Patch>poppler-21.3.0.patch</Patch> <Patch>f75c1613db67.patch</Patch>
<Patch>f19410ac3b27.patch</Patch>
<Patch>f2237b8f0b5c.patch</Patch>
<Patch>scribus-1.5.8-poppler-22.09.0.patch</Patch>
<Patch>gentoo/scribus-1.5.8-cmake.patch</Patch>
</Patches> </Patches>
</Source> </Source>
@@ -89,6 +95,11 @@
<Dependency>libvisio</Dependency> <Dependency>libvisio</Dependency>
<Dependency>libmspub</Dependency> <Dependency>libmspub</Dependency>
<Dependency>harfbuzz</Dependency> <Dependency>harfbuzz</Dependency>
<Dependency>libpng</Dependency>
<Dependency>python3</Dependency>
<Dependency>libqxp</Dependency>
<Dependency>libzmf</Dependency>
<Dependency>libfreehand</Dependency>
</RuntimeDependencies> </RuntimeDependencies>
<Files> <Files>
<Path fileType="executable">/usr/bin</Path> <Path fileType="executable">/usr/bin</Path>
@@ -106,6 +117,13 @@
</Package> </Package>
<History> <History>
<Update release="9">
<Date>2023-05-17</Date>
<Version>1.5.8</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="8"> <Update release="8">
<Date>2021-03-12</Date> <Date>2021-03-12</Date>
<Version>1.5.6.1</Version> <Version>1.5.6.1</Version>