summaryrefslogtreecommitdiffstats
path: root/thirdparty/harfbuzz/src/hb-ot-map.cc
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2023-07-10 00:51:41 +0300
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2023-07-10 00:51:41 +0300
commitad83a3194c821e2ce1f2c9ccd5b572aa5bd8c136 (patch)
treef36c41780d072ad14468ce88ce9ccd02324ffbf5 /thirdparty/harfbuzz/src/hb-ot-map.cc
parent85c9db592f22941ce7c2a540a526e702f4cc1848 (diff)
downloadredot-engine-ad83a3194c821e2ce1f2c9ccd5b572aa5bd8c136.tar.gz
HarfBuzz: Update to version 8.0.0
Diffstat (limited to 'thirdparty/harfbuzz/src/hb-ot-map.cc')
-rw-r--r--thirdparty/harfbuzz/src/hb-ot-map.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/thirdparty/harfbuzz/src/hb-ot-map.cc b/thirdparty/harfbuzz/src/hb-ot-map.cc
index 8882dbaccb..bacd56ef3f 100644
--- a/thirdparty/harfbuzz/src/hb-ot-map.cc
+++ b/thirdparty/harfbuzz/src/hb-ot-map.cc
@@ -213,7 +213,8 @@ hb_ot_map_builder_t::compile (hb_ot_map_t &m,
/* Sort features and merge duplicates */
if (feature_infos.length)
{
- feature_infos.qsort ();
+ if (!is_simple)
+ feature_infos.qsort ();
auto *f = feature_infos.arrayZ;
unsigned int j = 0;
unsigned count = feature_infos.length;
@@ -314,7 +315,8 @@ hb_ot_map_builder_t::compile (hb_ot_map_t &m,
map->needs_fallback = !found;
}
//feature_infos.shrink (0); /* Done with these */
-
+ if (is_simple)
+ m.features.qsort ();
add_gsub_pause (nullptr);
add_gpos_pause (nullptr);
@@ -350,7 +352,7 @@ hb_ot_map_builder_t::compile (hb_ot_map_t &m,
}
/* Sort lookups and merge duplicates */
- if (last_num_lookups < lookups.length)
+ if (last_num_lookups + 1 < lookups.length)
{
lookups.as_array ().sub_array (last_num_lookups, lookups.length - last_num_lookups).qsort ();