Implement more granular cluster-merging
TODO: Documentation.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=71445
diff --git a/src/hb-buffer.h b/src/hb-buffer.h
index 520141b..4b285bb 100644
--- a/src/hb-buffer.h
+++ b/src/hb-buffer.h
@@ -185,7 +185,19 @@
hb_buffer_flags_t
hb_buffer_get_flags (hb_buffer_t *buffer);
+typedef enum {
+ HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES = 0,
+ HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS = 1,
+ HB_BUFFER_CLUSTER_LEVEL_CHARACTERS = 2,
+ HB_BUFFER_CLUSTER_LEVEL_DEFAULT = HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES
+} hb_buffer_cluster_level_t;
+void
+hb_buffer_set_cluster_level (hb_buffer_t *buffer,
+ hb_buffer_cluster_level_t cluster_level);
+
+hb_buffer_cluster_level_t
+hb_buffer_get_cluster_level (hb_buffer_t *buffer);
#define HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT 0xFFFDu