@@ -7,23 +7,36 @@
|
||||
from pisi.actionsapi import cmaketools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import get
|
||||
from pisi.actionsapi import get, shelltools
|
||||
|
||||
def setup():
|
||||
|
||||
shelltools.chmod("scribus/pageitem_latexframe.h")
|
||||
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")
|
||||
|
||||
def build():
|
||||
|
||||
shelltools.cd("build")
|
||||
cmaketools.make()
|
||||
|
||||
def install():
|
||||
|
||||
shelltools.cd("build")
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||
|
||||
shelltools.cd("..")
|
||||
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_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)
|
||||
{
|
||||
@@ -13,7 +13,7 @@
|
||||
<IsA>app:gui</IsA>
|
||||
<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>
|
||||
<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>
|
||||
<Dependency>cmake</Dependency>
|
||||
<Dependency>cups-devel</Dependency>
|
||||
@@ -47,16 +47,22 @@
|
||||
<Dependency>libcdr-devel</Dependency>
|
||||
<Dependency>poppler-qt5-devel</Dependency>
|
||||
<Dependency>poppler-cpp-devel</Dependency>
|
||||
<Dependency>GraphicsMagick-devel</Dependency>
|
||||
<!-- <Dependency>GraphicsMagick-devel</Dependency> -->
|
||||
<Dependency>libpagemaker-devel</Dependency>
|
||||
<Dependency>harfbuzz-devel</Dependency>
|
||||
|
||||
<Dependency>libqxp-devel</Dependency>
|
||||
<Dependency>libzmf-devel</Dependency>
|
||||
<Dependency>libfreehand-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<!-- <Patch>scribus-1.5.3-docdir.patch</Patch> -->
|
||||
<!-- <Patch>findOpenSSL.patch</Patch> -->
|
||||
<Patch>scribus-1.5.3-fpic.patch</Patch>
|
||||
<Patch>PisiLinux-correctly_link_to_libxml2.patch</Patch>
|
||||
<Patch>poppler-21.3.0.patch</Patch>
|
||||
<Patch>85c0dff3422f.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>
|
||||
</Source>
|
||||
|
||||
@@ -89,6 +95,11 @@
|
||||
<Dependency>libvisio</Dependency>
|
||||
<Dependency>libmspub</Dependency>
|
||||
<Dependency>harfbuzz</Dependency>
|
||||
<Dependency>libpng</Dependency>
|
||||
<Dependency>python3</Dependency>
|
||||
<Dependency>libqxp</Dependency>
|
||||
<Dependency>libzmf</Dependency>
|
||||
<Dependency>libfreehand</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
@@ -106,6 +117,13 @@
|
||||
</Package>
|
||||
|
||||
<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">
|
||||
<Date>2021-03-12</Date>
|
||||
<Version>1.5.6.1</Version>
|
||||
|
||||
Reference in New Issue
Block a user