]> granicus.if.org Git - icu/commitdiff
ICU-11869 Port ICU4C fix to ICU4J
authorMichael Ow <mow@svn.icu-project.org>
Wed, 23 Sep 2015 17:29:48 +0000 (17:29 +0000)
committerMichael Ow <mow@svn.icu-project.org>
Wed, 23 Sep 2015 17:29:48 +0000 (17:29 +0000)
X-SVN-Rev: 38007

icu4j/main/classes/charset/src/com/ibm/icu/charset/CharsetISO2022.java

index 69710689632f44c2627a6dc74dff4eab4eb7374b..f2d56cf10564f8946d2183df8a345939b5eac0c3 100644 (file)
@@ -1543,8 +1543,8 @@ class CharsetISO2022 extends CharsetICU {
         KSC5601,
         HWKANA_7BIT
     };
-    /* preference order of JP charsets for version 4*/
-    private final static byte []jpCharsetPref_ver4 = {
+    /* preference order of JP charsets for version 2,3,4*/
+    private final static byte []jpCharsetPref_alt = {
         ASCII,
         JISX201,
         ISO8859_1,
@@ -1839,11 +1839,11 @@ class CharsetISO2022 extends CharsetICU {
                         }
                         
                         /*
-                        * version 4 of JP iso 2022 requires a different preference order for the possible charsets.
+                        * version 2,3,4 of JP iso 2022 requires a different preference order for the possible charsets.
                         */
-                        if (myConverterData.version == 4) {
-                            for (int i = 0; i < jpCharsetPref_ver4.length; i++) {
-                                cs = jpCharsetPref_ver4[i];
+                        if (cs == 0 && myConverterData.version >= 2) {
+                            for (int i = 0; i < jpCharsetPref_alt.length; i++) {
+                                cs = jpCharsetPref_alt[i];
                                 if ((CSM(cs) & csm) != 0) {
                                     choices[choiceCount++] = cs;
                                     csm &= ~CSM(cs);