| OLD | NEW |
| 1 # Copyright (c) 2002-2013 International Business Machines Corporation and | 1 # Copyright (c) 2002-2015 International Business Machines Corporation and |
| 2 # others. All Rights Reserved. | 2 # others. All Rights Reserved. |
| 3 # | 3 # |
| 4 # file: line_fi.txt | 4 # file: line_normal_fi.txt |
| 5 # | 5 # |
| 6 # Line Breaking Rules | 6 # Line Breaking Rules |
| 7 # Implement default line breaking as defined by | 7 # Implement default line breaking as defined by |
| 8 # Unicode Standard Annex #14 Revision 29 for Unicode 6.2 | 8 # Unicode Standard Annex #14 Revision 34 for Unicode 8.0 |
| 9 # http://www.unicode.org/reports/tr14/ | 9 # http://www.unicode.org/reports/tr14/ |
| 10 # tailored as noted in 2nd paragraph below.. |
| 10 # | 11 # |
| 11 # TODO: Rule LB 8 remains as it was in Unicode 5.2 | 12 # TODO: Rule LB 8 remains as it was in Unicode 5.2 |
| 12 # This is only because of a limitation of ICU break engine implementatio
n, | 13 # This is only because of a limitation of ICU break engine implementatio
n, |
| 13 # not because the older behavior is desirable. | 14 # not because the older behavior is desirable. |
| 15 # |
| 16 # This tailors the line break behavior both for Finnish and to correpond
to CSS |
| 17 # line-break=normal (BCP47 -u-lb-normal) as defined for languages other
than |
| 18 # Chinese & Japanese. |
| 19 # It sets characters of class CJ to behave like ID. |
| 14 | 20 |
| 15 # | 21 # |
| 16 # Character Classes defined by TR 14. | 22 # Character Classes defined by TR 14. |
| 17 # | 23 # |
| 18 | 24 |
| 19 !!chain; | 25 !!chain; |
| 20 !!LBCMNoChain; | 26 !!LBCMNoChain; |
| 21 | 27 |
| 22 | 28 |
| 23 !!lookAheadHardBreak; | 29 !!lookAheadHardBreak; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 $CL = [:LineBreak = Close_Punctuation:]; | 74 $CL = [:LineBreak = Close_Punctuation:]; |
| 69 $CM = [:LineBreak = Combining_Mark:]; | 75 $CM = [:LineBreak = Combining_Mark:]; |
| 70 $CP = [:LineBreak = Close_Parenthesis:]; | 76 $CP = [:LineBreak = Close_Parenthesis:]; |
| 71 $CR = [:LineBreak = Carriage_Return:]; | 77 $CR = [:LineBreak = Carriage_Return:]; |
| 72 $EX = [:LineBreak = Exclamation:]; | 78 $EX = [:LineBreak = Exclamation:]; |
| 73 $GL = [:LineBreak = Glue:]; | 79 $GL = [:LineBreak = Glue:]; |
| 74 $HL = [:LineBreak = Hebrew_Letter:]; | 80 $HL = [:LineBreak = Hebrew_Letter:]; |
| 75 $HY = [:LineBreak = Hyphen:]; | 81 $HY = [:LineBreak = Hyphen:]; |
| 76 $H2 = [:LineBreak = H2:]; | 82 $H2 = [:LineBreak = H2:]; |
| 77 $H3 = [:LineBreak = H3:]; | 83 $H3 = [:LineBreak = H3:]; |
| 78 $ID = [:LineBreak = Ideographic:]; | 84 $ID = [[:LineBreak = Ideographic:] $CJ]; |
| 79 $IN = [:LineBreak = Inseperable:]; | 85 $IN = [:LineBreak = Inseperable:]; |
| 80 $IS = [:LineBreak = Infix_Numeric:]; | 86 $IS = [:LineBreak = Infix_Numeric:]; |
| 81 $JL = [:LineBreak = JL:]; | 87 $JL = [:LineBreak = JL:]; |
| 82 $JV = [:LineBreak = JV:]; | 88 $JV = [:LineBreak = JV:]; |
| 83 $JT = [:LineBreak = JT:]; | 89 $JT = [:LineBreak = JT:]; |
| 84 $LF = [:LineBreak = Line_Feed:]; | 90 $LF = [:LineBreak = Line_Feed:]; |
| 85 $NL = [:LineBreak = Next_Line:]; | 91 $NL = [:LineBreak = Next_Line:]; |
| 86 $NS = [[:LineBreak = Nonstarter:] $CJ]; | 92 $NS = [:LineBreak = Nonstarter:]; |
| 87 $NU = [:LineBreak = Numeric:]; | 93 $NU = [:LineBreak = Numeric:]; |
| 88 $OP = [:LineBreak = Open_Punctuation:]; | 94 $OP = [:LineBreak = Open_Punctuation:]; |
| 89 $PO = [:LineBreak = Postfix_Numeric:]; | 95 $PO = [:LineBreak = Postfix_Numeric:]; |
| 90 $PR = [:LineBreak = Prefix_Numeric:]; | 96 $PR = [:LineBreak = Prefix_Numeric:]; |
| 91 $QU = [:LineBreak = Quotation:]; | 97 $QU = [:LineBreak = Quotation:]; |
| 92 $RI = [:LineBreak = Regional_Indicator:]; | 98 $RI = [:LineBreak = Regional_Indicator:]; |
| 93 $SA = [:LineBreak = Complex_Context:]; | 99 $SA = [:LineBreak = Complex_Context:]; |
| 94 $SG = [:LineBreak = Surrogate:]; | 100 $SG = [:LineBreak = Surrogate:]; |
| 95 $SP = [:LineBreak = Space:]; | 101 $SP = [:LineBreak = Space:]; |
| 96 $SY = [:LineBreak = Break_Symbols:]; | 102 $SY = [:LineBreak = Break_Symbols:]; |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 348 # | 354 # |
| 349 $HLcm ($HYcm | $BAcm | $HHcm) [^$CB]?; | 355 $HLcm ($HYcm | $BAcm | $HHcm) [^$CB]?; |
| 350 | 356 |
| 351 # LB 21b (forward) Don't break between SY and HL | 357 # LB 21b (forward) Don't break between SY and HL |
| 352 # (break between HL and SY already disallowed by LB 13 above) | 358 # (break between HL and SY already disallowed by LB 13 above) |
| 353 $SYcm $HLcm; | 359 $SYcm $HLcm; |
| 354 | 360 |
| 355 # LB 22 | 361 # LB 22 |
| 356 ($ALcm | $HLcm) $INcm; | 362 ($ALcm | $HLcm) $INcm; |
| 357 $CM+ $INcm; # by rule 10, any otherwise unattached CM behaves as AL | 363 $CM+ $INcm; # by rule 10, any otherwise unattached CM behaves as AL |
| 364 $EXcm $INcm; |
| 358 $IDcm $INcm; | 365 $IDcm $INcm; |
| 359 $INcm $INcm; | 366 $INcm $INcm; |
| 360 $NUcm $INcm; | 367 $NUcm $INcm; |
| 361 | 368 |
| 362 | 369 |
| 363 # $LB 23 | 370 # $LB 23 |
| 364 $IDcm $POcm; | 371 $IDcm $POcm; |
| 365 $ALcm $NUcm; # includes $LB19 | 372 $ALcm $NUcm; # includes $LB19 |
| 366 $HLcm $NUcm; | 373 $HLcm $NUcm; |
| 367 $CM+ $NUcm; # Rule 10, any otherwise unattached CM behaves as AL | 374 $CM+ $NUcm; # Rule 10, any otherwise unattached CM behaves as AL |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 587 [^$CB] $CM* $BB; # | 594 [^$CB] $CM* $BB; # |
| 588 | 595 |
| 589 # LB21a | 596 # LB21a |
| 590 [^$CB] $CM* ($HY | $BA | $HH) $CM* $HL; | 597 [^$CB] $CM* ($HY | $BA | $HH) $CM* $HL; |
| 591 | 598 |
| 592 # LB21b (reverse) | 599 # LB21b (reverse) |
| 593 $CM* $HL $CM* $SY; | 600 $CM* $HL $CM* $SY; |
| 594 | 601 |
| 595 # LB 22 | 602 # LB 22 |
| 596 $CM* $IN $CM* ($ALPlus | $HL); | 603 $CM* $IN $CM* ($ALPlus | $HL); |
| 604 $CM* $IN $CM* $EX; |
| 597 $CM* $IN $CM* $ID; | 605 $CM* $IN $CM* $ID; |
| 598 $CM* $IN $CM* $IN; | 606 $CM* $IN $CM* $IN; |
| 599 $CM* $IN $CM* $NU; | 607 $CM* $IN $CM* $NU; |
| 600 | 608 |
| 601 # LB 23 | 609 # LB 23 |
| 602 $CM* $PO $CM* $ID; | 610 $CM* $PO $CM* $ID; |
| 603 $CM* $NU $CM* ($ALPlus | $HL); | 611 $CM* $NU $CM* ($ALPlus | $HL); |
| 604 $CM* ($ALPlus | $HL) $CM* $NU; | 612 $CM* ($ALPlus | $HL) $CM* $NU; |
| 605 | 613 |
| 606 # LB 24 | 614 # LB 24 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 675 # of context. | 683 # of context. |
| 676 # | 684 # |
| 677 # It might be slightly more efficient to have specific rules | 685 # It might be slightly more efficient to have specific rules |
| 678 # instead of one generic one, but only if we could | 686 # instead of one generic one, but only if we could |
| 679 # turn off rule chaining. We don't want to move more | 687 # turn off rule chaining. We don't want to move more |
| 680 # than necessary. | 688 # than necessary. |
| 681 # | 689 # |
| 682 [$CM $OP $QU $CL $CP $B2 $PR $HY $BA $SP $dictionary]+ [^$CM $OP $QU $CL $CP $B2
$PR $HY $BA $dictionary]; | 690 [$CM $OP $QU $CL $CP $B2 $PR $HY $BA $SP $dictionary]+ [^$CM $OP $QU $CL $CP $B2
$PR $HY $BA $dictionary]; |
| 683 $dictionary $dictionary; | 691 $dictionary $dictionary; |
| 684 | 692 |
| OLD | NEW |