--- a/jdk/src/share/classes/java/lang/String.java Tue Apr 07 12:40:58 2009 +0400
+++ b/jdk/src/share/classes/java/lang/String.java Fri Apr 10 11:51:36 2009 +0900
@@ -2451,14 +2451,21 @@
}
if (localeDependent || srcChar == '\u03A3') { // GREEK CAPITAL LETTER SIGMA
lowerChar = ConditionalSpecialCasing.toLowerCaseEx(this, i, locale);
+ } else if (srcChar == '\u0130') { // LATIN CAPITAL LETTER I DOT
+ lowerChar = Character.ERROR;
} else {
lowerChar = Character.toLowerCase(srcChar);
}
if ((lowerChar == Character.ERROR) ||
(lowerChar >= Character.MIN_SUPPLEMENTARY_CODE_POINT)) {
if (lowerChar == Character.ERROR) {
- lowerCharArray =
- ConditionalSpecialCasing.toLowerCaseCharArray(this, i, locale);
+ if (!localeDependent && srcChar == '\u0130') {
+ lowerCharArray =
+ ConditionalSpecialCasing.toLowerCaseCharArray(this, i, Locale.ENGLISH);
+ } else {
+ lowerCharArray =
+ ConditionalSpecialCasing.toLowerCaseCharArray(this, i, locale);
+ }
} else if (srcCount == 2) {
resultOffset += Character.toChars(lowerChar, result, i + resultOffset) - srcCount;
continue;