scribus: Fix build with harfbuzz >= 3.x
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
From 1b546978bc4ea0b2a73fbe4d7cf947887e865162 Mon Sep 17 00:00:00 2001
|
||||
From: Jean Ghali <jghali@libertysurf.fr>
|
||||
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
|
||||
|
||||
Upstream-Status: Accepted[https://github.com/scribusproject/scribus/commit/1b546978bc4ea0b2a73fbe4d7cf947887e865162]
|
||||
---
|
||||
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 50777f66e..fca8b3915 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()));
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From 68ec41169eaceea4a6e1d6f359762a191c7e61d5 Mon Sep 17 00:00:00 2001
|
||||
From: Jean Ghali <jghali@libertysurf.fr>
|
||||
Date: Sun, 19 Sep 2021 11:59:50 +0000
|
||||
Subject: [PATCH] #16635: Replace hb_subset, removed in harfbuzz 3.0, by
|
||||
hb_subset_or_fail
|
||||
|
||||
git-svn-id: svn://scribus.net/trunk/Scribus@24707 11d20701-8431-0410-a711-e3c959e3b870
|
||||
Upstream-Status: Accepted[https://github.com/scribusproject/scribus/commit/68ec41169eaceea4a6e1d6f359762a191c7e61d5]
|
||||
---
|
||||
scribus/fonts/sfnt.cpp | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/scribus/fonts/sfnt.cpp b/scribus/fonts/sfnt.cpp
|
||||
index fca8b3915..b3dfa50dc 100644
|
||||
--- a/scribus/fonts/sfnt.cpp
|
||||
+++ b/scribus/fonts/sfnt.cpp
|
||||
@@ -1271,9 +1271,15 @@ namespace sfnt {
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+#if HB_VERSION_ATLEAST(2, 9, 0)
|
||||
+ QScopedPointer<hb_face_t, HbFaceDeleter> hbSubsetFace(hb_subset_or_fail(hbFullFace.get(), hbSubsetInput.get()));
|
||||
+ if (hbSubsetFace.isNull())
|
||||
+ return QByteArray();
|
||||
+#else
|
||||
QScopedPointer<hb_face_t, HbFaceDeleter> hbSubsetFace(hb_subset(hbFullFace.get(), hbSubsetInput.get()));
|
||||
if (hbSubsetFace.isNull())
|
||||
return QByteArray();
|
||||
+#endif
|
||||
|
||||
QScopedPointer<hb_blob_t, HbBlobDeleter> hbSubsetBlob(hb_face_reference_blob(hbSubsetFace.get()));
|
||||
if (hbSubsetBlob.isNull())
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -14,7 +14,11 @@ DEPENDS += " \
|
||||
poppler \
|
||||
"
|
||||
|
||||
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-devel/${PV}/${BPN}-${PV}.tar.xz"
|
||||
SRC_URI = " \
|
||||
${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-devel/${PV}/${BPN}-${PV}.tar.xz \
|
||||
file://0001-Use-new-hb-subset-api-with-harfbuzz-2.9.0-in-order-t.patch \
|
||||
file://0002-16635-Replace-hb_subset-removed-in-harfbuzz-3.0-by-h.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "318316b2cfc7a76191d3e0d3f8c2265147daea0570162028e243c292d826f8ce"
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user