src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gpos-table.hh
changeset 51000 7c8841474f57
parent 50826 f5b95be8b6e2
child 54232 7c11a7cc7c1d
equal deleted inserted replaced
50999:f8038b878d27 51000:7c8841474f57
  1072     skippy_iter.set_lookup_props (LookupFlag::IgnoreMarks);
  1072     skippy_iter.set_lookup_props (LookupFlag::IgnoreMarks);
  1073     do {
  1073     do {
  1074       if (!skippy_iter.prev ()) return_trace (false);
  1074       if (!skippy_iter.prev ()) return_trace (false);
  1075       /* We only want to attach to the first of a MultipleSubst sequence.
  1075       /* We only want to attach to the first of a MultipleSubst sequence.
  1076        * https://github.com/harfbuzz/harfbuzz/issues/740
  1076        * https://github.com/harfbuzz/harfbuzz/issues/740
  1077        * Reject others. */
  1077        * Reject others...
       
  1078        * ...but stop if we find a mark in the MultipleSubst sequence:
       
  1079        * https://github.com/harfbuzz/harfbuzz/issues/1020 */
  1078       if (!_hb_glyph_info_multiplied (&buffer->info[skippy_iter.idx]) ||
  1080       if (!_hb_glyph_info_multiplied (&buffer->info[skippy_iter.idx]) ||
  1079           0 == _hb_glyph_info_get_lig_comp (&buffer->info[skippy_iter.idx]) ||
  1081           0 == _hb_glyph_info_get_lig_comp (&buffer->info[skippy_iter.idx]) ||
  1080           (skippy_iter.idx == 0 ||
  1082           (skippy_iter.idx == 0 ||
       
  1083            _hb_glyph_info_is_mark (&buffer->info[skippy_iter.idx - 1]) ||
  1081            _hb_glyph_info_get_lig_id (&buffer->info[skippy_iter.idx]) !=
  1084            _hb_glyph_info_get_lig_id (&buffer->info[skippy_iter.idx]) !=
  1082            _hb_glyph_info_get_lig_id (&buffer->info[skippy_iter.idx - 1]) ||
  1085            _hb_glyph_info_get_lig_id (&buffer->info[skippy_iter.idx - 1]) ||
  1083            _hb_glyph_info_get_lig_comp (&buffer->info[skippy_iter.idx]) !=
  1086            _hb_glyph_info_get_lig_comp (&buffer->info[skippy_iter.idx]) !=
  1084            _hb_glyph_info_get_lig_comp (&buffer->info[skippy_iter.idx - 1]) + 1
  1087            _hb_glyph_info_get_lig_comp (&buffer->info[skippy_iter.idx - 1]) + 1
  1085            ))
  1088            ))