Grapheme Cluster Break

Unicode Version 18.0

Grapheme Cluster Break is a defined set of values that determines where text segmentation boundaries fall between characters, enabling correct handling of complex scripts and combining sequences. Each code point is assigned a class, such as L, V, T, Extend, or Regional_Indicator, and rules use these classes to define break opportunities. This prevents splitting a base letter from its combining marks, keeps emoji sequences like family or flag combinations intact, and properly groups Hangul syllables or Indic conjuncts. By applying these rules, software can identify user-perceived characters, ensuring operations like cursor movement, selection, and line breaking respect linguistic and visual units rather than treating each code point independently.

Control
Abbr
CN
Count
124

Control is used to mark characters that prevent grapheme clustering, forcing breaks before and after themselves.

Carriage Return
Abbr
CR
Count
1

Carriage Return is a control character that forces a line break, typically marking the end of a line without starting a new paragraph.

E Base
Abbr
EB
Count
0

E Base is a Grapheme Cluster Break value that marks characters, like emoji modifiers, which can start an extended grapheme cluster when followed by a modifier.

E Base GAZ
Abbr
EBG
Count
0

E Base GAZ is a grapheme cluster break class marking emoji bases that allow ZWJ sequences, like skin tone modifiers, to extend them.

E Modifier
Abbr
EM
Count
0

E Modifier is a Grapheme Cluster Break value marking characters that extend a base grapheme, like emoji modifiers, preventing breaks after them.

Extend
Abbr
EX
Count
2274

Extend is a Grapheme Cluster Break value marking characters that continue an existing grapheme cluster, such as combining marks, without starting a new one.

Glue After Zwj
Abbr
GAZ
Count
0

Glue After Zwj is a value indicating that a character remains joined to a preceding emoji or symbol when a Zero Width Joiner precedes it.

Hangul Syllable Type=L
Abbr
L
Count
125

Hangul Syllable Type=L is the leading consonant jamo onset, which begins a syllable cluster only if followed by a vowel.

Hangul Syllable Type=LF
Abbr
LF
Count
1

Hangul Syllable Type=LF is a line feed character that forces a grapheme cluster break, preventing it from combining with adjacent Hangul syllables.

Hangul Syllable Type=LV
Abbr
LV
Count
399

Hangul Syllable Type=LV is a category for precomposed syllables with a leading consonant and vowel, treated as a single indivisible cluster.

Hangul Syllable Type=LVT
Abbr
LVT
Count
10773

Hangul Syllable Type=LVT is a precomposed syllable with a leading consonant, vowel, and trailing consonant, treated as one indivisible cluster.

Other
Abbr
XX
Count
295972

Other is a fallback classification for code points with no specific grapheme cluster behavior, treated as default breakable characters.

Prepend
Abbr
PP
Count
27

Prepend is a value indicating that a character should be attached to the preceding grapheme cluster, without initiating a new cluster.

Regional Indicator
Abbr
RI
Count
26

Regional Indicator is a Grapheme Cluster Break value marking characters used in emoji flag sequences, enabling pairs to form single grapheme clusters.

Spacing Mark
Abbr
SM
Count
381

Spacing Mark is a Grapheme Cluster Break value indicating characters that combine with a base character while occupying their own horizontal space.

Hangul Syllable Type=T
Abbr
T
Count
137

Hangul Syllable Type=T is a Grapheme Cluster Break value marking a trailing consonant jamo, preventing breaks before following Hangul letters.

Hangul Syllable Type=V
Abbr
V
Count
100

Hangul Syllable Type=V is assigned to vowel jamo characters, which act as the middle vowel component in Korean syllable clusters.

ZERO WIDTH JOINER
Abbr
ZWJ
Count
1

ZERO WIDTH JOINER is a non-printing character that prevents line breaks and links adjacent characters into a single grapheme cluster.