summaryrefslogtreecommitdiff
path: root/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-06-22 22:26:59 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-06-22 22:26:59 +0000
commit9d59b98407e3748382ca111c76a7fe066d8816e7 (patch)
treee86295ccaea240779ec6ca7c3e615d55a94521ca /Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh
parent5aa316dade254d63421b0d2de32a1812429050af (diff)
harfbuzz-2.6.8
git-svn-id: svn://tug.org/texlive/trunk@55630 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh')
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh13
1 files changed, 12 insertions, 1 deletions
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh
index fef88af3989..3dd09995652 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh
@@ -1692,6 +1692,12 @@ struct CursivePosFormat1
else
pos[child].x_offset = x_offset;
+ /* If parent was attached to child, break them free.
+ * https://github.com/harfbuzz/harfbuzz/issues/2469
+ */
+ if (unlikely (pos[parent].attach_chain() == -pos[child].attach_chain()))
+ pos[parent].attach_chain() = 0;
+
buffer->idx++;
return_trace (true);
}
@@ -2559,7 +2565,7 @@ struct GPOS : GSUBGPOS
bool sanitize (hb_sanitize_context_t *c) const
{ return GSUBGPOS::sanitize<PosLookup> (c); }
- HB_INTERNAL bool is_blacklisted (hb_blob_t *blob,
+ HB_INTERNAL bool is_blocklisted (hb_blob_t *blob,
hb_face_t *face) const;
void collect_variation_indices (hb_collect_variation_indices_context_t *c) const
@@ -2572,6 +2578,11 @@ struct GPOS : GSUBGPOS
}
}
+ void closure_lookups (hb_face_t *face,
+ const hb_set_t *glyphs,
+ hb_set_t *lookup_indexes /* IN/OUT */) const
+ { GSUBGPOS::closure_lookups<PosLookup> (face, glyphs, lookup_indexes); }
+
typedef GSUBGPOS::accelerator_t<GPOS> accelerator_t;
};