From adccc5355b695cfaaf6403a3187c67c7fcae623d Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Fri, 17 Feb 2023 12:29:42 -0700 Subject: [PATCH] [MarkBase] Adjust base-finding logic Fixes https://github.com/harfbuzz/harfbuzz/issues/4124 --- src/OT/Layout/GPOS/MarkBasePosFormat1.hh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/OT/Layout/GPOS/MarkBasePosFormat1.hh b/src/OT/Layout/GPOS/MarkBasePosFormat1.hh index 938369a50..eb4712049 100644 --- a/src/OT/Layout/GPOS/MarkBasePosFormat1.hh +++ b/src/OT/Layout/GPOS/MarkBasePosFormat1.hh @@ -133,7 +133,9 @@ struct MarkBasePosFormat1_2 auto match = skippy_iter.match (buffer->info[j - 1]); if (match == skippy_iter.MATCH) { - if (!accept (buffer, j - 1)) + // https://github.com/harfbuzz/harfbuzz/issues/4124 + if (!accept (buffer, j - 1) && + NOT_COVERED == (this+baseCoverage).get_coverage (buffer->info[j - 1].codepoint)) match = skippy_iter.SKIP; } if (match == skippy_iter.MATCH)