[packages/ka5-kitinerary] - more poppler fixes, rel 4

baggins baggins at pld-linux.org
Sat Aug 9 14:09:41 CEST 2025


commit 911aec0a030e76efc1e6e8e139961366a8d9ec6b
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sat Aug 9 16:09:20 2025 +0200

    - more poppler fixes, rel 4

 ka5-kitinerary.spec        |  4 +--
 kitinerary-poppler24.patch | 27 -----------------
 poppler.patch              | 74 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 76 insertions(+), 29 deletions(-)
---
diff --git a/ka5-kitinerary.spec b/ka5-kitinerary.spec
index f702e5d..199db9c 100644
--- a/ka5-kitinerary.spec
+++ b/ka5-kitinerary.spec
@@ -9,12 +9,12 @@ Summary:	KDE Itinerary - digital travel assistent
 Summary(pl.UTF-8):	KDE Itinerary - cyfrowy asystent podróży
 Name:		ka5-%{kaname}
 Version:	23.08.5
-Release:	3
+Release:	4
 License:	GPL v2+/LGPL v2.1+
 Group:		X11/Libraries
 Source0:	https://download.kde.org/stable/release-service/%{kdeappsver}/src/%{kaname}-%{version}.tar.xz
 # Source0-md5:	8b3216199eef85b2f05e4955f3409199
-Patch0:		kitinerary-poppler24.patch
+Patch0:		poppler.patch
 URL:		https://community.kde.org/KDE_PIM/KDE_Itinerary
 BuildRequires:	Qt5Core-devel >= %{qtver}
 BuildRequires:	Qt5Gui-devel >= %{qtver}
diff --git a/kitinerary-poppler24.patch b/kitinerary-poppler24.patch
deleted file mode 100644
index 9e4f222..0000000
--- a/kitinerary-poppler24.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- kitinerary-23.08.5/src/lib/pdf/pdfdocument.cpp.orig	2024-02-10 12:38:52.000000000 +0100
-+++ kitinerary-23.08.5/src/lib/pdf/pdfdocument.cpp	2024-08-28 21:44:03.245330615 +0200
-@@ -24,6 +24,10 @@
- 
- #include <cmath>
- 
-+#if KPOPPLER_VERSION >= QT_VERSION_CHECK(24, 5, 0)
-+#include <poppler/UTF.h>
-+#endif
-+
- using namespace KItinerary;
- 
- void PdfPagePrivate::load()
-@@ -329,7 +333,12 @@ QString gooStringToUnicode(const std::un
-         return {};
-     }
- 
--    if (s->hasUnicodeMarker() || s->hasUnicodeMarkerLE()) {
-+#if KPOPPLER_VERSION >= QT_VERSION_CHECK(24, 5, 0)
-+    if (hasUnicodeByteOrderMark(s->toStr()) || hasUnicodeByteOrderMarkLE(s->toStr()))
-+#else
-+    if (s->hasUnicodeMarker() || s->hasUnicodeMarkerLE())
-+#endif
-+    {
-         return QString::fromUtf16(reinterpret_cast<const char16_t*>(s->toStr().c_str()), s->toStr().size() / 2);
-     } else {
-         int len = 0;
diff --git a/poppler.patch b/poppler.patch
new file mode 100644
index 0000000..e1c869c
--- /dev/null
+++ b/poppler.patch
@@ -0,0 +1,74 @@
+--- kitinerary-23.08.5/src/lib/pdf/pdfdocument.cpp~	2025-08-09 15:45:23.000000000 +0200
++++ kitinerary-23.08.5/src/lib/pdf/pdfdocument.cpp	2025-08-09 16:00:01.566661895 +0200
+@@ -24,6 +24,10 @@
+ 
+ #include <cmath>
+ 
++#if KPOPPLER_VERSION >= QT_VERSION_CHECK(24, 5, 0)
++#include <poppler/UTF.h>
++#endif
++
+ using namespace KItinerary;
+ 
+ void PdfPagePrivate::load()
+@@ -42,6 +42,7 @@
+     m_doc->m_popplerDoc->processLinks(&device, m_pageNum + 1);
+     device.finalize();
+     const auto pageRect = m_doc->m_popplerDoc->getPage(m_pageNum + 1)->getCropBox();
++#if KPOPPLER_VERSION < QT_VERSION_CHECK(25, 1, 0)
+     std::unique_ptr<GooString> s(device.getText(pageRect->x1, pageRect->y1, pageRect->x2, pageRect->y2));
+ 
+ #if KPOPPLER_VERSION >= QT_VERSION_CHECK(0, 72, 0)
+@@ -49,6 +50,10 @@
+ #else
+     m_text = QString::fromUtf8(s->getCString());
+ #endif
++#else
++    const auto s = device.getText(pageRect->x1, pageRect->y1, pageRect->x2, pageRect->y2);
++    m_text = QString::fromUtf8(s.c_str());
++#endif
+     m_images = std::move(device.m_images);
+     for (auto it = m_images.begin(); it != m_images.end(); ++it) {
+         (*it).d->m_page = this;
+@@ -113,12 +118,17 @@
+ 
+     TextOutputDev device(nullptr, false, 0, false, false);
+     d->m_doc->m_popplerDoc->displayPageSlice(&device, d->m_pageNum + 1, 72, 72, 0, false, true, false, -1, -1, -1, -1);
++#if KPOPPLER_VERSION <QT_VERSION_CHECK(25, 1, 0)
+     std::unique_ptr<GooString> s(device.getText(l, t, r, b));
+ #if KPOPPLER_VERSION >= QT_VERSION_CHECK(0, 72, 0)
+     return QString::fromUtf8(s->c_str());
+ #else
+     return QString::fromUtf8(s->getCString());
+ #endif
++#else
++    const auto s = device.getText(l, t, r, b);
++    return QString::fromUtf8(s.c_str());
++#endif
+ }
+ 
+ int PdfPage::imageCount() const
+@@ -329,12 +333,22 @@ QString gooStringToUnicode(const std::un
+         return {};
+     }
+ 
+-    if (s->hasUnicodeMarker() || s->hasUnicodeMarkerLE()) {
++#if KPOPPLER_VERSION >= QT_VERSION_CHECK(24, 5, 0)
++    if (hasUnicodeByteOrderMark(s->toStr()) || hasUnicodeByteOrderMarkLE(s->toStr()))
++#else
++    if (s->hasUnicodeMarker() || s->hasUnicodeMarkerLE())
++#endif
++    {
+         return QString::fromUtf16(reinterpret_cast<const char16_t*>(s->toStr().c_str()), s->toStr().size() / 2);
+     } else {
++#if KPOPPLER_VERSION >= QT_VERSION_CHECK(25, 2, 0)
++        const auto utf16Data = pdfDocEncodingToUTF16(s->toStr());
++        return QString::fromUtf16(reinterpret_cast<const char16_t *>(utf16Data.c_str()), utf16Data.size() / 2);
++#else
+         int len = 0;
+         std::unique_ptr<const char[]> utf16Data(pdfDocEncodingToUTF16(s->toStr(), &len));
+         return QString::fromUtf16(reinterpret_cast<const char16_t*>(utf16Data.get()), len / 2);
++#endif
+     }
+ 
+     return QString::fromUtf8(s->c_str());
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ka5-kitinerary.git/commitdiff/911aec0a030e76efc1e6e8e139961366a8d9ec6b



More information about the pld-cvs-commit mailing list