commit c670e8e1fd8cc4630b8e02f195681027edd4c19a
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Jun 12 23:16:46 2024 +0200

    poppler 24.06.1

 CMakeLists.txt   | 2 +-
 NEWS             | 3 +++
 cpp/Doxyfile     | 2 +-
 qt5/src/Doxyfile | 2 +-
 qt6/src/Doxyfile | 2 +-
 5 files changed, 7 insertions(+), 4 deletions(-)

commit 10914f82cee06ea95ace19c5d74a2c2ff2bab4dc
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Jun 12 23:15:17 2024 +0200

    Forgot to increase the SOVERSION for 24.06.0

 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 64828896a3bff4adafd2f3cac766165bb09a32a1
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Jun 2 21:05:18 2024 +0200

    poppler 24.06.0

 CMakeLists.txt   |  2 +-
 NEWS             | 15 +++++++++++++++
 cpp/Doxyfile     |  2 +-
 qt5/src/Doxyfile |  2 +-
 qt6/src/Doxyfile |  2 +-
 5 files changed, 19 insertions(+), 4 deletions(-)

commit 258f3eec8ef87be9d54847f697e2fbabc7726bf9
Author: Pablo Correa Gómez <ablocorrea@hotmail.com>
Date:   Mon Jan 22 20:39:07 2024 +0100

    glib: properly document return value from poppler_font_info_scan

 glib/demo/fonts.c        | 3 ++-
 glib/poppler-document.cc | 7 +++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

commit 71d6b59a705de051feffd2237f55820302322423
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed May 29 19:39:28 2024 +0200

    Update (C)

 poppler/CurlCachedFile.cc | 1 +
 poppler/Error.cc          | 1 +
 poppler/PSOutputDev.h     | 2 +-
 utils/pdfsig.cc           | 2 +-
 4 files changed, 4 insertions(+), 2 deletions(-)

commit 3a1d6c0e10875c9899911d0f6661c87d6f1a3dc2
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Mon May 13 09:42:25 2024 +0200

    Let GooString::format return a std::string object

    ... rathern than std::unique_ptr<GooString>.  In many cases this
    avoids
    a small heap allocation.

 fofi/FoFiTrueType.cc            |  66 +++++++--------
 fofi/FoFiType1C.cc              | 180
 ++++++++++++++++++++--------------------
 glib/poppler-document.cc        |   4 +-
 goo/GooString.cc                |   8 +-
 goo/GooString.h                 |   2 +-
 poppler/Annot.cc                |   8 +-
 poppler/CurlCachedFile.cc       |   4 +-
 poppler/PSOutputDev.cc          |  38 ++++-----
 qt5/tests/check_annotations.cpp |   4 +-
 qt5/tests/check_goostring.cpp   |  57 ++++++-------
 qt6/tests/check_annotations.cpp |   4 +-
 qt6/tests/check_goostring.cpp   |  57 ++++++-------
 utils/HtmlOutputDev.cc          |  50 +++++------
 utils/HtmlOutputDev.h           |   4 +-
 utils/pdfsig.cc                 |  10 +--
 utils/pdftohtml.cc              |   8 +-
 16 files changed, 253 insertions(+), 251 deletions(-)

commit 6da9eeac408d8daa6b882797bd20b32b284e95bb
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Tue May 7 22:02:19 2024 +0200

    writePSTextLine: Take a std::string argument

 poppler/PSOutputDev.cc | 13 +++++++------
 poppler/PSOutputDev.h  |  2 +-
 2 files changed, 8 insertions(+), 7 deletions(-)

commit 1aa70f95fae452499a7db403030ace0e819eba1e
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Tue May 7 17:52:51 2024 +0200

    HtmlImage: Store filename as std::string

    Rather than as std::unique_ptr<GooString>.  This saves
    one pointer indirection.

 utils/HtmlOutputDev.cc | 14 +++++++-------
 utils/HtmlOutputDev.h  |  2 +-
 2 files changed, 8 insertions(+), 8 deletions(-)

commit 9bf935cde5ece00c54e397620244b77303d63c11
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Wed Apr 17 10:58:14 2024 +0200

    Make GooString::formatv return std::string by value

    Rather than returning a std::unique_ptr<GooString>.
    This avoids one heap allocation for the result object.

 goo/GooString.cc       | 8 ++++----
 goo/GooString.h        | 2 +-
 poppler/Error.cc       | 5 ++---
 poppler/PSOutputDev.cc | 4 ++--
 4 files changed, 9 insertions(+), 10 deletions(-)

