[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