Automated import from //branches/master/...@140638,140638
diff --git a/common/ucnv2022.c b/common/ucnv2022.c
index adde568..a08ed9c 100644
--- a/common/ucnv2022.c
+++ b/common/ucnv2022.c
@@ -464,15 +464,29 @@
}
version = options & UCNV_OPTIONS_VERSION_MASK;
myConverterData->version = version;
- if(myLocale[0]=='j' && (myLocale[1]=='a'|| myLocale[1]=='p') &&
- (myLocale[2]=='_' || myLocale[2]=='\0'))
+
+ // BEGIN android-changed
+ /* The "jk" locale ID was made up for KDDI ISO-2022-JP. */
+ /* The "js" locale ID was made up for SoftBank ISO-2022-JP. */
+ if((myLocale[0]=='j' &&
+ (myLocale[1]=='a'|| myLocale[1]=='p' || myLocale[1]=='k' ||
+ myLocale[1]=='s') &&
+ (myLocale[2]=='_' || myLocale[2]=='\0')))
{
size_t len=0;
/* open the required converters and cache them */
if(jpCharsetMasks[version]&CSM(ISO8859_7)) {
myConverterData->myConverterArray[ISO8859_7]= ucnv_loadSharedData("ISO8859_7", NULL, errorCode);
}
- myConverterData->myConverterArray[JISX208] = ucnv_loadSharedData("Shift-JIS", NULL, errorCode);
+ if (myLocale[1]=='k') { /* Use KDDI's version. */
+ myConverterData->myConverterArray[JISX208] = ucnv_loadSharedData("kddi-jisx-208-2007", NULL, errorCode);
+ } else if (myLocale[1]=='s') { /* Use SoftBank's version. */
+ myConverterData->myConverterArray[JISX208] = ucnv_loadSharedData("softbank-jisx-208-2007", NULL, errorCode);
+ } else {
+ myConverterData->myConverterArray[JISX208] = ucnv_loadSharedData("Shift-JIS", NULL, errorCode);
+ }
+ // END android-changed
+
if(jpCharsetMasks[version]&CSM(JISX212)) {
myConverterData->myConverterArray[JISX212] = ucnv_loadSharedData("jisx-212", NULL, errorCode);
}