commit 2fb40d2db82e0650500d76b61a0fae47b49d4193
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed May 29 19:19:28 2024 +0200

    Update (C)

 poppler/CairoOutputDev.cc | 2 +-
 poppler/CairoOutputDev.h  | 2 +-
 poppler/Catalog.cc        | 1 +
 poppler/Stream.h          | 1 +
 4 files changed, 4 insertions(+), 2 deletions(-)

commit a63248281d5162047e8640c3275f65fc4c1e8e6e
Author: Fernando Herrera <fherrera@onirica.com>
Date:   Wed May 29 17:18:31 2024 +0000

    Fix BaseMemStream::getPos casting

 poppler/Stream.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b6edd41c86d391dea3bd866b4ef65deb41405937
Author: Hubert Figuiere <hub@figuiere.net>
Date:   Sun May 26 08:53:14 2024 +0000

    poppler/Catalog: call getNumPages() only once in findPage()

 poppler/Catalog.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 9a8599e938565cb9c1417aba718aaa5f5aa441d9
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat May 25 13:49:38 2024 +0930

    Remove all cairo include guards for cairo < 1.16

 poppler/CairoOutputDev.cc | 347
 +---------------------------------------------
 poppler/CairoOutputDev.h  |  18 ---
 2 files changed, 4 insertions(+), 361 deletions(-)

commit eca654a789cdd1ddbafbf17d49fd1ca1670f407f
Author: Carl Schwan <carl@carlschwan.eu>
Date:   Wed May 15 00:42:01 2024 +0200

    Update Qt6 doc example

    Poppler::Document and Poppler::Page are now wrapped inside unique
    pointers.

 qt6/src/Mainpage.dox | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

commit 50659bc5242852e6828a017eadc5ff374b9b6524
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue May 14 00:06:29 2024 +0200

    Use the non deprecated version of QString::fromUcs4

 qt6/tests/check_utf8document.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6522a8c8ae80941a5483d70e985939cb0678c141
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri May 3 00:00:19 2024 +0200

    Update (C)

 poppler/CairoFontEngine.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fceaba5461e276121e50d858169a53f7434b1e05
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu May 2 23:58:38 2024 +0200

    Fix MSVC build

 poppler/PDFDoc.cc | 1 +
 1 file changed, 1 insertion(+)

commit 574dccdf745232aceea1d569461d7e5c217796a9
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Thu May 2 16:16:05 2024 +0200

    Fix msvc build

    Apparantly, msvc can't handle defaulted constructors where the class
    contains a incomplete type in a unique_ptr.

    Move the defaulted constructor implementation to cpp file to ensure it
    is no longer a incomplete type

 poppler/SignatureInfo.cc | 1 +
 poppler/SignatureInfo.h  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

commit 9e4d8d56f73989efb11925588592797f1a8db1f7
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu May 2 16:24:24 2024 +0930

    Adding missing restoreState()

 poppler/CairoFontEngine.cc | 1 +
 1 file changed, 1 insertion(+)

commit 16ff06df9e793d85162096f59d9f9545e07d4aa4
Author: Albert Astals Cid <aacid@kde.org>
Date:   Thu May 2 00:29:12 2024 +0200

    Update (C)

 poppler/PDFDoc.cc                            | 2 +-
 poppler/Stream.cc                            | 1 +
 poppler/Stream.h                             | 1 +
 qt5/src/poppler-qiodeviceoutstream-private.h | 1 +
 qt5/src/poppler-qiodeviceoutstream.cc        | 1 +
 qt6/src/poppler-qiodeviceoutstream-private.h | 1 +
 qt6/src/poppler-qiodeviceoutstream.cc        | 1 +
 7 files changed, 7 insertions(+), 1 deletion(-)

commit f265e5aba50b6811471bd7e3a07944dfeeb85186
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Mon Apr 22 14:14:30 2024 +0200

    copy data streams in 4096 chunks rather than a byte at time

 poppler/PDFDoc.cc                            | 24
 +++++++++++++++---------
 poppler/Stream.cc                            |  5 +++++
 poppler/Stream.h                             |  5 +++++
 qt5/src/poppler-qiodeviceoutstream-private.h |  1 +
 qt5/src/poppler-qiodeviceoutstream.cc        |  5 +++++
 qt6/src/poppler-qiodeviceoutstream-private.h |  1 +
 qt6/src/poppler-qiodeviceoutstream.cc        |  5 +++++
 7 files changed, 37 insertions(+), 9 deletions(-)

