commit:     7b8c6af798cc7d82e658888be5e6699558016dd3
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 10 00:54:34 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Oct 10 00:54:34 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b8c6af7

app-office/scribus: fix with Harfbuzz 3 (again)

Bug: https://bugs.gentoo.org/813711
Closes: https://bugs.gentoo.org/817281
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../scribus/files/scribus-1.5.8-harfbuzz-3.patch   | 41 +++++++++++++++++++++-
 1 file changed, 40 insertions(+), 1 deletion(-)

diff --git a/app-office/scribus/files/scribus-1.5.8-harfbuzz-3.patch 
b/app-office/scribus/files/scribus-1.5.8-harfbuzz-3.patch
index 11e251866f0..f1645e516fa 100644
--- a/app-office/scribus/files/scribus-1.5.8-harfbuzz-3.patch
+++ b/app-office/scribus/files/scribus-1.5.8-harfbuzz-3.patch
@@ -1,7 +1,46 @@
+https://github.com/scribusproject/scribus/commit/1b546978bc4ea0b2a73fbe4d7cf947887e865162.patch
 
https://github.com/scribusproject/scribus/commit/68ec41169eaceea4a6e1d6f359762a191c7e61d5.patch
 https://bugs.scribus.net/view.php?id=16635
+https://bugs.gentoo.org/817281
 https://bugs.gentoo.org/813711
 
+From 1b546978bc4ea0b2a73fbe4d7cf947887e865162 Mon Sep 17 00:00:00 2001
+From: Jean Ghali <[email protected]>
+Date: Sat, 21 Aug 2021 20:05:43 +0000
+Subject: [PATCH] Use new hb-subset api with harfbuzz >= 2.9.0 in order to
+ prepeare for removal of legacy API in 3.0
+
+git-svn-id: svn://scribus.net/trunk/Scribus@24696 
11d20701-8431-0410-a711-e3c959e3b870
+---
+ scribus/fonts/sfnt.cpp | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/scribus/fonts/sfnt.cpp b/scribus/fonts/sfnt.cpp
+index 50777f66e3..fca8b39158 100644
+--- a/scribus/fonts/sfnt.cpp
++++ b/scribus/fonts/sfnt.cpp
+@@ -1256,11 +1256,19 @@ namespace sfnt {
+ 
+               for (int i = 0; i < cids.count(); ++i)
+                       hb_set_add(glyphSet, cids.at(i));
+-      
++
++#if HB_VERSION_ATLEAST(2, 9, 0)
++              uint32_t subsetFlags = (uint32_t) 
hb_subset_input_get_flags(hbSubsetInput.get());
++              subsetFlags |= HB_SUBSET_FLAGS_RETAIN_GIDS;
++              subsetFlags &= ~HB_SUBSET_FLAGS_NO_HINTING;
++              subsetFlags |= HB_SUBSET_FLAGS_NAME_LEGACY;
++              hb_subset_input_set_flags(hbSubsetInput.get(), subsetFlags);
++#else
+               hb_subset_input_set_retain_gids(hbSubsetInput.get(), true);
+               hb_subset_input_set_drop_hints(hbSubsetInput.get(), false);
+ #if HB_VERSION_ATLEAST(2, 6, 5)
+               hb_subset_input_set_name_legacy(hbSubsetInput.get(), true);
++#endif
+ #endif
+ 
+               QScopedPointer<hb_face_t, HbFaceDeleter> 
hbSubsetFace(hb_subset(hbFullFace.get(), hbSubsetInput.get()));
+
 From 68ec41169eaceea4a6e1d6f359762a191c7e61d5 Mon Sep 17 00:00:00 2001
 From: Jean Ghali <[email protected]>
 Date: Sun, 19 Sep 2021 11:59:50 +0000
@@ -26,4 +65,4 @@ git-svn-id: svn://scribus.net/trunk/Scribus@24707 
11d20701-8431-0410-a711-e3c959
 +#endif
  
                QScopedPointer<hb_blob_t, HbBlobDeleter> 
hbSubsetBlob(hb_face_reference_blob(hbSubsetFace.get()));
-               if (hbSubsetBlob.isNull())
+               if (hbSubsetBlob.isNull())
\ No newline at end of file

Reply via email to