external/poppler/StaticLibrary_poppler.mk | 13 +++++ external/poppler/disable-freetype.patch.1 | 68 ++++++++++++++++++++++++++++++ external/poppler/poppler-config.patch.1 | 2 3 files changed, 82 insertions(+), 1 deletion(-)
New commits: commit 18a1c3d6c98348d4e3da6e6c9740d6923ab2fba1 Author: Dr. David Alan Gilbert <d...@treblig.org> AuthorDate: Thu Jan 11 01:26:04 2024 +0000 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Thu Feb 29 08:20:20 2024 +0100 tdf#113050 poppler: Enable splash Enable the splash module, to be used in the xpdf conversion for tiled patterns. I've jumped through a couple of hoops to avoid splash bringing in freetype, extending the existing hack. This might cause us problems if someone tries to use text as a tile, but otherwise isOK. Change-Id: I76ad1268f44137ae5e3205d56170c3a7c55a2dc8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163560 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/external/poppler/StaticLibrary_poppler.mk b/external/poppler/StaticLibrary_poppler.mk index 7b6f958245ac..726663d983a4 100644 --- a/external/poppler/StaticLibrary_poppler.mk +++ b/external/poppler/StaticLibrary_poppler.mk @@ -136,6 +136,7 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\ UnpackedTarball/poppler/poppler/SecurityHandler \ UnpackedTarball/poppler/poppler/SignatureInfo \ UnpackedTarball/poppler/poppler/Sound \ + UnpackedTarball/poppler/poppler/SplashOutputDev \ UnpackedTarball/poppler/poppler/Stream \ UnpackedTarball/poppler/poppler/StructElement \ UnpackedTarball/poppler/poppler/StructTreeRoot \ @@ -146,7 +147,19 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\ UnpackedTarball/poppler/poppler/UnicodeTypeTable \ UnpackedTarball/poppler/poppler/ViewerPreferences \ UnpackedTarball/poppler/poppler/XRef \ + UnpackedTarball/poppler/splash/Splash \ UnpackedTarball/poppler/splash/SplashBitmap \ + UnpackedTarball/poppler/splash/SplashClip \ + UnpackedTarball/poppler/splash/SplashFont \ + UnpackedTarball/poppler/splash/SplashFontEngine \ + UnpackedTarball/poppler/splash/SplashFontFile \ + UnpackedTarball/poppler/splash/SplashFontFileID \ + UnpackedTarball/poppler/splash/SplashPath \ + UnpackedTarball/poppler/splash/SplashPattern \ + UnpackedTarball/poppler/splash/SplashScreen \ + UnpackedTarball/poppler/splash/SplashState \ + UnpackedTarball/poppler/splash/SplashXPath \ + UnpackedTarball/poppler/splash/SplashXPathScanner \ )) # vim: set noet sw=4 ts=4: diff --git a/external/poppler/disable-freetype.patch.1 b/external/poppler/disable-freetype.patch.1 index 3c4d1d0f7a8a..d12374f088f9 100644 --- a/external/poppler/disable-freetype.patch.1 +++ b/external/poppler/disable-freetype.patch.1 @@ -39,3 +39,71 @@ disable freetype dependent code } std::string Form::getFallbackFontForChar(Unicode uChar, const GfxFont &fontToEmulate) const +--- poppler/splash/SplashFontEngine.cc.orig 2024-02-21 01:28:10.479645185 +0000 ++++ popller/splash/SplashFontEngine.cc 2023-09-05 22:15:14.000000000 +0100 +@@ -66,9 +66,9 @@ + delete font; + } + +- if (ftEngine) { +- delete ftEngine; +- } ++ //if (ftEngine) { ++ // delete ftEngine; ++ //} + } + + SplashFontFile *SplashFontEngine::getFontFile(SplashFontFileID *id) +--- poppler/splash/SplashFTFontEngine.h.orig 2023-09-05 22:15:14.000000000 +0100 ++++ poppler/splash/SplashFTFontEngine.h 2024-02-21 13:53:29.715423742 +0000 +@@ -26,8 +26,8 @@ + #ifndef SPLASHFTFONTENGINE_H + #define SPLASHFTFONTENGINE_H + +-#include <ft2build.h> +-#include FT_FREETYPE_H ++//#include <ft2build.h> ++//#include FT_FREETYPE_H + + class SplashFontFile; + class SplashFontFileID; +@@ -40,7 +40,7 @@ + class SplashFTFontEngine + { + public: +- static SplashFTFontEngine *init(bool aaA, bool enableFreeTypeHintingA, bool enableSlightHinting); ++ static SplashFTFontEngine *init(bool aaA, bool enableFreeTypeHintingA, bool enableSlightHinting) { return nullptr; }; + + ~SplashFTFontEngine(); + +@@ -48,22 +48,22 @@ + SplashFTFontEngine &operator=(const SplashFTFontEngine &) = delete; + + // Load fonts. +- SplashFontFile *loadType1Font(SplashFontFileID *idA, SplashFontSrc *src, const char **enc); +- SplashFontFile *loadType1CFont(SplashFontFileID *idA, SplashFontSrc *src, const char **enc); +- SplashFontFile *loadOpenTypeT1CFont(SplashFontFileID *idA, SplashFontSrc *src, const char **enc); +- SplashFontFile *loadCIDFont(SplashFontFileID *idA, SplashFontSrc *src); +- SplashFontFile *loadOpenTypeCFFFont(SplashFontFileID *idA, SplashFontSrc *src, int *codeToGID, int codeToGIDLen); +- SplashFontFile *loadTrueTypeFont(SplashFontFileID *idA, SplashFontSrc *src, int *codeToGID, int codeToGIDLen, int faceIndex = 0); ++ SplashFontFile *loadType1Font(SplashFontFileID *idA, SplashFontSrc *src, const char **enc) { return nullptr; }; ++ SplashFontFile *loadType1CFont(SplashFontFileID *idA, SplashFontSrc *src, const char **enc) { return nullptr; }; ++ SplashFontFile *loadOpenTypeT1CFont(SplashFontFileID *idA, SplashFontSrc *src, const char **enc) { return nullptr; }; ++ SplashFontFile *loadCIDFont(SplashFontFileID *idA, SplashFontSrc *src) { return nullptr; }; ++ SplashFontFile *loadOpenTypeCFFFont(SplashFontFileID *idA, SplashFontSrc *src, int *codeToGID, int codeToGIDLen) { return nullptr; }; ++ SplashFontFile *loadTrueTypeFont(SplashFontFileID *idA, SplashFontSrc *src, int *codeToGID, int codeToGIDLen, int faceIndex = 0) { return nullptr; }; + bool getAA() { return aa; } + void setAA(bool aaA) { aa = aaA; } + + private: +- SplashFTFontEngine(bool aaA, bool enableFreeTypeHintingA, bool enableSlightHintingA, FT_Library libA); ++ //SplashFTFontEngine(bool aaA, bool enableFreeTypeHintingA, bool enableSlightHintingA, FT_Library libA); + + bool aa; + bool enableFreeTypeHinting; + bool enableSlightHinting; +- FT_Library lib; ++ //FT_Library lib; + + friend class SplashFTFontFile; + friend class SplashFTFont; diff --git a/external/poppler/poppler-config.patch.1 b/external/poppler/poppler-config.patch.1 index 8f71e987b2b9..3604b1c16246 100644 --- a/external/poppler/poppler-config.patch.1 +++ b/external/poppler/poppler-config.patch.1 @@ -2,7 +2,7 @@ note: to get the 3rd one, use -DENABLE_CPP=on -mkdir build && cd build && cmake .. -DENABLE_DCTDECODER=libjpeg -DHAVE_CAIRO=off -DENABLE_LIBOPENJPEG=none -DENABLE_CMS=none -DENABLE_LIBCURL=off -DENABLE_ZLIB_UNCOMPRESS=off -DENABLE_GPGME=off -DENABLE_NSS3=off -DENABLE_LIBPNG=off -DENABLE_LIBTIFF=off -DENABLE_SPLASH=off -DENABLE_UTILS=off -DENABLE_CPP=off -DENABLE_GLIB=off -DENABLE_GOBJECT_INTROSPECTION=off -DENABLE_GTK_DOC=off -DENABLE_QT5=off -DENABLE_QT6=off +mkdir build && cd build && cmake .. -DENABLE_DCTDECODER=libjpeg -DHAVE_CAIRO=off -DENABLE_LIBOPENJPEG=none -DENABLE_CMS=none -DENABLE_LIBCURL=off -DENABLE_ZLIB_UNCOMPRESS=off -DENABLE_GPGME=off -DENABLE_NSS3=off -DENABLE_LIBPNG=off -DENABLE_LIBTIFF=off -DENABLE_SPLASH=on -DENABLE_UTILS=off -DENABLE_CPP=off -DENABLE_GLIB=off -DENABLE_GOBJECT_INTROSPECTION=off -DENABLE_GTK_DOC=off -DENABLE_QT5=off -DENABLE_QT6=off manually disabled these because cmake failed to do it: HAVE_CAIRO