blob: feac0af949189fdd97fe0885957b1a0f3e0f555f [file] [log] [blame]
Index: source/data/brkitr/word.txt
===================================================================
--- source/data/brkitr/word.txt (revision 259715)
+++ source/data/brkitr/word.txt (working copy)
@@ -35,10 +35,16 @@
$ALetter = [\p{Word_Break = ALetter}];
$Single_Quote = [\p{Word_Break = Single_Quote}];
$Double_Quote = [\p{Word_Break = Double_Quote}];
-$MidNumLet = [\p{Word_Break = MidNumLet}];
+# Remove two full stop characters from $MidNumLet and add them to $MidNum
+# to break a hostname into its components at the cost of breaking
+# 'e.g.' and 'i.e.' as well.
+# $MidNumLet is used in rules 6/7 (rules of our interest) and rules 11/12.
+# Because it's OR'd with $MidNum in rules 11/12, rules 11/12 are not affected
+# while rules 6/7 are reverted to the old behavior we want.
+$MidNumLet = [[\p{Word_Break = MidNumLet}] - [\u002E \uFF0E]];
$MidLetter = [\p{Word_Break = MidLetter}];
-$MidNum = [\p{Word_Break = MidNum}];
-$Numeric = [\p{Word_Break = Numeric}];
+$MidNum = [\p{Word_Break = MidNum}[\u002E \uFF0E]];
+$Numeric = [\p{Word_Break = Numeric}[\uff10-\uff19]]; #includes fullwidth digits
$ExtendNumLet = [\p{Word_Break = ExtendNumLet}];
$Han = [:Han:];
Index: source/data/brkitr/line.txt
===================================================================
--- source/data/brkitr/line.txt (revision 259715)
+++ source/data/brkitr/line.txt (working copy)
@@ -12,9 +12,8 @@
# This is only because of a limitation of ICU break engine implementation,
# not because the older behavior is desirable.
-#
-# Character Classes defined by TR 14.
-#
+# CHROME: 1. Use line_ja.txt to apply small kana rules in all locales.
+# 2. Adjust CL, OP, and IS to handle 'comma-variants' consistently.
!!chain;
!!LBCMNoChain;
@@ -57,14 +56,14 @@
#
$AI = [:LineBreak = Ambiguous:];
-$AL = [:LineBreak = Alphabetic:];
+$AL = [[:LineBreak = Alphabetic:] - [\u23B4\u23B5]];
$BA = [:LineBreak = Break_After:];
$BB = [:LineBreak = Break_Before:];
$BK = [:LineBreak = Mandatory_Break:];
$B2 = [:LineBreak = Break_Both:];
$CB = [:LineBreak = Contingent_Break:];
$CJ = [:LineBreak = Conditional_Japanese_Starter:];
-$CL = [:LineBreak = Close_Punctuation:];
+$CL = [[:LineBreak = Close_Punctuation:] [\uFE51\uFE10\u23B5]];
$CM = [:LineBreak = Combining_Mark:];
$CP = [:LineBreak = Close_Parenthesis:];
$CR = [:LineBreak = Carriage_Return:];
@@ -74,16 +73,16 @@
$HY = [:LineBreak = Hyphen:];
$H2 = [:LineBreak = H2:];
$H3 = [:LineBreak = H3:];
-$ID = [:LineBreak = Ideographic:];
+$ID = [[[:LineBreak = Ideographic:] $CJ] - [\uFE51]];
$IN = [:LineBreak = Inseperable:];
-$IS = [:LineBreak = Infix_Numeric:];
+$IS = [[:LineBreak = Infix_Numeric:] - [\uFE10]];
$JL = [:LineBreak = JL:];
$JV = [:LineBreak = JV:];
$JT = [:LineBreak = JT:];
$LF = [:LineBreak = Line_Feed:];
$NL = [:LineBreak = Next_Line:];
-$NS = [[:LineBreak = Nonstarter:] $CJ];
+$NS = [:LineBreak = Nonstarter:];
$NU = [:LineBreak = Numeric:];
-$OP = [:LineBreak = Open_Punctuation:];
+$OP = [[:LineBreak = Open_Punctuation:] \u23B4];
$PO = [:LineBreak = Postfix_Numeric:];
$PR = [:LineBreak = Prefix_Numeric:];