Grapheme Cluster Break - Spacing Mark
Spacing Mark is a value that classifies certain combining characters, such as vowels or diacritics in scripts like Thai or Devanagari, which take up horizontal space on their own rather than being placed over or under a base character. These marks are treated as extending the grapheme cluster, meaning they attach to the preceding base character without starting a new cluster, yet they still occupy a visual width in the rendered text. This distinction matters for line breaking, cursor movement, and text selection, because a spacing mark does not break a cluster but also does not behave like a non-spacing mark, which is typically zero-width and purely overlay. In practice, spacing marks ensure that sequences like a base consonant followed by a vowel remain indivisible for editing operations, while still allowing the renderer to advance the cursor by the mark’s full character width.