mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-07 22:44:49 +00:00
ICU-8046 CLDR 1.9 integration, fix he,fi brkitr
X-SVN-Rev: 28914
This commit is contained in:
parent
f27448c127
commit
33120b6943
6 changed files with 25 additions and 15 deletions
|
@ -9,6 +9,6 @@
|
|||
fi{
|
||||
Version{"2.2.89.3"}
|
||||
boundaries{
|
||||
sentence:process(dependency){"line_fi.brk"}
|
||||
line:process(dependency){"line_fi.brk"}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,6 @@
|
|||
he{
|
||||
Version{"2.2.88.46"}
|
||||
boundaries{
|
||||
sentence:process(dependency){"line_he.brk"}
|
||||
line:process(dependency){"line_he.brk"}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -326,12 +326,12 @@ $QUcm $LB18NonBreaks $CM*; # Don't let a combining mark go onto $CR, $BK, etc
|
|||
$LB20NonBreaks = [$LB18NonBreaks - $CB];
|
||||
|
||||
# LB 20.09 added rule for Finnish tailoring
|
||||
$SP / ($HY | $HH) $AL;
|
||||
|
||||
# LB 21 x (BA | HY | NS)
|
||||
# BB x
|
||||
#
|
||||
$LB20NonBreaks $CM* ($BAcm | $HHcm | $HYcm | $NScm) / $AL;
|
||||
$LB20NonBreaks $CM* ($BAcm | $HHcm | $HYcm | $NScm);
|
||||
($HY | $HH) $AL;
|
||||
|
||||
$BBcm [^$CB]; # $BB x
|
||||
$BBcm $LB20NonBreaks $CM*;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<special xmlns:icu="http://www.icu-project.org/">
|
||||
<icu:breakIteratorData>
|
||||
<icu:boundaries>
|
||||
<icu:sentence icu:dependency="line_fi.brk"/>
|
||||
<icu:line icu:dependency="line_fi.brk"/>
|
||||
</icu:boundaries>
|
||||
</icu:breakIteratorData>
|
||||
</special>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<special xmlns:icu="http://www.icu-project.org/">
|
||||
<icu:breakIteratorData>
|
||||
<icu:boundaries>
|
||||
<icu:sentence icu:dependency="line_he.brk"/>
|
||||
<icu:line icu:dependency="line_he.brk"/>
|
||||
</icu:boundaries>
|
||||
</icu:breakIteratorData>
|
||||
</special>
|
||||
|
|
|
@ -713,6 +713,14 @@ static void TestBreakIteratorUText(void) {
|
|||
* Test break iterator tailorings from CLDR data.
|
||||
*/
|
||||
|
||||
/* Thai/Lao grapheme break tailoring */
|
||||
static const UChar thTest[] = { 0x0020, 0x0E40, 0x0E01, 0x0020,
|
||||
0x0E01, 0x0E30, 0x0020, 0x0E01, 0x0E33, 0x0020, 0 };
|
||||
static const int32_t thTestOffs_enFwd[] = { 1, 3, 4, 6, 7, 9, 10 };
|
||||
static const int32_t thTestOffs_thFwd[] = { 1, 2, 3, 4, 5, 6, 7, 9, 10 };
|
||||
static const int32_t thTestOffs_enRev[] = { 9, 7, 6, 4, 3, 1, 0 };
|
||||
static const int32_t thTestOffs_thRev[] = { 9, 7, 6, 5, 4, 3, 2, 1, 0 };
|
||||
|
||||
/* Hebrew line break tailoring, for cldrbug 3028 */
|
||||
static const UChar heTest[] = { 0x0020, 0x002D, 0x0031, 0x0032, 0x0020,
|
||||
0x0061, 0x002D, 0x006B, 0x0020,
|
||||
|
@ -725,11 +733,11 @@ static const int32_t heTestOffs_enRev[] = { 22, 19, 17, 14, 12, 9, 7, 5, 1,
|
|||
static const int32_t heTestOffs_heRev[] = { 19, 14, 12, 9, 7, 5, 1, 0 };
|
||||
|
||||
/* Finnish line break tailoring, for cldrbug 3029 */
|
||||
static const UChar fiTest[] = { 0x0020, 0x002D, 0x0031, 0x0032, 0x0020,
|
||||
0x0061, 0x002D, 0x006B, 0x0020,
|
||||
0x0061, 0x0300, 0x2010, 0x006B, 0x0020,
|
||||
0x0061, 0x0020, 0x002D, 0x006B, 0x0020,
|
||||
0x0061, 0x0300, 0x0020, 0x2010, 0x006B, 0x0020, 0 };
|
||||
static const UChar fiTest[] = { /* 00 */ 0x0020, 0x002D, 0x0031, 0x0032, 0x0020,
|
||||
/* 05 */ 0x0061, 0x002D, 0x006B, 0x0020,
|
||||
/* 09 */ 0x0061, 0x0300, 0x2010, 0x006B, 0x0020,
|
||||
/* 14 */ 0x0061, 0x0020, 0x002D, 0x006B, 0x0020,
|
||||
/* 19 */ 0x0061, 0x0300, 0x0020, 0x2010, 0x006B, 0x0020, 0 };
|
||||
static const int32_t fiTestOffs_enFwd[] = { 1, 5, 7, 9, 12, 14, 16, 17, 19, 22, 23, 25 };
|
||||
static const int32_t fiTestOffs_fiFwd[] = { 1, 5, 7, 9, 12, 14, 16, 19, 22, 25 };
|
||||
static const int32_t fiTestOffs_enRev[] = { 23, 22, 19, 17, 16, 14, 12, 9, 7, 5, 1, 0 };
|
||||
|
@ -745,10 +753,12 @@ typedef struct {
|
|||
} RBBITailoringTest;
|
||||
|
||||
static const RBBITailoringTest tailoringTests[] = {
|
||||
{ "en", UBRK_LINE, heTest, heTestOffs_enFwd, heTestOffs_enRev, sizeof(heTestOffs_enFwd)/ sizeof(heTestOffs_enFwd[0]) },
|
||||
/* { "he", UBRK_LINE, heTest, heTestOffs_heFwd, heTestOffs_heRev, sizeof(heTestOffs_heFwd)/ sizeof(heTestOffs_heFwd[0]) }, not working yet */
|
||||
{ "en", UBRK_LINE, fiTest, fiTestOffs_enFwd, fiTestOffs_enRev, sizeof(fiTestOffs_enFwd)/ sizeof(fiTestOffs_enFwd[0]) },
|
||||
/* { "fi", UBRK_LINE, fiTest, fiTestOffs_fiFwd, fiTestOffs_fiRev, sizeof(fiTestOffs_fiFwd)/ sizeof(fiTestOffs_fiFwd[0]) }, not working yet */
|
||||
{ "en", UBRK_CHARACTER, thTest, thTestOffs_enFwd, thTestOffs_enRev, sizeof(thTestOffs_enFwd)/sizeof(thTestOffs_enFwd[0]) },
|
||||
{ "th", UBRK_CHARACTER, thTest, thTestOffs_thFwd, thTestOffs_thRev, sizeof(thTestOffs_thFwd)/sizeof(thTestOffs_thFwd[0]) },
|
||||
{ "en", UBRK_LINE, heTest, heTestOffs_enFwd, heTestOffs_enRev, sizeof(heTestOffs_enFwd)/sizeof(heTestOffs_enFwd[0]) },
|
||||
{ "he", UBRK_LINE, heTest, heTestOffs_heFwd, heTestOffs_heRev, sizeof(heTestOffs_heFwd)/sizeof(heTestOffs_heFwd[0]) },
|
||||
{ "en", UBRK_LINE, fiTest, fiTestOffs_enFwd, fiTestOffs_enRev, sizeof(fiTestOffs_enFwd)/sizeof(fiTestOffs_enFwd[0]) },
|
||||
{ "fi", UBRK_LINE, fiTest, fiTestOffs_fiFwd, fiTestOffs_fiRev, sizeof(fiTestOffs_fiFwd)/sizeof(fiTestOffs_fiFwd[0]) },
|
||||
{ NULL, 0, NULL, NULL, NULL, 0 },
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue