From 99777f11cff7babe9e599c8c284032b05ade7b6b Mon Sep 17 00:00:00 2001 From: Duncaen Date: Mon, 17 Jan 2022 13:15:07 +0100 Subject: [PATCH] scribus: add harfbuzz-3.0.0 patch --- srcpkgs/scribus/patches/harfbuzz-3.0.0.patch | 68 ++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 srcpkgs/scribus/patches/harfbuzz-3.0.0.patch diff --git a/srcpkgs/scribus/patches/harfbuzz-3.0.0.patch b/srcpkgs/scribus/patches/harfbuzz-3.0.0.patch new file mode 100644 index 00000000000..4dc4f0db4a3 --- /dev/null +++ b/srcpkgs/scribus/patches/harfbuzz-3.0.0.patch @@ -0,0 +1,68 @@ +From 1b546978bc4ea0b2a73fbe4d7cf947887e865162 Mon Sep 17 00:00:00 2001 +From: Jean Ghali +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 hbSubsetFace(hb_subset(hbFullFace.get(), hbSubsetInput.get())); + +From 68ec41169eaceea4a6e1d6f359762a191c7e61d5 Mon Sep 17 00:00:00 2001 +From: Jean Ghali +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 +--- + scribus/fonts/sfnt.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/scribus/fonts/sfnt.cpp b/scribus/fonts/sfnt.cpp +index fca8b39158..b3dfa50dc6 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 hbSubsetFace(hb_subset_or_fail(hbFullFace.get(), hbSubsetInput.get())); ++ if (hbSubsetFace.isNull()) ++ return QByteArray(); ++#else + QScopedPointer hbSubsetFace(hb_subset(hbFullFace.get(), hbSubsetInput.get())); + if (hbSubsetFace.isNull()) + return QByteArray(); ++#endif + + QScopedPointer hbSubsetBlob(hb_face_reference_blob(hbSubsetFace.get())); + if (hbSubsetBlob.isNull())