commit 092a012fe17196b35e640a7ca3802538c75fbf78
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Mon Apr 22 14:15:45 2024 +0200

    Use std::span for some data, size combos

    With c++20, we have std::span which is a nice wrapper around a pointer
    and a length. Use that rather than carry them around by themselves.

    We also have std::span created transparantly from vectors and stuff

 poppler/CharCodeToUnicode.cc       |  2 +-
 poppler/TextOutputDev.cc           |  4 ++--
 poppler/UTF.cc                     | 25 +++++++++++++------------
 poppler/UTF.h                      |  5 +++--
 qt5/tests/check_utf_conversion.cpp |  2 +-
 qt6/tests/check_utf_conversion.cpp |  2 +-
 6 files changed, 21 insertions(+), 19 deletions(-)

commit 14191296ae72398638d2a4af67d783ee120a998c
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed May 1 19:42:56 2024 +0200

    poppler 24.05.0

 CMakeLists.txt         |  2 +-
 NEWS                   | 28 ++++++++++++++++++++++++++++
 cpp/CMakeLists.txt     |  2 +-
 cpp/Doxyfile           |  2 +-
 qt5/src/CMakeLists.txt |  2 +-
 qt5/src/Doxyfile       |  2 +-
 qt6/src/CMakeLists.txt |  2 +-
 qt6/src/Doxyfile       |  2 +-
 8 files changed, 35 insertions(+), 7 deletions(-)

commit 2f11d814e54d1329985c2f60b7b6fe2d1882a9a6
Author: Albert Astals Cid <aacid@kde.org>
Date:   Tue Apr 23 14:15:24 2024 +0200

    Update (C)

 poppler/Catalog.cc | 2 +-
 poppler/PDFDoc.cc  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit fe9fe140aee72a41a2add7db7f7b0dae7cb55700
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 14:22:08 2024 +0200

    signing: Fix modifying the AcroForm dict when it's embedded in
    the Catalog

 poppler/Catalog.cc | 1 +
 poppler/PDFDoc.cc  | 2 ++
 2 files changed, 3 insertions(+)

commit eac1adcbc2246fd1ad22e8336d050a71cbf03804
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 19:32:24 2024 +0200

    Update nss to the actual release version of Ubuntu 22.04

 CMakeLists.txt               | 2 +-
 cmake/modules/FindNSS3.cmake | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit ad67d43e7786eaf364c20f76c68810ad254a994d
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 15:56:54 2024 +0200

    Increase android-qt images

    Allows us increasing the min freetype

 .gitlab-ci.yml | 16 ++++++++--------
 CMakeLists.txt |  2 +-
 2 files changed, 9 insertions(+), 9 deletions(-)

commit b81b2851feb114c2896ee0a441fe492500f0b3ca
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 15:21:09 2024 +0200

    Increase Minimum supported base to that provided by Ubuntu 22.04

 .gitlab-ci.yml               | 10 +++-------
 CMakeLists.txt               | 14 +++++++-------
 cmake/modules/FindNSS3.cmake |  2 +-
 qt5/CMakeLists.txt           |  2 +-
 utils/CMakeLists.txt         |  7 +------
 5 files changed, 13 insertions(+), 22 deletions(-)

commit 06e0b89c2f64580eaac5e09a729b52668b09c106
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 10:17:03 2024 +0200

    Fix crash in broken files

    oss-fuzz/57874

 poppler/Object.h | 18 +++++++++++++++++-
 poppler/XRef.cc  | 12 +++++++++++-
 poppler/XRef.h   |  4 +++-
 3 files changed, 31 insertions(+), 3 deletions(-)

commit fd98a72b6a72bb6e395ef70ae2527477496db6f5
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 10:53:15 2024 +0200

    Fix crash in TextStringToUtf8

    utf16ToUtf8 expects a null ended string

 poppler/UTF.cc | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit 103fc977d30fa6b3df8d3a018e970230e9661933
Author: Ömer Fadıl USTA <omerusta@gmail.com>
Date:   Mon Apr 22 08:56:26 2024 +0000

    Add Missing headers to fix compile problems

 CMakeLists.txt | 2 ++
 1 file changed, 2 insertions(+)

