Download raw body.
fix graphics/inkscape with poppler-25.0.7
Hi,
this fixes inkscape with the new poppler.
ok?
Ciao,
Kili
Index: patches/patch-src_extension_internal_pdfinput_pdf-parser_cpp
===================================================================
RCS file: /cvs/ports/graphics/inkscape/patches/patch-src_extension_internal_pdfinput_pdf-parser_cpp,v
diff -u -p -r1.24 patch-src_extension_internal_pdfinput_pdf-parser_cpp
--- patches/patch-src_extension_internal_pdfinput_pdf-parser_cpp 19 Jun 2025 20:16:35 -0000 1.24
+++ patches/patch-src_extension_internal_pdfinput_pdf-parser_cpp 7 Jul 2025 20:47:50 -0000
@@ -1,6 +1,6 @@
-Fix build with poppler-25.06.
+Fix build with poppler-25.06 and 25.07.
-From upstream commit 1fdfb889bba9ee146c8b826e97bc58a88cb1e529.
+Partially from upstream commit 1fdfb889bba9ee146c8b826e97bc58a88cb1e529.
Index: src/extension/internal/pdfinput/pdf-parser.cpp
--- src/extension/internal/pdfinput/pdf-parser.cpp.orig
@@ -79,3 +79,12 @@ Index: src/extension/internal/pdfinput/p
}
} else {
error(errSyntaxError, getPos(), "Invalid soft mask in ExtGState - missing group");
+@@ -2316,7 +2319,7 @@ void PdfParser::doShowText(GooString *s) {
+ dx, dy, ax, ay, tOriginX, tOriginY, code, n, u, uLen);
+
+ // Move onto next unicode character.
+- state->shift(tdx, tdy);
++ state->textShiftWithUserCoords(tdx, tdy);
+ p += n;
+ len -= n;
+ }
Index: patches/patch-src_extension_internal_pdfinput_poppler-cairo-font-engine_cpp
===================================================================
RCS file: patches/patch-src_extension_internal_pdfinput_poppler-cairo-font-engine_cpp
diff -N patches/patch-src_extension_internal_pdfinput_poppler-cairo-font-engine_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_extension_internal_pdfinput_poppler-cairo-font-engine_cpp 7 Jul 2025 20:47:50 -0000
@@ -0,0 +1,58 @@
+Fix build with poppler-25.07.
+
+Index: src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
+--- src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp.orig
++++ src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
+@@ -318,7 +318,7 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *
+ #endif
+ char **enc;
+ const char *name;
+- FoFiType1C *ff1c;
++ std::unique_ptr<FoFiType1C> ff1c;
+ std::optional<FreeTypeFontFace> font_face;
+ std::vector<int> codeToGID;
+ bool substitute = false;
+@@ -429,7 +429,7 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *
+ FoFiTrueType *ff;
+ #endif
+ if (!font_data.empty()) {
+- ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size(), 0);
++ ff = FoFiTrueType::make(std::span(font_data), 0);
+ } else {
+ ff = FoFiTrueType::load(fileName.c_str(), 0);
+ }
+@@ -459,7 +459,7 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *
+ FoFiTrueType *ff;
+ #endif
+ if (!font_data.empty()) {
+- ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size(), 0);
++ ff = FoFiTrueType::make(std::span(font_data), 0);
+ } else {
+ ff = FoFiTrueType::load(fileName.c_str(), 0);
+ }
+@@ -493,7 +493,7 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *
+ case fontCIDType0C:
+ if (!useCIDs) {
+ if (!font_data.empty()) {
+- ff1c = FoFiType1C::make((fontchar)font_data.data(), font_data.size());
++ ff1c = FoFiType1C::make(std::span(font_data));
+ } else {
+ ff1c = FoFiType1C::load(fileName.c_str());
+ }
+@@ -506,7 +506,6 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *
+ codeToGID.insert(codeToGID.begin(), src, src + n);
+ gfree(src);
+ #endif
+- delete ff1c;
+ }
+ }
+
+@@ -542,7 +541,7 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *
+ FoFiTrueType *ff;
+ #endif
+ if (!font_data.empty()) {
+- ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size(), 0);
++ ff = FoFiTrueType::make(std::span(font_data), 0);
+ } else {
+ ff = FoFiTrueType::load(fileName.c_str(), 0);
+ }
fix graphics/inkscape with poppler-25.0.7