diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc index e24f7a837..40332d69f 100644 --- a/src/hb-ot-shape.cc +++ b/src/hb-ot-shape.cc @@ -302,15 +302,16 @@ hb_ensure_native_direction (hb_buffer_t *buffer) { if (likely (!HB_UNICODE_GENERAL_CATEGORY_IS_MARK (_hb_glyph_info_get_general_category (&info[i])))) { - buffer->reverse_range (base, i); if (buffer->cluster_level == HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS) buffer->merge_clusters (base, i); + buffer->reverse_range (base, i); + base = i; } } - buffer->reverse_range (base, count); if (buffer->cluster_level == HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS) buffer->merge_clusters (base, count); + buffer->reverse_range (base, count); buffer->reverse ();