Line Break Chart

Unicode Version: 6.3.0

Date: 2012-12-20, 22:18:29 GMT

This page illustrates the application of the boundary specification for Lines. The material here is informative, not normative.

The first chart shows where breaks would appear between different sample characters or strings. The sample characters are chosen mechanically to represent the different properties used by the specification.

Each cell shows the break-status for the position between the character(s) in its row header and the character(s) in its column header. The × symbol indicates no break, while the ÷ symbol indicated a break. The cells with × are also shaded to make it easier to scan the table. For example, in the cell at the intersection of the row headed by 'CR' and the column headed by 'LF', there is a × symbol, indicating that there is no break between CR and LF.

After the heavy blue line in the table are additional rows, either with different sample characters or for sequences, such as "ALetter MidLetter" in WordBreak. Some column headers may be composed, reflecting 'treat as' or 'ignore' rules.

If your browser handles titles (tool tips), then hovering the mouse over the row header will show a sample character of that type. Hovering over a column header will show the sample character, plus its abbreviated general category and script. Hovering over the intersected cells shows the rule number that produces the break-status. For example, in GraphemeBreakTest, hovering over the cell at the intersection of LVT and T shows ×, with the rule 8.0. Checking below, the rule 8.0 is '( LVT | T) × T', which is the one that applies to that case. Note that a rule is invoked only when no lower-numbered rules have applied.

The Line Break tests use tailoring of numbers described in Example 7 of Section 8.2 Examples of Customization. They also differ from the results produced by a pair table implementation in sequences like: ZW SP CL.

Table

ALB2BABBBKCBCLCPCMCREXGLH2H3HLHYIDINISJLJTJVLFNLNSNUOPPOPRQUSPSYWJZWRIAI_ALXX_ALSA_ALCJ_NS
AL×÷×÷×÷××××××÷÷××÷××÷÷÷×××××÷÷×××××÷××××
B2÷××÷×÷××××××÷÷÷×÷÷×÷÷÷×××÷÷÷÷×××××÷÷÷÷×
BA÷÷×÷×÷×××××÷÷÷÷×÷÷×÷÷÷×××÷÷÷÷×××××÷÷÷÷×
BB×××××÷×××××××××××××××××××××××××××××××××
BK÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
CB÷÷÷÷×÷××××××÷÷÷÷÷÷×÷÷÷××÷÷÷÷÷×××××÷÷÷÷÷
CL÷÷×÷×÷××××××÷÷÷×÷÷×÷÷÷×××÷÷÷÷×××××÷÷÷÷×
CP×÷×÷×÷××××××÷÷××÷÷×÷÷÷××××÷÷÷×××××÷××××
CM×÷×÷×÷××××××÷÷××÷××÷÷÷×××××÷÷×××××÷××××
CR÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷×÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
EX÷÷×÷×÷××××××÷÷÷×÷÷×÷÷÷×××÷÷÷÷×××××÷÷÷÷×
GL×××××××××××××××××××××××××××××××××××××××
H2÷÷×÷×÷××××××÷÷÷×÷××÷×××××÷÷×÷×××××÷÷÷÷×
H3÷÷×÷×÷××××××÷÷÷×÷××÷×÷×××÷÷×÷×××××÷÷÷÷×
HL×÷×÷×÷××××××÷÷××÷××÷÷÷×××××÷÷×××××÷××××
HY÷÷×÷×÷×××××÷÷÷÷×÷÷×÷÷÷××××÷÷÷×××××÷÷÷÷×
ID÷÷×÷×÷××××××÷÷÷×÷××÷÷÷×××÷÷×÷×××××÷÷÷÷×
IN÷÷×÷×÷××××××÷÷÷×÷××÷÷÷×××÷÷÷÷×××××÷÷÷÷×
IS×÷×÷×÷××××××÷÷××÷÷×÷÷÷×××÷÷÷÷×××××÷××××
JL÷÷×÷×÷××××××××÷×÷×××÷××××÷÷×÷×××××÷÷÷÷×
JT÷÷×÷×÷××××××÷÷÷×÷××÷×÷×××÷÷×÷×××××÷÷÷÷×
JV÷÷×÷×÷××××××÷÷÷×÷××÷×××××÷÷×÷×××××÷÷÷÷×
LF÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
NL÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
NS÷÷×÷×÷××××××÷÷÷×÷÷×÷÷÷×××÷÷÷÷×××××÷÷÷÷×
NU×÷×÷×÷××××××÷÷××÷××÷÷÷××××××××××××÷××××
OP×××××××××××××××××××××××××××××××××××××××
PO×÷×÷×÷××××××÷÷××÷÷×÷÷÷××××÷÷÷×××××÷××××
PR×÷×÷×÷×××××××××××÷××××××××÷÷÷×××××÷××××
QU×××××××××××××××××××××××××××××××××××××××
SP÷÷÷÷×÷××÷××÷÷÷÷÷÷÷×÷÷÷××÷÷÷÷÷÷××××÷÷÷÷÷
SY÷÷×÷×÷××××××÷÷÷×÷÷×÷÷÷×××÷÷÷÷×××××÷÷÷÷×
WJ×××××××××××××××××××××××××××××××××××××××
ZW÷÷÷÷×÷÷÷÷×÷÷÷÷÷÷÷÷÷÷÷÷××÷÷÷÷÷÷×÷÷×÷÷÷÷÷
RI÷÷×÷×÷××××××÷÷÷×÷÷×÷÷÷×××÷÷÷÷××××××÷÷÷×
AI_AL×÷×÷×÷××××××÷÷××÷××÷÷÷×××××÷÷×××××÷××××
XX_AL×÷×÷×÷××××××÷÷××÷××÷÷÷×××××÷÷×××××÷××××
SA_AL×÷×÷×÷××××××÷÷××÷××÷÷÷×××××÷÷×××××÷××××
CJ_NS÷÷×÷×÷××××××÷÷÷×÷÷×÷÷÷×××÷÷÷÷×××××÷÷÷÷×

