src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsub-table.hh
changeset 48274 51772bf1fb0c
parent 47216 71c04702a3d5
child 50352 25db2c8f3cf8
--- a/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsub-table.hh	Tue Dec 05 11:04:42 2017 -0800
+++ b/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsub-table.hh	Thu Dec 07 11:55:06 2017 -0800
@@ -658,7 +658,7 @@
     if (likely (!match_input (c, count,
                               &component[1],
                               match_glyph,
-                              NULL,
+                              nullptr,
                               &match_length,
                               match_positions,
                               &is_mark_ligature,
@@ -1014,14 +1014,17 @@
     const OffsetArrayOf<Coverage> &lookahead = StructAfter<OffsetArrayOf<Coverage> > (backtrack);
     const ArrayOf<GlyphID> &substitute = StructAfter<ArrayOf<GlyphID> > (lookahead);
 
+  unsigned int start_index = 0, end_index = 0;
     if (match_backtrack (c,
                          backtrack.len, (USHORT *) backtrack.array,
-                         match_coverage, this) &&
+                         match_coverage, this,
+                         &start_index) &&
         match_lookahead (c,
                          lookahead.len, (USHORT *) lookahead.array,
                          match_coverage, this,
-                         1))
+                         1, &end_index))
     {
+      c->buffer->unsafe_to_break_from_outbuffer (start_index, end_index);
       c->replace_glyph_inplace (substitute[index]);
       /* Note: We DON'T decrease buffer->idx.  The main loop does it
        * for us.  This is useful for preventing surprises if someone