| Index: source/data/brkitr/line_loose_fi.txt
|
| diff --git a/source/data/brkitr/line_fi.txt b/source/data/brkitr/line_loose_fi.txt
|
| similarity index 93%
|
| copy from source/data/brkitr/line_fi.txt
|
| copy to source/data/brkitr/line_loose_fi.txt
|
| index adf78bd3887404c8c429c6f4fb16167f11501db9..c5dae9f85eea0fb59b5ceadc421cc621c77ecb67 100644
|
| --- a/source/data/brkitr/line_fi.txt
|
| +++ b/source/data/brkitr/line_loose_fi.txt
|
| @@ -1,16 +1,23 @@
|
| -# Copyright (c) 2002-2013 International Business Machines Corporation and
|
| +# Copyright (c) 2002-2015 International Business Machines Corporation and
|
| # others. All Rights Reserved.
|
| #
|
| -# file: line_fi.txt
|
| +# file: line_loose_fi.txt
|
| #
|
| # Line Breaking Rules
|
| # Implement default line breaking as defined by
|
| -# Unicode Standard Annex #14 Revision 29 for Unicode 6.2
|
| +# Unicode Standard Annex #14 Revision 34 for Unicode 8.0
|
| # http://www.unicode.org/reports/tr14/
|
| +# tailored as noted in 2nd paragraph below..
|
| #
|
| # TODO: Rule LB 8 remains as it was in Unicode 5.2
|
| # This is only because of a limitation of ICU break engine implementation,
|
| # not because the older behavior is desirable.
|
| +#
|
| +# This tailors the line break behavior both for Finnish and to correpond to CSS
|
| +# line-break=loose (BCP47 -u-lb-loose) as defined for languages other than
|
| +# Chinese & Japanese.
|
| +# It sets characters of class CJ to behave like ID.
|
| +# In addition, it allows breaks before 3005, 303B, 309D, 309E, 30FD, 30FE (all NS).
|
|
|
| #
|
| # Character Classes defined by TR 14.
|
| @@ -75,7 +82,7 @@ $HL = [:LineBreak = Hebrew_Letter:];
|
| $HY = [:LineBreak = Hyphen:];
|
| $H2 = [:LineBreak = H2:];
|
| $H3 = [:LineBreak = H3:];
|
| -$ID = [:LineBreak = Ideographic:];
|
| +$ID = [[:LineBreak = Ideographic:] $CJ];
|
| $IN = [:LineBreak = Inseperable:];
|
| $IS = [:LineBreak = Infix_Numeric:];
|
| $JL = [:LineBreak = JL:];
|
| @@ -83,7 +90,8 @@ $JV = [:LineBreak = JV:];
|
| $JT = [:LineBreak = JT:];
|
| $LF = [:LineBreak = Line_Feed:];
|
| $NL = [:LineBreak = Next_Line:];
|
| -$NS = [[:LineBreak = Nonstarter:] $CJ];
|
| +$NSX = [\u3005 \u303B \u309D \u309E \u30FD \u30FE];
|
| +$NS = [[:LineBreak = Nonstarter:] - $NSX];
|
| $NU = [:LineBreak = Numeric:];
|
| $OP = [:LineBreak = Open_Punctuation:];
|
| $PO = [:LineBreak = Postfix_Numeric:];
|
| @@ -137,6 +145,7 @@ $JLcm = $JL $CM*;
|
| $JVcm = $JV $CM*;
|
| $JTcm = $JT $CM*;
|
| $NScm = $NS $CM*;
|
| +$NSXcm = $NSX $CM*;
|
| $NUcm = $NU $CM*;
|
| $OPcm = $OP $CM*;
|
| $POcm = $PO $CM*;
|
| @@ -173,6 +182,7 @@ $JL $CM+;
|
| $JV $CM+;
|
| $JT $CM+;
|
| $NS $CM+;
|
| +$NSX $CM+;
|
| $NU $CM+;
|
| $OP $CM+;
|
| $PO $CM+;
|
| @@ -200,7 +210,7 @@ $CANT_CM = [ $SP $BK $CR $LF $NL $ZW $CM]; # Bases that can't take CMs
|
| # so for this one case we need to manually list out longer sequences.
|
| #
|
| $AL_FOLLOW_NOCM = [$BK $CR $LF $NL $ZW $SP];
|
| -$AL_FOLLOW_CM = [$CL $CP $EX $HL $IS $SY $WJ $GL $OP $QU $BA $HH $HY $NS $IN $NU $ALPlus];
|
| +$AL_FOLLOW_CM = [$CL $CP $EX $HL $IS $SY $WJ $GL $OP $QU $BA $HH $HY $NS $NSX $IN $NU $ALPlus];
|
| $AL_FOLLOW = [$AL_FOLLOW_NOCM $AL_FOLLOW_CM];
|
|
|
|
|
| @@ -303,6 +313,8 @@ $OPcm $SP+ $CM+ $AL_FOLLOW?; # by rule 10, stand-alone CM behaves as AL
|
| $QUcm $SP* $OPcm;
|
|
|
| # LB 16
|
| +# Do not break between closing punctuation and $NS, even with intervening spaces
|
| +# But DO allow a break between closing punctuation and $NSX, don't include it here
|
| ($CLcm | $CPcm) $SP* $NScm;
|
|
|
| # LB 17
|
| @@ -336,6 +348,7 @@ $LB20NonBreaks = [$LB18NonBreaks - $CB];
|
| # LB 21 x (BA | HY | NS)
|
| # BB x
|
| #
|
| +# DO allow breaks here before NSXcm, so don't include it
|
| $LB20NonBreaks $CM* ($BAcm | $HHcm | $HYcm | $NScm) / $AL;
|
| $LB20NonBreaks $CM* ($BAcm | $HHcm | $HYcm | $NScm);
|
| ($HY | $HH) $AL;
|
| @@ -355,6 +368,7 @@ $SYcm $HLcm;
|
| # LB 22
|
| ($ALcm | $HLcm) $INcm;
|
| $CM+ $INcm; # by rule 10, any otherwise unattached CM behaves as AL
|
| +$EXcm $INcm;
|
| $IDcm $INcm;
|
| $INcm $INcm;
|
| $NUcm $INcm;
|
| @@ -435,6 +449,7 @@ $CM+ $JL;
|
| $CM+ $JV;
|
| $CM+ $JT;
|
| $CM+ $NS;
|
| +$CM+ $NSX;
|
| $CM+ $NU;
|
| $CM+ $OP;
|
| $CM+ $PO;
|
| @@ -553,6 +568,7 @@ $SY $CM $SP+ $OP; # TODO: Experiment. Remove.
|
| $CM* $OP $SP* $CM* $QU;
|
|
|
| # LB 16
|
| +# Don't include $NSX here
|
| $CM* $NS $SP* $CM* ($CL | $CP);
|
|
|
| # LB 17
|
| @@ -581,6 +597,7 @@ $CM* $CAN_CM $CM* $QU; # QU x .
|
| $AL ($HY | $HH) / $SP;
|
|
|
| # LB 21
|
| +# Don't include $NSX here
|
| $CM* ($BA | $HH | $HY | $NS) $CM* [$LB20NonBreaks-$CM]; # . x (BA | HY | NS)
|
|
|
| $CM* [$LB20NonBreaks-$CM] $CM* $BB; # BB x .
|
| @@ -594,6 +611,7 @@ $CM* $HL $CM* $SY;
|
|
|
| # LB 22
|
| $CM* $IN $CM* ($ALPlus | $HL);
|
| +$CM* $IN $CM* $EX;
|
| $CM* $IN $CM* $ID;
|
| $CM* $IN $CM* $IN;
|
| $CM* $IN $CM* $NU;
|
|
|