Line Break Chart

Line_Break Chart

Unicode Version: 12.1.0

Date: 2019-03-10, 10:53:13 GMT

This page illustrates the application of the Line_Break specification. 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.

Some column headers may be composed, reflecting “treat as” or “ignore” rules.

If your browser handles titles (tooltips), 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, hovering over the cell at the intersection of H3 and JT shows ×, with the rule 26.03. Checking below the table, rule 26.03 is “JT | H3 × JT”, 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” of UAX #14.

Table

ALB2BABBBKCBCLCPCREXGLH2H3HLHYIDINISJLJTJVLFNLNSNUOPPOPRQUSPSYWJZWRIEBEMCM1_CMZWJ_O_ZWJ_CMAI_ALXX_ALSA_ALCJ_NS
AL×÷×÷×÷×××××÷÷××÷××÷÷÷××××××××××××÷÷÷××××××
B2÷××÷×÷×××××÷÷÷×÷÷×÷÷÷×××÷÷÷÷×××××÷÷÷××÷÷÷×
BA÷÷×÷×÷××××÷÷÷÷×÷÷×÷÷÷×××÷÷÷÷×××××÷÷÷××÷÷÷×
BB×××××÷××××××××××××××××××××××××××××××××××××
BK÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
CB÷÷÷÷×÷×××××÷÷÷÷÷÷×÷÷÷××÷÷÷÷÷×××××÷÷÷××÷÷÷÷
CL÷÷×÷×÷×××××÷÷÷×÷÷×÷÷÷×××÷÷÷÷×××××÷÷÷××÷÷÷×
CP×÷×÷×÷×××××÷÷××÷÷×÷÷÷××××÷÷÷×××××÷÷÷××××××
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÷÷×÷×÷×××××÷÷÷×÷÷×÷÷÷×××÷÷÷÷××××××÷÷××÷÷÷×
EB÷÷×÷×÷×××××÷÷÷×÷××÷÷÷×××÷÷×÷×××××÷÷×××÷÷÷×
EM÷÷×÷×÷×××××÷÷÷×÷××÷÷÷×××÷÷×÷×××××÷÷÷××÷÷÷×
CM1_CM×÷×÷×÷×××××÷÷××÷××÷÷÷××××××××××××÷÷÷××××××
ZWJ_O_ZWJ_CM××××××××××××××××××××××××××××××××××××××××××
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 ×”, “÷ eot”, and “÷ Any” are added mechanically, and have artificial numbers.
  3. The rules are given decimal numbers using tenths, and are written without prefix. For example, rule LB21a is given the number 21.1.
  4. Any “treat as” or “ignore” rules are handled as discussed in UAX #14, and thus reflected in a transformation of the rules usually not visible here. Where it does show up, an extra variable like CM+ 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 UAX #14.

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* ÷
8.1ZWJ_O ×
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) ×
21.2SY × HL
22.01(AL | HL) × IN
22.02EX × IN
22.03(ID | EB | EM) × IN
22.04IN × IN
22.05NU × IN
23.02(AL | HL) × NU
23.03NU × (AL | HL)
23.12PR × (ID | EB | EM)
23.13(ID | EB | EM) × PO
24.02(PR | PO) × (AL | HL)
24.03(AL | HL) × (PR | PO)
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.11^ (RI RI)* RI × RI
30.12[^RI] (RI RI)* RI × RI
30.13RI ÷ RI
30.2EB × EM
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 (tooltips), then positioning the mouse over each character will show its name, while positioning between characters shows the number of the rule responsible for the break-status.

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

Access to Copyright and terms of use