2 # Copyright (C) 2002-2008, International Business Machines Corporation and others.
7 # ICU Character Break Rules, also known as Grapheme Cluster Boundaries
8 # See Unicode Standard Annex #29.
9 # These rules are based on TR29 Revision 12, for Unicode Version 5.1
13 # Character Class Definitions.
15 $CR = [\p{Grapheme_Cluster_Break = CR}];
16 $LF = [\p{Grapheme_Cluster_Break = LF}];
17 $Control = [\p{Grapheme_Cluster_Break = Control}];
18 $Prepend = [\p{Grapheme_Cluster_Break = Prepend}];
19 $Extend = [\p{Grapheme_Cluster_Break = Extend}];
20 $SpacingMark = [\p{Grapheme_Cluster_Break = SpacingMark}];
23 # Korean Syllable Definitions
25 $L = [\p{Grapheme_Cluster_Break = L}];
26 $V = [\p{Grapheme_Cluster_Break = V}];
27 $T = [\p{Grapheme_Cluster_Break = T}];
29 $LV = [\p{Grapheme_Cluster_Break = LV}];
30 $LVT = [\p{Grapheme_Cluster_Break = LVT}];
33 ## -------------------------------------------------
40 $L ($L | $V | $LV | $LVT);
44 [^$Control $CR $LF] $Extend;
46 [^$Control $CR $LF] $SpacingMark;
47 $Prepend [^$Control $CR $LF];
50 ## -------------------------------------------------
54 ($L | $V | $LV | $LVT) $L;
58 $Extend [^$Control $CR $LF];
59 $SpacingMark [^$Control $CR $LF];
60 [^$Control $CR $LF] $Prepend;
63 ## -------------------------------------------------
68 ## -------------------------------------------------