1 # Copyright (C) 2016 and later: Unicode, Inc. and others. 2 # License & terms of use: http://www.unicode.org/copyright.html 3 # 4 # Copyright (c) 2002-2015, International Business Machines Corporation and 5 # others. All Rights Reserved. 6 # 7 # Title Casing Break Rules 8 # 9 10 !!quoted_literals_only; 11 12 $CaseIgnorable = [[:Mn:][:Me:][:Cf:][:Lm:][:Sk:] \u0027 \u00AD \u2019]; 13 $Cased = [[:Upper_Case:][:Lower_Case:][:Lt:] - $CaseIgnorable]; 14 $NotCased = [[^ $Cased] - $CaseIgnorable]; 15 16 !!forward; 17 18 # If the iterator begins on a CaseIgnorable, advance it past it/them. 19 # This can occur at the start-of-text, or after application of the 20 # safe-reverse rule. 21 22 ($CaseIgnorable | $NotCased)*; 23 24 # Normal exact forward rule: beginning at the start of a word 25 # (at a cased character), advance through the word and through 26 # the uncased characters following the word. 27 28 $Cased ($Cased | $CaseIgnorable)* ($NotCased | $CaseIgnorable)*; 29 30 31 !!safe_reverse; 32 33 # Safe Reverse: the exact forward rule must not start in the middle 34 # of a word, so the safe reverse skips over any Cased characters, 35 # leaving it just before the start of a word. 36 37 ($Cased | $CaseIgnorable)*; 38