From b0b7a65388da25ae3fa01e969ad6abc67eed4f49 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 20 Oct 2022 17:13:26 -0600 Subject: [PATCH] [subset] Fix check-symbols failure Fixes https://github.com/harfbuzz/harfbuzz/issues/3850 --- src/check-symbols.py | 2 +- src/hb-subset-accelerator.hh | 5 +++-- src/hb-subset.cc | 4 ++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/check-symbols.py b/src/check-symbols.py index 11ca28dc7..d0b8bd3c8 100755 --- a/src/check-symbols.py +++ b/src/check-symbols.py @@ -31,7 +31,7 @@ for soname in ['harfbuzz', 'harfbuzz-subset', 'harfbuzz-icu', 'harfbuzz-gobject' symprefix = '_' if suffix == 'dylib' else '' EXPORTED_SYMBOLS = [s.split ()[2] - for s in re.findall (r'^.+ [BCDGIRST] .+$', subprocess.check_output (nm.split() + [so]).decode ('utf-8'), re.MULTILINE) + for s in re.findall (r'^.+ [BCDGIRSTu] .+$', subprocess.check_output (nm.split() + [so]).decode ('utf-8'), re.MULTILINE) if not re.match (r'.* %s(%s)\b' % (symprefix, IGNORED_SYMBOLS), s)] # run again c++filt also if is available diff --git a/src/hb-subset-accelerator.hh b/src/hb-subset-accelerator.hh index 34bd0534f..5652db147 100644 --- a/src/hb-subset-accelerator.hh +++ b/src/hb-subset-accelerator.hh @@ -33,12 +33,13 @@ #include "hb-map.hh" #include "hb-set.hh" +extern HB_INTERNAL hb_user_data_key_t _hb_subset_accelerator_user_data_key; + struct hb_subset_accelerator_t { static hb_user_data_key_t* user_data_key() { - static hb_user_data_key_t key; - return &key; + return &_hb_subset_accelerator_user_data_key; } static hb_subset_accelerator_t* create(const hb_map_t& unicode_to_gid_, diff --git a/src/hb-subset.cc b/src/hb-subset.cc index 6026aa6ef..de9322de3 100644 --- a/src/hb-subset.cc +++ b/src/hb-subset.cc @@ -82,6 +82,10 @@ using OT::Layout::GPOS; * retain glyph ids option and configure the subset to pass through the layout tables untouched. */ + +hb_user_data_key_t _hb_subset_accelerator_user_data_key = {}; + + /* * The list of tables in the open type spec. Used to check for tables that may need handling * if we are unable to list the tables in a face.