[indic] Adjust Sinhala cluster merging under uniscribe

Similar to 190c8f2b60af0851bf692f653c1604cfbf0561a5 but for
Sinhala.
diff --git a/src/hb-ot-shape-complex-indic.cc b/src/hb-ot-shape-complex-indic.cc
index 3471aa6..a0ebfef 100644
--- a/src/hb-ot-shape-complex-indic.cc
+++ b/src/hb-ot-shape-complex-indic.cc
@@ -463,7 +463,7 @@
     switch ((hb_tag_t) plan->props.script)
     {
       case HB_SCRIPT_KHMER:
-	  plan->map.add_feature (HB_TAG('k','e','r','n'), 0, F_GLOBAL);
+	plan->map.add_feature (HB_TAG('k','e','r','n'), 0, F_GLOBAL);
 	break;
     }
   }
@@ -1584,13 +1584,22 @@
   /*
    * Finish off the clusters and go home!
    */
-  if (hb_options ().uniscribe_bug_compatible && buffer->props.script != HB_SCRIPT_TAMIL)
+  if (hb_options ().uniscribe_bug_compatible)
   {
-    /* Uniscribe merges the entire cluster... Except for Tamil.
-     * This means, half forms are submerged into the main consonants cluster.
-     * This is unnecessary, and makes cursor positioning harder, but that's what
-     * Uniscribe does. */
-    buffer->merge_clusters (start, end);
+    switch ((hb_tag_t) plan->props.script)
+    {
+      case HB_SCRIPT_TAMIL:
+      case HB_SCRIPT_SINHALA:
+        break;
+
+      default:
+	/* Uniscribe merges the entire cluster... Except for Tamil & Sinhala.
+	 * This means, half forms are submerged into the main consonants cluster.
+	 * This is unnecessary, and makes cursor positioning harder, but that's what
+	 * Uniscribe does. */
+	buffer->merge_clusters (start, end);
+	break;
+    }
   }
 }