download.lst                        |    4 +-
 external/poppler/std_span.patch.1   |   61 ++++++++++++++++++++++++++++++++++++
 external/poppler/std_string.patch.1 |    2 -
 3 files changed, 64 insertions(+), 3 deletions(-)

New commits:
commit 9eee51102e6fd3bf2c7b4a9e8f848d58fe81c072
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Fri Jul 4 22:27:45 2025 +0200
Commit:     Thorsten Behrens <thorsten.behr...@collabora.com>
CommitDate: Mon Aug 11 00:25:01 2025 +0200

    poppler: upgrade to 25.07
    
    Downloaded from https://poppler.freedesktop.org/poppler-25.07.0.tar.xz
    
    Change-Id: Ia38e14845351ba5300613fd4ecd055bea45150e4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187429
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    (cherry picked from commit 406bcd8066cd94dfb2e39454fe32543eafd01428)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189176
    Reviewed-by: Thorsten Behrens <thorsten.behr...@collabora.com>
    Tested-by: Thorsten Behrens <thorsten.behr...@collabora.com>

diff --git a/download.lst b/download.lst
index a62ff49ca076..b3c9329412c1 100644
--- a/download.lst
+++ b/download.lst
@@ -470,8 +470,8 @@ LIBPNG_TARBALL := libpng-1.6.44.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-POPPLER_SHA256SUM := 
8199532d38984fab46dbd0020ec9c40f20e928e33e9b4cc6043572603a821d83
-POPPLER_TARBALL := poppler-25.06.0.tar.xz
+POPPLER_SHA256SUM := 
c504a9066dbdfebe377ad53cec641fd971ee96c4e1e8ca74e6c9c03d46d817ae
+POPPLER_TARBALL := poppler-25.07.0.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/poppler/std_span.patch.1 
b/external/poppler/std_span.patch.1
index 757243674da8..2e27b1812115 100644
--- a/external/poppler/std_span.patch.1
+++ b/external/poppler/std_span.patch.1
@@ -48,3 +48,64 @@ replace C++20 std::span with o3tl::span
  
  //------------------------------------------------------------------------
  
+--- poppler/fofi/FoFiBase.h.orig       2025-08-08 10:53:11.909805257 +0200
++++ poppler/fofi/FoFiBase.h    2025-08-08 10:53:32.743052104 +0200
+@@ -30,7 +30,8 @@
+ #include <cstddef>
+ #include <optional>
+ #include <vector>
+-#include <span>
++#include <o3tl/span.hxx>
++namespace std { using o3tl::span; }
+ 
+ //------------------------------------------------------------------------
+ 
+--- poppler/fofi/FoFiType1C.cc.orig    2025-08-08 11:07:35.921045067 +0200
++++ poppler/fofi/FoFiType1C.cc 2025-08-08 11:07:41.092126443 +0200
+@@ -1820,7 +1820,7 @@
+     // some tools embed Type 1C fonts with an extra whitespace char at
+     // the beginning
+     if (!file.empty() && file[0] != '\x01') {
+-        file = file.subspan(1);
++        file = std::span(file.data() + 1, file.size() - 1);
+     }
+ 
+     // find the indexes
+--- poppler/poppler/PSOutputDev.cc.orig2       2025-08-08 11:14:15.458117801 
+0200
++++ poppler/poppler/PSOutputDev.cc     2025-08-08 11:14:35.087228506 +0200
+@@ -2360,7 +2360,7 @@
+     // convert it to a Type 1 font
+     std::optional<std::vector<unsigned char>> fontBuf = 
font->readEmbFontFile(xref);
+     if (fontBuf) {
+-        if (std::unique_ptr<FoFiTrueType> ffTT = 
FoFiTrueType::make(std::span(fontBuf.value()), faceIndex)) {
++        if (std::unique_ptr<FoFiTrueType> ffTT = 
FoFiTrueType::make(std::span<unsigned char>(fontBuf.value()), faceIndex)) {
+             if (ffTT->isOpenTypeCFF()) {
+                 ffTT->convertToType1(psName->c_str(), nullptr, true, 
outputFunc, outputStream);
+             }
+@@ -2382,7 +2382,7 @@
+     // convert it to a Type 42 font
+     std::optional<std::vector<unsigned char>> fontBuf = 
font->readEmbFontFile(xref);
+     if (fontBuf) {
+-        if (std::unique_ptr<FoFiTrueType> ffTT = 
FoFiTrueType::make(std::span(fontBuf.value()), faceIndex)) {
++        if (std::unique_ptr<FoFiTrueType> ffTT = 
FoFiTrueType::make(std::span<unsigned char>(fontBuf.value()), faceIndex)) {
+             std::vector<int> codeToGID = ((Gfx8BitFont 
*)font)->getCodeToGIDMap(ffTT.get());
+             ffTT->convertToType42(psName->c_str(), ((Gfx8BitFont 
*)font)->getHasEncoding() ? ((Gfx8BitFont *)font)->getEncoding() : nullptr, 
codeToGID, outputFunc, outputStream);
+             if (!codeToGID.empty()) {
+@@ -2516,7 +2516,7 @@
+     // convert it to a Type 0 font
+     std::optional<std::vector<unsigned char>> fontBuf = 
font->readEmbFontFile(xref);
+     if (fontBuf) {
+-        if (std::unique_ptr<FoFiTrueType> ffTT = 
FoFiTrueType::make(std::span(fontBuf.value()), faceIndex)) {
++        if (std::unique_ptr<FoFiTrueType> ffTT = 
FoFiTrueType::make(std::span<unsigned char>(fontBuf.value()), faceIndex)) {
+             if (level >= psLevel3) {
+                 // Level 3: use a CID font
+                 ffTT->convertToCIDType2(psName->c_str(), ((GfxCIDFont 
*)font)->getCIDToGID(), needVerticalMetrics, outputFunc, outputStream);
+@@ -2554,7 +2554,7 @@
+     // convert it to a Type 0 font
+     std::optional<std::vector<unsigned char>> fontBuf = 
font->readEmbFontFile(xref);
+     if (fontBuf) {
+-        if (std::unique_ptr<FoFiTrueType> ffTT = 
FoFiTrueType::make(std::span(fontBuf.value()), faceIndex)) {
++        if (std::unique_ptr<FoFiTrueType> ffTT = 
FoFiTrueType::make(std::span<unsigned char>(fontBuf.value()), faceIndex)) {
+             if (ffTT->isOpenTypeCFF()) {
+                 if (level >= psLevel3) {
+                     // Level 3: use a CID font
diff --git a/external/poppler/std_string.patch.1 
b/external/poppler/std_string.patch.1
index 3cf77b101f43..0570defa1919 100644
--- a/external/poppler/std_string.patch.1
+++ b/external/poppler/std_string.patch.1
@@ -3,8 +3,8 @@ remove C++20 starts_with
 --- poppler/goo/GooString.h.orig       2025-01-09 11:15:13.174300578 +0100
 +++ poppler/goo/GooString.h    2025-01-09 11:17:39.568825610 +0100
 @@ -237,11 +237,16 @@
+     int cmp(const std::string &str) const { return compare(str); }
      int cmp(const char *sA) const { return compare(sA); }
-     int cmpN(const char *sA, int n) const { return compare(0, n, sA); }
  
 -    // Return true if strings starts with prefix
 -    using std::string::starts_with;

Reply via email to