diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2020-06-22 22:26:59 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2020-06-22 22:26:59 +0000 |
commit | 9d59b98407e3748382ca111c76a7fe066d8816e7 (patch) | |
tree | e86295ccaea240779ec6ca7c3e615d55a94521ca /Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh | |
parent | 5aa316dade254d63421b0d2de32a1812429050af (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.hh | 13 |
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; }; |