From ddf6093991621141a803c33ff7b8d7b8f695b74f Mon Sep 17 00:00:00 2001 From: Jean Ghali Date: Sat, 21 Aug 2021 20:05:43 +0000 Subject: [PATCH 1/2] 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 (cherry picked from 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 hbSubsetFace(hb_subset(hbFullFace.get(), hbSubsetInput.get())); -- 2.33.0