commit 87fc0028b69acd8f5679a9fe213f94d081fa28e3
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 22 10:14:27 2024 +0200

    Update (C)

 glib/poppler-form-field.cc           | 2 +-
 poppler/CryptoSignBackend.h          | 2 +-
 poppler/Form.cc                      | 2 +-
 poppler/Form.h                       | 2 +-
 poppler/GPGMECryptoSignBackend.cc    | 3 ++-
 poppler/GPGMECryptoSignBackend.h     | 3 ++-
 poppler/NSSCryptoSignBackend.cc      | 2 +-
 poppler/NSSCryptoSignBackend.h       | 2 +-
 poppler/SignatureInfo.cc             | 2 +-
 poppler/SignatureInfo.h              | 2 +-
 qt5/src/poppler-form.cc              | 2 +-
 qt5/src/poppler-form.h               | 2 +-
 qt5/tests/check_signature_basics.cpp | 2 +-
 qt6/src/poppler-form.cc              | 2 +-
 qt6/src/poppler-form.h               | 2 +-
 qt6/tests/check_signature_basics.cpp | 2 +-
 16 files changed, 18 insertions(+), 16 deletions(-)

commit d40bb7e308c9e3299e50d3e2880229cd6272587e
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Sun Apr 21 17:31:19 2024 +0000

    Async api for certificate validation

 glib/poppler-form-field.cc           |  7 +--
 poppler/CryptoSignBackend.h          |  6 ++-
 poppler/Form.cc                      | 51 ++++++++++++++++---
 poppler/Form.h                       | 23 +++++++--
 poppler/GPGMECryptoSignBackend.cc    | 77 ++++++++++++++++++++++------
 poppler/GPGMECryptoSignBackend.h     |  6 ++-
 poppler/NSSCryptoSignBackend.cc      | 63 +++++++++++++++++------
 poppler/NSSCryptoSignBackend.h       |  7 ++-
 poppler/SignatureInfo.cc             | 10 ----
 poppler/SignatureInfo.h              |  3 --
 qt5/src/poppler-form.cc              | 98
 +++++++++++++++++++++++++-----------
 qt5/src/poppler-form.h               | 63 +++++++++++++++++++++--
 qt5/tests/check_signature_basics.cpp |  6 ++-
 qt5/tests/poppler-forms.cpp          |  7 ++-
 qt6/src/poppler-form.cc              | 98
 +++++++++++++++++++++++++-----------
 qt6/src/poppler-form.h               | 63 +++++++++++++++++++++--
 qt6/tests/check_signature_basics.cpp |  6 ++-
 qt6/tests/poppler-forms.cpp          |  2 +
 utils/pdfsig.cc                      | 15 +++++-
 19 files changed, 477 insertions(+), 134 deletions(-)

commit e6879d35f23e436b4fc1a55b957998a834cf1691
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Apr 21 11:00:20 2024 +0200

    Increase version

    This way people building from master can adapt to the new API already

 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7bddce7e20ac14024ec84762668fca98a3e2c7c2
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Sat Apr 20 06:46:11 2024 +0200

    Remove redundant conditional

    The condition u[i] < 0x7F was checked twice.

 utils/HtmlOutputDev.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 5aa5d29c32b404cdc4c8d1a67b3b1bc8f068976d
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Apr 20 16:46:55 2024 +0200

    Update (C)

 poppler/PageLabelInfo.cc | 1 +
 poppler/TextOutputDev.cc | 2 +-
 poppler/UTF.h            | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

commit 2ce8812b658e5710ad907bb5d372c64bd61b6d57
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Apr 10 01:28:46 2024 +0200

    cpp: Fix crash extracting text and font in some files

    Issue reported and patch suggestion by Samad Koita and Aviral Agarwal

    Fixes issue #1477

 poppler/TextOutputDev.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 941666ce0c8e20087d6c006f7bc09ecd0ec84e8f
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sat Apr 20 12:57:54 2024 +0200

    Fix build after rebase

 poppler/PSOutputDev.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 081352cf9fa600c68ee1bebc457cee88fed6f94d
Author: Sune Vuorela <sune@vuorela.dk>
Date:   Wed Apr 3 14:30:12 2024 +0200

    pdftops: Write compliant ps header

    According to the postscript spec, only DSC Comments are allowed in the
    header.

    %%Creator is the header for the software used to generate the
    postscript
    file, which is pdftops in this case, and not as such the generator for
    the pdf file. I've chosen to, if available, keep the pdf creator as a
    substring in the %%Creator field.

    Originates in
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1068307

 poppler/PSOutputDev.cc | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

commit c5684e7697a070d7ecdf4114788ae76d57ef18b2
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Tue Apr 9 21:02:39 2024 +0200

    Add tests for fakebold text

 qt5/tests/check_actualtext.cpp | 61
 ++++++++++++++++++++++++++++++++++++++++++
 qt6/tests/check_actualtext.cpp | 61
 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 122 insertions(+)

