ICU-4399 fix simple case folding of U+0130: simple-case-folds to itself because it's not mentioned in CaseFolding.txt
X-SVN-Rev: 17482
This commit is contained in:
parent
8ec2837d6b
commit
6c4ccc015e
@ -1421,15 +1421,7 @@ ucase_toFullTitle(const UCaseProps *csp, UChar32 c,
|
||||
0049; C; 0069; # LATIN CAPITAL LETTER I
|
||||
0130; F; 0069 0307; # LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||||
|
||||
* U+0130 is otherwise lowercased to U+0069 (UnicodeData.txt).
|
||||
*
|
||||
* In case this code is used with CaseFolding.txt from an older version of Unicode
|
||||
* where CaseFolding.txt contains mappings with a status of 'I' that
|
||||
* have the opposite polarity ('I' mappings are included by default but excluded for Turkic),
|
||||
* we must also hardcode the Unicode 3.2 mappings for the code points
|
||||
* with 'I' mappings.
|
||||
* Unicode 3.1.1 has 'I' mappings for U+0130 and U+0131.
|
||||
* Unicode 3.2 has a 'T' mapping for U+0130, and lowercases U+0131 to itself (see UnicodeData.txt).
|
||||
* U+0130 has no simple case folding (simple-case-folds to itself).
|
||||
*/
|
||||
|
||||
/* return the simple case folding mapping for c */
|
||||
@ -1453,8 +1445,8 @@ ucase_fold(UCaseProps *csp, UChar32 c, uint32_t options) {
|
||||
/* 0049; C; 0069; # LATIN CAPITAL LETTER I */
|
||||
return 0x69;
|
||||
} else if(c==0x130) {
|
||||
/* no simple default mapping for U+0130, use UnicodeData.txt */
|
||||
return 0x69;
|
||||
/* no simple case folding for U+0130 */
|
||||
return c;
|
||||
}
|
||||
} else {
|
||||
/* Turkic mappings */
|
||||
|
Loading…
Reference in New Issue
Block a user