OLD | NEW |
(Empty) | |
| 1 # Copyright (c) 2002-2003, International Business Machines Corporation and |
| 2 # others. All Rights Reserved. |
| 3 # |
| 4 # Title Casing Break Rules |
| 5 # |
| 6 |
| 7 $CaseIgnorable = [[:Mn:][:Me:][:Cf:][:Lm:][:Sk:] \u0027 \u00AD \u2019]; |
| 8 $Cased = [[:Upper_Case:][:Lower_Case:][:Lt:] - $CaseIgnorable]; |
| 9 $NotCased = [^ $Cased]; |
| 10 |
| 11 # |
| 12 # If the iterator was not stopped on a cased character, advance it to the first
cased char |
| 13 # |
| 14 $NotCased+; |
| 15 |
| 16 # |
| 17 # If the iterator starts on a cased item, advance through all adjacent cased it
ems plus |
| 18 # any non-cased stuff, to reach the start of the next word. |
| 19 # |
| 20 $Cased ($Cased | $CaseIgnorable)* $NotCased*; |
| 21 |
| 22 # |
| 23 # Reverse Rules |
| 24 # |
| 25 |
| 26 ! $NotCased+; |
| 27 |
| 28 # |
| 29 # If the iterator starts on a cased item, advance through all adjacent cased it
ems plus |
| 30 # any non-cased stuff, to reach the start of the next word. |
| 31 # |
| 32 ! $NotCased* ($Cased | $CaseIgnorable)* $Cased; |
OLD | NEW |