commit 05121ab78f8208aa3d35cf5ccf96e84092089acc
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Wed Apr 17 10:23:11 2024 +0200

    Move move prependUnicodeMarker to UTF.h

    ... and rename it to prependUnicodeByteOrderMark.

    Now all unicode code has moved from GooString.h to UTF.h.

 glib/poppler-document.cc |  2 +-
 goo/GooString.cc         |  5 -----
 goo/GooString.h          |  2 --
 poppler/Annot.cc         | 12 ++++++------
 poppler/Form.cc          |  6 +++---
 poppler/UTF.h            |  6 ++++++
 6 files changed, 16 insertions(+), 17 deletions(-)

commit 1f06dca08c32ed18c3030530d98a0e30d41dd7a2
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Wed Apr 17 09:23:46 2024 +0200

    Move method GooString::hasUnicodeMarkerLE to UTF.h

    ... and rename it to hasUnicodeByteOrderMarkLE.

    This allows to replace GooString by std::string in a few places.
    (In a future commit)

 cpp/poppler-private.cpp    |  2 +-
 glib/poppler-document.cc   |  2 +-
 goo/GooString.h            |  3 ---
 poppler/UTF.cc             |  2 +-
 poppler/UTF.h              | 11 ++++++++++-
 qt5/src/poppler-private.cc |  2 +-
 qt6/src/poppler-private.cc |  2 +-
 7 files changed, 15 insertions(+), 9 deletions(-)

commit 98fabb298b0e8eaef9193bbce68c99c85473a314
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Mon Apr 8 07:50:40 2024 +0200

    Move method GooString::hasUnicodeMarker to UTF.h

    ... and rename it to hasUnicodeByteOrderMark.

    This allows to replace GooString by std::string in a few places.
    (In a future commit)

 cpp/poppler-private.cpp           |  4 +++-
 glib/poppler-document.cc          |  8 ++++----
 goo/GooString.h                   |  2 --
 poppler/Annot.cc                  | 23 ++++++++++++-----------
 poppler/Form.cc                   | 15 ++++++++-------
 poppler/PDFDoc.cc                 |  4 ++--
 poppler/PageLabelInfo.cc          |  4 ++--
 poppler/PageLabelInfo_p.h         |  5 +++--
 poppler/UTF.cc                    |  6 +++---
 poppler/UTF.h                     |  6 ++++++
 qt5/src/poppler-private.cc        |  5 +++--
 qt5/tests/check_pagelabelinfo.cpp |  2 +-
 qt5/tests/check_strings.cpp       |  4 +++-
 qt6/src/poppler-private.cc        |  5 +++--
 qt6/tests/check_pagelabelinfo.cpp |  2 +-
 qt6/tests/check_strings.cpp       |  3 ++-
 utils/pdfdetach.cc                |  9 +++++----
 utils/pdftohtml.cc                |  5 +++--
 18 files changed, 64 insertions(+), 48 deletions(-)

commit c60e2ce44ae1c0af902c5139a4570d36e1b602cc
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Apr 10 01:07:52 2024 +0200

    Update (C)

 poppler/Annot.cc        | 2 +-
 poppler/Form.cc         | 2 +-
 poppler/GfxFont.cc      | 1 +
 qt5/src/poppler-page.cc | 1 +
 qt6/src/poppler-page.cc | 1 +
 5 files changed, 5 insertions(+), 2 deletions(-)

commit a4f034830da8045981523fdad9f54b545bfd529e
Author: Nicolas Fella <nicolas.fella@kdab.com>
Date:   Mon Apr 8 16:29:23 2024 +0200

    Fix text position in drawSignatureFieldText

    When centering vertically we calculate the y offset based on the
    height of the text and the annotation

    When doing that we must ignore the border width, otherwise the text
    is offset downwards

 poppler/Annot.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 750bb558f094c8f25e53f212049fa83ee8f705b9
Author: Nicolas Fella <nicolas.fella@kdab.com>
Date:   Mon Apr 8 17:10:48 2024 +0200

    Take border into account also for height when determining signature
    font size

    The border reduces the available height, so take it into account
    for the height too, not only the width

 poppler/Form.cc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 58f721067044baeee1ac56cdc679cc5e97dcbd69
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Sat Mar 30 19:24:12 2024 +0100

    Fix Qt text extraction for Landscape/Seascape pages

    TextOutputDev::getText expects rotated coordinates, e.g. the correct
    bounds for an A4 Landscape page are {0, 0, 842, 595}.

 qt5/src/poppler-page.cc        | 6 +++++-
 qt5/tests/check_actualtext.cpp | 1 -
 qt6/src/poppler-page.cc        | 6 +++++-
 qt6/tests/check_actualtext.cpp | 1 -
 4 files changed, 10 insertions(+), 4 deletions(-)

