From: Matthias Kilian Subject: fix print/scribus with poppler-25.0.7 To: ports@openbsd.org Date: Mon, 7 Jul 2025 22:53:38 +0200 Hi, this fixes the build with poppler-25.0.7. Ciao, Kili Index: patches/patch-scribus_plugins_import_pdf_slaoutput_cpp =================================================================== RCS file: /cvs/ports/print/scribus/patches/patch-scribus_plugins_import_pdf_slaoutput_cpp,v diff -u -p -r1.17 patch-scribus_plugins_import_pdf_slaoutput_cpp --- patches/patch-scribus_plugins_import_pdf_slaoutput_cpp 19 Jun 2025 20:18:10 -0000 1.17 +++ patches/patch-scribus_plugins_import_pdf_slaoutput_cpp 7 Jul 2025 20:44:38 -0000 @@ -1,4 +1,5 @@ https://github.com/scribusproject/scribus/commit/188d030acd0cb71e89dbb57695fe52158b6a0959 +(and local changes for FoFiTrueType::make()) Index: scribus/plugins/import/pdf/slaoutput.cpp --- scribus/plugins/import/pdf/slaoutput.cpp.orig @@ -33,6 +34,21 @@ Index: scribus/plugins/import/pdf/slaout const double *textMat = nullptr; double m11, m12, m21, m22, fontSize; SplashCoord mat[4] = { 1.0, 0.0, 0.0, 1.0 }; +@@ -3040,12 +3044,12 @@ void SlaOutputDev::updateFont(GfxState *state) + if (!fileName.empty()) + ff = FoFiTrueType::load(fileName.c_str(), fontLoc->fontNum); + else +- ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size(), fontLoc->fontNum); ++ ff = FoFiTrueType::make(std::span(fontsrc->buf), fontLoc->fontNum); + #else + if (!fileName.empty()) + ff = FoFiTrueType::load(fileName.c_str()); + else +- ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size()); ++ ff = FoFiTrueType::make(std::spam(fontsrc->buf)); + #endif + if (ff) + { @@ -3055,10 +3059,20 @@ void SlaOutputDev::updateFont(GfxState *state) } else @@ -107,7 +123,7 @@ Index: scribus/plugins/import/pdf/slaout codeToGID = nullptr; n = 0; if (((GfxCIDFont *) gfxFont)->getCIDToGID()) -@@ -3129,6 +3172,7 @@ void SlaOutputDev::updateFont(GfxState *state) +@@ -3129,25 +3172,36 @@ void SlaOutputDev::updateFont(GfxState *state) memcpy(codeToGID, ((GfxCIDFont *)gfxFont)->getCIDToGID(), n * sizeof(*codeToGID)); } } @@ -115,7 +131,17 @@ Index: scribus/plugins/import/pdf/slaout else { #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0) -@@ -3144,10 +3188,20 @@ void SlaOutputDev::updateFont(GfxState *state) + if (!fileName.empty()) + ff = FoFiTrueType::load(fileName.c_str(), fontLoc->fontNum); + else +- ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size(), fontLoc->fontNum); ++ ff = FoFiTrueType::make(std::span(fontsrc->buf), fontLoc->fontNum); + #else + if (!fileName.empty()) + ff = FoFiTrueType::load(fileName.c_str()); + else +- ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size()); ++ ff = FoFiTrueType::make(std::span(fontsrc->buf)); #endif if (! ff) goto err2;