Index: third_party/harfbuzz-ng/src/hb-ot-shape.cc |
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape.cc b/third_party/harfbuzz-ng/src/hb-ot-shape.cc |
index e24f7a837f79cae709a6d7150dc0cdac037c9fb8..40332d69f122ac3d17dc5369066c9751f00b3622 100644 |
--- a/third_party/harfbuzz-ng/src/hb-ot-shape.cc |
+++ b/third_party/harfbuzz-ng/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 (); |