commit 7ecb49e8cf696e836663afa159c4ae809b3861a7
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Sat Mar 30 19:20:38 2024 +0100

    Cover Landscape etc in Qt Page::text tests

    Currently, the "Lanscape" with default page rectangle test fails,
    as the
    page orientation is not taken into account.

    (Seascape is also incorrect, but as the text lies inside the unrotated
    A4 cropbox rectangle (bottom left), the text is extracted.)

 qt5/tests/check_actualtext.cpp | 50
 ++++++++++++++++++++++++++++++++++++++++++
 qt6/tests/check_actualtext.cpp | 50
 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 100 insertions(+)

commit 0f1ad3e4c1e4baacaec1771af23e4706a2d25cff
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Sat Mar 30 14:21:24 2024 +0100

    Extend unit tests for Qt Page::text functionality

    The unit tests only covered extraction from the whole page, make sure
    the various cases for smaller selections are also covered.

 qt5/tests/check_actualtext.cpp | 35 ++++++++++++++++++++++++++++++-----
 qt6/tests/check_actualtext.cpp | 35 ++++++++++++++++++++++++++++++-----
 2 files changed, 60 insertions(+), 10 deletions(-)

commit a741a6ef9062ba3733f0cab7a6b1d55bec2b53df
Author: Nelson Benítez León <nbenitezl@gmail.com>
Date:   Sat Apr 6 21:52:05 2024 +0100

    Assume "Adobe-Identity" for character collection

    When 'CIDSystemInfo' dictionary is absent or
    has invalid content, instead of aborting the font
    because we cannot read the character collection,
    let's assume in that case character collection
    to be "Adobe-Identity".

    Fixes #1465 - Does not show text of Apple-edited PDFs

 poppler/GfxFont.cc | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

commit bc3f42f45a15848aba686e7b493747c1a62b7c41
Author: Albert Astals Cid <aacid@kde.org>
Date:   Fri Apr 5 13:58:52 2024 +0200

    Update (C)

 goo/GooString.cc        | 2 +-
 goo/GooString.h         | 2 +-
 poppler/Form.cc         | 2 +-
 poppler/GfxFont.cc      | 2 +-
 poppler/GlobalParams.cc | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

commit 088d83e45c53afeb7124f741e9539a28c7240686
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Thu Apr 4 11:54:22 2024 +0200

    Remove method GooString::clear

    Use std::string::clear instead.  The only difference between the two
    is that GooString::clear returns the empty string, whereas
    std::string::clear does not. But apparently this feature of
    GooString::clear was not used anywhere.

 goo/GooString.h | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

commit fbb64544e5ea25ac9b1bd25b48043d074efe9cd9
Author: Oliver Sander <oliver.sander@tu-dresden.de>
Date:   Thu Apr 4 10:06:56 2024 +0200

    Remove GooString::startsWith and GooString::endsWith

    Starting with C++20, the std::string class has methods
    starts_with and ends_with, which do the same thing.
    Use those instead.

 goo/GooString.cc        | 10 ----------
 goo/GooString.h         |  8 +++-----
 poppler/Form.cc         |  4 ++--
 poppler/GfxFont.cc      |  2 +-
 poppler/GlobalParams.cc |  6 +++---
 5 files changed, 9 insertions(+), 21 deletions(-)

commit 508affb41a197895ce6af32d2404b8c7b812a70f
Author: Albert Astals Cid <aacid@kde.org>
Date:   Wed Apr 3 22:28:36 2024 +0200

    Update (C)

 cpp/poppler-global.h | 1 +
 1 file changed, 1 insertion(+)

commit 7f62fdb0c120f5e9d4add5b8a985e145f2b7371d
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 31 17:52:28 2024 +0200

    pdfdetach: find -> starts_with

 utils/pdfdetach.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit b4ac7d9af7cb5edfcfcbda035ed8b8c218ba8564