Rules

This section shows the rules. They are mechanically modified for programmatic generation of the tables and test code, and thus do not match the UAX rules precisely. In particular:

  1. The rules are cast into a form that is more like regular expressions.
  2. The rules "sot ÷ or ×", "÷ eot", and "÷ Any" are added mechanically, and have artificial numbers.
  3. The rules are given decimal numbers, so rules such as 11a are given a number using tenths, such as 11.1.
  4. Any 'treat as' or 'ignore' rules are handled as discussed in the UAX, and thus reflected in a transformation of the rules usually not visible here. Where it does show up, an extra variable like CM* or FE* may appear, and the rule may be recast. In addition, final rules like "Any ÷ Any" may be recast as the equivalent expression "÷ Any".
  5. Where a rule has multiple parts (lines), each one is numbered using hundredths, such as 21.01) × BA, 21.02) × HY,... In some cases, the numbering and form of a rule is changed due to 'treat as' rules.

For the original rules, see the UAX.

0.2sot ×
0.3÷ eot
4.0BK ÷
5.01CR × LF
5.02CR ÷
5.03LF ÷
5.04NL ÷
6.0× ( BK | CR | LF | NL )
7.01× SP
7.02× ZW
8.0ZW SP* ÷
9.0[^ SP BK CR LF NL ZW] × CM
11.01× WJ
11.02WJ ×
12.0GL ×
12.1[^ SP BA HY CM] × GL
12.2[^ BA HY CM] CM+ × GL
12.3^ CM+ × GL
13.01× EX
13.02[^ NU CM] × (CL | CP | IS | SY)
13.03[^ NU CM] CM+ × (CL | CP | IS | SY)
13.04^ CM+ × (CL | CP | IS | SY)
14.0OP SP* ×
15.0QU SP* × OP
16.0(CL | CP) SP* × NS
17.0B2 SP* × B2
18.0SP ÷
19.01× QU
19.02QU ×
20.01÷ CB
20.02CB ÷
21.01× BA
21.02× HY
21.03× NS
21.04BB ×
21.1HL (HY | BA) ×
22.01(AL | HL) × IN
22.02ID × IN
22.03IN × IN
22.04NU × IN
23.01ID × PO
23.02(AL | HL) × NU
23.03NU × (AL | HL)
24.01PR × ID
24.02PR × (AL | HL)
24.03PO × (AL | HL)
25.01(PR | PO) × ( OP | HY )? NU
25.02( OP | HY ) × NU
25.03NU × (NU | SY | IS)
25.04NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)
25.05NU (NU | SY | IS)* (CL | CP)? × (PO | PR)
26.01JL × JL | JV | H2 | H3
26.02JV | H2 × JV | JT
26.03JT | H3 × JT
27.01JL | JV | JT | H2 | H3 × IN
27.02JL | JV | JT | H2 | H3 × PO
27.03PR × JL | JV | JT | H2 | H3
28.0(AL | HL) × (AL | HL)
29.0IS × (AL | HL)
30.01(AL | HL | NU) × OP
30.02CP × (AL | HL | NU)
30.11RI × RI
999.0÷ Any