Author: LinuxUserGD <hugegameartgd@gmail.com>
Date:   Wed Apr 3 15:21:15 2024 +0200

    Change type to `std::basic_string<char16_t>`
    Deprecated `char_traits` template has been removed in LLVM 19

 cpp/poppler-global.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ff055f872aa31a548e1d73f4ea0d9394ba39d62c
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Mon Apr 1 16:56:26 2024 +0200

    Regenerate pot/po files only if input has changed

    A custom target with ALL is always generated, even if the
    files/outputs
    specified with DPENDS are not changed.

    This can be solved by generating the POT files with a custom_command.
    The target triggers evaluation of the custom_command, but the
    latter will
    only be run if the dependencies have changed.

    Fixes #1479

 utils/po/CMakeLists.txt | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 0aa1fe5c30a6c467c91bad8d81bd6c2f57fcb726
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Apr 1 09:49:15 2024 +0200

    poppler 24.04.0

 CMakeLists.txt   |  4 ++--
 NEWS             | 16 ++++++++++++++++
 cpp/Doxyfile     |  2 +-
 qt5/src/Doxyfile |  2 +-
 qt6/src/Doxyfile |  2 +-
 5 files changed, 21 insertions(+), 5 deletions(-)

commit 199ccde44be1879bf5caa8bcbc050c1ef0327849
Author: Nelson Benítez León <nbenitezl@gmail.com>
Date:   Sat Mar 9 00:48:59 2024 +0000

    reset clipping path when the state is restored

    According to the specification, see NOTE 2 in
    https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf#G7.3882161

    it appears that the clipping path should be reset
    when the restore (Q) operator is encountered.

    Fixes #739

 poppler/Gfx.cc | 1 +
 1 file changed, 1 insertion(+)

commit 0d5431dba10c531b6e6897e088c1c6ccec84ef55
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 31 17:50:50 2024 +0200

    CI: Update the hack to change c++ standard to 23 in the clang build

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d8ae3ba659c71b4f5913ecf74d525461bb831366
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Feb 4 14:06:00 2024 +0100

    Require C++20

    I want to use std::string::starts_with

 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1446d1fd2186e6573e737406c02a54c36fe1ad71
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 31 17:12:43 2024 +0200

    CI: Use Fedora for clazy, it's newer and built against a newer clang

 .gitlab-ci.yml             | 10 +++++++---
 poppler/FlateEncoder.cc    |  2 +-
 qt6/tests/check_search.cpp |  4 ++--
 3 files changed, 10 insertions(+), 6 deletions(-)

commit 80e0519077f74e2591d45e70801f6c3f2fe2c362
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 31 17:02:34 2024 +0200

    qt: Include less files

 qt5/tests/check_actualtext.cpp                | 2 +-
 qt5/tests/check_annotations.cpp               | 2 +-
 qt5/tests/check_attachments.cpp               | 2 +-
 qt5/tests/check_cidfontswidthsbuilder.cpp     | 2 +-
 qt5/tests/check_dateConversion.cpp            | 2 +-
 qt5/tests/check_distinguished_name_parser.cpp | 2 +-
 qt5/tests/check_fonts.cpp                     | 2 +-
 qt5/tests/check_forms.cpp                     | 2 +-
 qt5/tests/check_goostring.cpp                 | 2 +-
 qt5/tests/check_internal_outline.cpp          | 3 ++-
 qt5/tests/check_lexer.cpp                     | 2 +-
 qt5/tests/check_links.cpp                     | 2 +-
 qt5/tests/check_metadata.cpp                  | 2 +-
 qt5/tests/check_object.cpp                    | 2 +-
 qt5/tests/check_optcontent.cpp                | 2 +-
 qt5/tests/check_outline.cpp                   | 2 +-
 qt5/tests/check_overprint.cpp                 | 2 +-
 qt5/tests/check_pagelabelinfo.cpp             | 2 +-
 qt5/tests/check_pagelayout.cpp                | 2 +-
 qt5/tests/check_pagemode.cpp                  | 2 +-
 qt5/tests/check_password.cpp                  | 2 +-
 qt5/tests/check_permissions.cpp               | 2 +-
 qt5/tests/check_search.cpp                    | 2 +-
 qt5/tests/check_signature_basics.cpp          | 2 +-
 qt5/tests/check_strings.cpp                   | 2 +-
 qt5/tests/check_stroke_opacity.cpp            | 2 +-
 qt5/tests/check_utf8document.cpp              | 2 +-
 qt5/tests/check_utf_conversion.cpp            | 2 +-
 qt6/tests/check_actualtext.cpp                | 2 +-
 qt6/tests/check_annotations.cpp               | 2 +-
 qt6/tests/check_attachments.cpp               | 2 +-
 qt6/tests/check_cidfontswidthsbuilder.cpp     | 2 +-
 qt6/tests/check_dateConversion.cpp            | 2 +-
 qt6/tests/check_distinguished_name_parser.cpp | 2 +-
 qt6/tests/check_fonts.cpp                     | 2 +-
 qt6/tests/check_forms.cpp                     | 2 +-
 qt6/tests/check_goostring.cpp                 | 2 +-
 qt6/tests/check_internal_outline.cpp          | 3 ++-
 qt6/tests/check_lexer.cpp                     | 2 +-
 qt6/tests/check_links.cpp                     | 2 +-
 qt6/tests/check_metadata.cpp                  | 2 +-
 qt6/tests/check_object.cpp                    | 2 +-
 qt6/tests/check_optcontent.cpp                | 2 +-
 qt6/tests/check_outline.cpp                   | 2 +-
 qt6/tests/check_overprint.cpp                 | 2 +-
 qt6/tests/check_pagelabelinfo.cpp             | 2 +-
 qt6/tests/check_pagelayout.cpp                | 2 +-
 qt6/tests/check_pagemode.cpp                  | 2 +-
 qt6/tests/check_password.cpp                  | 2 +-
 qt6/tests/check_permissions.cpp               | 2 +-
 qt6/tests/check_search.cpp                    | 2 +-
 qt6/tests/check_signature_basics.cpp          | 2 +-
 qt6/tests/check_strings.cpp                   | 2 +-
 qt6/tests/check_stroke_opacity.cpp            | 2 +-
 qt6/tests/check_utf8document.cpp              | 2 +-
 qt6/tests/check_utf_conversion.cpp            | 2 +-
 56 files changed, 58 insertions(+), 56 deletions(-)

commit ec2427b7cb92cda6cd7bc9b1d3117552a65d518e
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 31 16:32:36 2024 +0200

    CI: Use fedora 40

 .gitlab-ci.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d7e54f88c981f26b9477b2330070dccbdbbbdb55
Author: Albert Astals Cid <aacid@kde.org>
Date:   Sun Mar 31 11:42:11 2024 +0200

    Update (C)

 poppler/TextOutputDev.cc | 3 ++-
 poppler/TextOutputDev.h  | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

commit f26b292412a9266aab46deb2ce1ffc4d016cc573
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Thu Mar 28 02:37:09 2024 +0100

    Reduce worst case algorithmic complexity of TextBlock::coalesce

    The old algorithm restarts the inner loop for the RHS word from the
    beginning on each match, i.e. the worst case complexity approaches
    O(N^3), while O(N^2) is obviously sufficient for a pairwise compare of
    all words. Fortunately, O(N^2) is hardly ever happening, as the
    inner N
    is limited by a) the maxBaseIdx, b) removing duplicates from the set.

    For some pathological cases this changes the runtime from minutes to
    seconds.

    See poppler#1173.

 poppler/TextOutputDev.cc | 109
 ++++++++++++++++++++++++++---------------------
 1 file changed, 60 insertions(+), 49 deletions(-)

commit 835987362d9873cf98cc3f86959910ff2107a509
Author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Date:   Sun Mar 24 00:31:52 2024 +0100

    Reduce TextWord space and allocation overhead

    Currently, the word characters are allocated as a struct of arrays,
    e.g. text and charcode are allocated separately.

    This causes some space (6 pointers, 6 malloc chunk management
    words (size_t/flags), alignment, ...) and runtime overhead (6 allocs/
    frees per word).

    Changing this to an array of struct reduces this overhead. It
    also allows
    to be more conservative with allocations, as resizing is less
    costly, i.e.
    starting with a single character allocation instead of 16. It is
    also more
    efficient, as most accesses affect multiple or all attributes, i.e.
    values in the same or neighboring CPU cache lines.

    Using a std::vector instead of separate raw arrays also reduces code
    and manual data management.

    The "charPos end index" and trailing "edge" attributes are no
    longer stored as an additional entry entry in the array, but as
    dedicated
    data members, `charPosEnd` and `edgeEnd`.

    The memory saving is most notably for short words, but even for words
    with 16 characters there are small savings, and still less allocations
    (1 + 4 allocations instead of 6. Growing is fairly cheap, as the
    CharInfo
    struct is trivially copyable.)

    See poppler#1173.

 poppler/TextOutputDev.cc | 378
 ++++++++++++++++++++++-------------------------
 poppler/TextOutputDev.h  |  42 +++---
 2 files changed, 197 insertions(+), 223 deletions(-)