Sample Strings

The following samples illustrate the application of the rules. The blue lines indicate possible break points. If your browser supports titles (tool-tips), then positioning the mouse over each character will show its name, while positioning between characters shows the rule number of the rule responsible for the break-status.

1   c  a  n  '  t  
2   c  a  n    t  
3   '  c  a  n  '     n  o  t  
4   c  a  n     '  n  o  t  '  
5   b  u  g  (  s  )                 
6   b  u  g  (  s  )                    
7   .  .        X  M  L    .  .  
8   a  b    b  y  
9   -  3  
10   e  .  g  .  
11     .    .  
12   a        b  
13   a          b  
14   a     ◌̈  b  
15   1  ◌̈  b  (  a  )  -  (  b  )  
16   g  i  v  e     b  o  o  k  (  s  )  .  
17     (    )  
18   f  i  n  d     .  c  o  m  
19   e  q  u  a  l  s     .  3  5     c  e  n  t  s  
20   (  s  )  h  e  
21   {  s  }  h  e  
22   ˈ  s  I  l  ə  b  (  ə  )  l  
23   ˈ  s  I  l  ə  b  {  ə  }  l  
24   c  o  d  e  (  s  )  .  
25   c  o  d  e  (  s  .  )  
26   c  o  d  e  (  s  )  !  
27   c  o  d  e  (  s  !  )  
28   c  o  d  e  \  (  s  \  )  
29   c  o  d  e  (     s     )  
30   c  o  d  e  {  s  }  
31   c  o  d  e  {  s  }  .  
32   c  o  d  e  {  s  }  !  
33   c  o  d  e  \  {  s  \  }  
34   c  o  d  e  {     s     }  
35   c  o  d  (  e  )    (  s  )  
36   (  c  o  d  (  e  )    )  s  
37   c  o  d  {  e  }    {  s  }  
38   {  c  o  d  {  e  }    }  s  
39   (  c  o  n  -  )  l  a  n  g  
40   (  c  o  n    )  l  a  n  g  
41   (  c  o  n    )  l  a  n  g  
42   (  c  o  n  )  -  l  a  n  g  
43   (  c  o  n  )    l  a  n  g  
44   (  c  o  n  )    l  a  n  g  
45   {  c  o  n  -  }  l  a  n  g  
46   {  c  o  n    }  l  a  n  g  
47   {  c  o  n    }  l  a  n  g  
48   {  c  o  n  }  -  l  a  n  g  
49   {  c  o  n  }    l  a  n  g  
50   {  c  o  n  }    l  a  n  g  
51   c  r  e  ◌́  (  e  ◌́  )  (  e  )  
52   c  r  e  ◌́  [  e  r  |  e  ◌́  (  e  )  (  s  )  ]  
53   c  r  e  ◌́  {  e  r  |  e  ◌́  (  e  )  (  s  )  }  
54   a  m  b  i  g  u  (  ◌̈  )  (  e  ◌̈  )  
55   a  m  b  i  g  u  (  «  ◌̈  »  )  (  e  ◌̈  )  
56   a  m  b  i  g  u  (  «     ◌̈     »  )  (  e  ◌̈  )  
57   a  m  b  i  g  u  «     (     ◌̈     )     »  (  e  ◌̈  )  
58   a  m  b  i  g  u  «    (     ◌̈     )    »  (  e  ◌̈  )  
59   a  m  b  i  g  u  {  ◌̈  }  (  e  ◌̈  )  
60   a  m  b  i  g  u  {  «  ◌̈  »  }  (  e  ◌̈  )  
61   a  m  b  i  g  u  {  «     ◌̈     »  }  (  e  ◌̈  )  
62   a  m  b  i  g  u  «     {     ◌̈     }     »  (  e  ◌̈  )  
63   a  m  b  i  g  u  «    {     ◌̈     }    »  (  e  ◌̈  )  
64   (  c  z  e  r  w  o  n  o      )  n  i  e  b  i  e  s  k  a  
65   (  c  z  e  r  w  o  n  o    )    n  i  e  b  i  e  s  k  a  
66   (  c  z  e  r  w  o  n  o  )      n  i  e  b  i  e  s  k  a  
67   {  c  z  e  r  w  o  n  o      }  n  i  e  b  i  e  s  k  a  
68   {  c  z  e  r  w  o  n  o    }    n  i  e  b  i  e  s  k  a  
69   {  c  z  e  r  w  o  n  o  }      n  i  e  b  i  e  s  k  a  
70   o  p  e  r  a  t  o  r  [  ]  (  0  )  ;  
71   o  p  e  r  a  t  o  r  [  ]  (  )  {  }  
72     (    )      
73     (        )      
74       (    )        
75     {    }      
76     {        }      
77     [  (    )  ]      
78   (          )        
79   (        )          
80   {          }        
81   {        }          
82   (            )            ◌᠌  
83   (          )              ◌᠌  
84   {            }            ◌᠌  
85   {          }              ◌᠌  
86   (  h  t  t  p  :  /  /  )  x  n  -  -  a  
87   {  h  t  t  p  :  /  /  }  x  n  -  -  a  
88   (  0  ,  1  )  +  (  2  ,  3  )    (    4  ,  5  )    (  6  ,  7  )  
89   {  0  ,  1  }  +  {  2  ,  3  }    {    4  ,  5  }    {  6  ,  7  }  
90   a  b  
91   a  b     
92   a  b     c  
93   a    
94     ि    ◌्         
95         ◌ु    ि               
96       
97       
98           
99         
100       
101         
102         
103     a    
104            o  r       
105     a  b     
106     使  
107       
108         
109                 
110                 
111           
112         
113       
114           
115             使        
116               
117         
118   a  .  2     
119   a  .  2       
120   a  .  2       
121   a  .  2       
122   a  .  2       
123   a  .  2     3  
124   a  b  .     2  
125   A  .  1       
126       .     A  .  2       
127       .     A  .  3       
128     .     A  .  4       
129   a  .  2       
130         (  b  a  )          
131       U  K                
132         =  r  a  n  d  (  )      
133         !      
134         
135           ?      
136         
137         
138                
139               
140           (      )    
141             
142           
143   (  s  )       
144   (  s  )       
145   (  s  )       
146       d  o  g          
147         
148        (  a  
149        [      ]  
150   a  (  s  )     
151                     
152   p                
153   a  b      
154   (      )  
155         
156         
157        (    
158   s  )      
159   a      
160           
161             
162   r  k  )      
163     (  a  b     c  d  )      
164             (  e  x  
165       (  m  a  )      
166             
167         
168           
169             
170           
171           a  b      
172           ?        
173     )             ?      
174     )     -     (  p  o  
175     )          (  p  o  
176                       
177   a  b  "      
178        "  s  "     
179       "  T  h  e     
180   d  o  g  "       
181   9  0  "       
182                       
183             
184               
185                     
186                     
187         (  a  
188             
189     :     
190     :       
191       :             
192         
193               
194       !  !    !  !  !    
195       ?    !    
196         (  !  ?  )    
197         (  ?  !  )    
198            
199       1  0  0  %      
200   2  3    
201           2  6      
202       £  2  3  
203          £    
204         q  u  
205       
206       a  b     
207         
208         
209         
210               
211       i  o      2      
212       
213       
214       
215                
216       a  b    
217   a  🇦  b  
218   🇷  🇺  
219   🇷  🇺  🇸  
220   🇷  🇺  🇸  🇪  
221   🇷  🇺    🇸  🇪  
222   🇦  🇧  🇨  
223   🇦    🇧  🇨  
224   🇦  🇧    🇨  
225        ن  
226   ن       

Access to Copyright and terms of use