8201540: [AIX] Extend the set of supported charsets in java.base
Reviewed-by: alanb, sherman, simonis
Contributed-by: bhamaram@in.ibm.com
--- a/make/data/charsetmapping/charsets Thu Apr 19 12:12:05 2018 +0200
+++ b/make/data/charsetmapping/charsets Mon Apr 16 14:29:27 2018 +0530
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -326,6 +326,8 @@
ascii true
alias cp1252 # JDK historical
alias cp5348 # Euro IBM CCSID
+ alias ibm-1252
+ alias ibm1252
charset windows-1253 MS1253
package sun.nio.cs
@@ -933,11 +935,16 @@
charset x-IBM942C IBM942C
package sun.nio.cs.ext
- type source
+ type template
alias cp942C # JDK historical
alias ibm942C
alias ibm-942C
alias 942C
+ alias cp932
+ alias ibm932
+ alias ibm-932
+ alias 932
+ alias x-ibm932
charset x-IBM943 IBM943
package sun.nio.cs.ext
@@ -952,7 +959,7 @@
charset x-IBM943C IBM943C
package sun.nio.cs.ext
- type source
+ type template
alias cp943C # JDK historical
alias ibm943C
alias ibm-943C
@@ -1519,6 +1526,9 @@
alias ibm1383
alias ibm-1383
alias 1383
+ alias ibmeuccn
+ alias ibm-euccn
+ alias cpeuccn
charset x-IBM970 IBM970
package sun.nio.cs.ext
--- a/make/data/charsetmapping/stdcs-aix Thu Apr 19 12:12:05 2018 +0200
+++ b/make/data/charsetmapping/stdcs-aix Mon Apr 16 14:29:27 2018 +0530
@@ -1,6 +1,26 @@
#
# generate these charsets into sun.nio.cs
#
+Big5
+Big5_Solaris
+Big5_HKSCS
EUC_CN
EUC_KR
GBK
+GB18030
+IBM856
+IBM921
+IBM922
+IBM942
+IBM942C
+IBM943
+IBM943C
+IBM950
+IBM970
+IBM1046
+IBM1124
+IBM1383
+ISO_8859_6
+ISO_8859_8
+MS1252
+TIS_620
--- a/make/jdk/src/classes/build/tools/charsetmapping/SPI.java Thu Apr 19 12:12:05 2018 +0200
+++ b/make/jdk/src/classes/build/tools/charsetmapping/SPI.java Mon Apr 16 14:29:27 2018 +0530
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -129,7 +129,7 @@
} else if (line.indexOf("_INCLUDE_ALIASES_MAP_") != -1) {
Hasher.genClass(out, aliasKeys, aliasValues,
null, "Aliases", "String",
- 11, 3, true, false, false);
+ 12, 3, true, false, false);
} else if (line.indexOf("_INCLUDE_CLASSES_MAP_") != -1) {
Hasher.genClass(out, clzKeys, clzValues,
null, "Classes", "String",
--- a/src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM942C.java Thu Apr 19 12:12:05 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.util.Arrays;
-import sun.nio.cs.DoubleByte;
-import sun.nio.cs.HistoricallyNamedCharset;
-import static sun.nio.cs.CharsetMapping.*;
-
-public class IBM942C extends Charset implements HistoricallyNamedCharset
-{
- public IBM942C() {
- super("x-IBM942C", ExtendedCharsets.aliasesFor("x-IBM942C"));
- }
-
- public String historicalName() {
- return "Cp942C";
- }
-
- public boolean contains(Charset cs) {
- return ((cs.name().equals("US-ASCII"))
- || (cs instanceof IBM942C));
- }
-
- public CharsetDecoder newDecoder() {
- return new DoubleByte.Decoder(this,
- IBM942.b2c,
- b2cSB,
- 0x40,
- 0xfc);
- }
-
- public CharsetEncoder newEncoder() {
- return new DoubleByte.Encoder(this, c2b, c2bIndex);
- }
-
- final static char[] b2cSB;
- final static char[] c2b;
- final static char[] c2bIndex;
-
- static {
- IBM942.initb2c();
-
- // the mappings need udpate are
- // u+001a <-> 0x1a
- // u+001c <-> 0x1c
- // u+005c <-> 0x5c
- // u+007e <-> 0x7e
- // u+007f <-> 0x7f
-
- b2cSB = Arrays.copyOf(IBM942.b2cSB, IBM942.b2cSB.length);
- b2cSB[0x1a] = 0x1a;
- b2cSB[0x1c] = 0x1c;
- b2cSB[0x5c] = 0x5c;
- b2cSB[0x7e] = 0x7e;
- b2cSB[0x7f] = 0x7f;
-
- IBM942.initc2b();
- c2b = Arrays.copyOf(IBM942.c2b, IBM942.c2b.length);
- c2bIndex = Arrays.copyOf(IBM942.c2bIndex, IBM942.c2bIndex.length);
- c2b[c2bIndex[0] + 0x1a] = 0x1a;
- c2b[c2bIndex[0] + 0x1c] = 0x1c;
- c2b[c2bIndex[0] + 0x5c] = 0x5c;
- c2b[c2bIndex[0] + 0x7e] = 0x7e;
- c2b[c2bIndex[0] + 0x7f] = 0x7f;
- }
-}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM942C.java.template Mon Apr 16 14:29:27 2018 +0530
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package $PACKAGE$;
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+import java.util.Arrays;
+import sun.nio.cs.DoubleByte;
+import sun.nio.cs.HistoricallyNamedCharset;
+import static sun.nio.cs.CharsetMapping.*;
+
+public class IBM942C extends Charset implements HistoricallyNamedCharset
+{
+ public IBM942C() {
+ super("x-IBM942C", $ALIASES$);
+ }
+
+ public String historicalName() {
+ return "Cp942C";
+ }
+
+ public boolean contains(Charset cs) {
+ return ((cs.name().equals("US-ASCII"))
+ || (cs instanceof IBM942C));
+ }
+
+ public CharsetDecoder newDecoder() {
+ return new DoubleByte.Decoder(this,
+ IBM942.b2c,
+ b2cSB,
+ 0x40,
+ 0xfc);
+ }
+
+ public CharsetEncoder newEncoder() {
+ return new DoubleByte.Encoder(this, c2b, c2bIndex);
+ }
+
+ final static char[] b2cSB;
+ final static char[] c2b;
+ final static char[] c2bIndex;
+
+ static {
+ IBM942.initb2c();
+
+ // the mappings need udpate are
+ // u+001a <-> 0x1a
+ // u+001c <-> 0x1c
+ // u+005c <-> 0x5c
+ // u+007e <-> 0x7e
+ // u+007f <-> 0x7f
+
+ b2cSB = Arrays.copyOf(IBM942.b2cSB, IBM942.b2cSB.length);
+ b2cSB[0x1a] = 0x1a;
+ b2cSB[0x1c] = 0x1c;
+ b2cSB[0x5c] = 0x5c;
+ b2cSB[0x7e] = 0x7e;
+ b2cSB[0x7f] = 0x7f;
+
+ IBM942.initc2b();
+ c2b = Arrays.copyOf(IBM942.c2b, IBM942.c2b.length);
+ c2bIndex = Arrays.copyOf(IBM942.c2bIndex, IBM942.c2bIndex.length);
+ c2b[c2bIndex[0] + 0x1a] = 0x1a;
+ c2b[c2bIndex[0] + 0x1c] = 0x1c;
+ c2b[c2bIndex[0] + 0x5c] = 0x5c;
+ c2b[c2bIndex[0] + 0x7e] = 0x7e;
+ c2b[c2bIndex[0] + 0x7f] = 0x7f;
+ }
+}
--- a/src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM943C.java Thu Apr 19 12:12:05 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.util.Arrays;
-import sun.nio.cs.DoubleByte;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM943C extends Charset implements HistoricallyNamedCharset
-{
-
- public IBM943C() {
- super("x-IBM943C", ExtendedCharsets.aliasesFor("x-IBM943C"));
- }
-
- public String historicalName() {
- return "Cp943C";
- }
-
- public boolean contains(Charset cs) {
- return ((cs.name().equals("US-ASCII"))
- || (cs instanceof IBM943C));
- }
-
- public CharsetDecoder newDecoder() {
- return new DoubleByte.Decoder(this,
- IBM943.b2c,
- b2cSB,
- 0x40,
- 0xfc);
- }
-
- public CharsetEncoder newEncoder() {
- return new DoubleByte.Encoder(this, c2b, c2bIndex);
- }
-
- final static char[] b2cSB;
- final static char[] c2b;
- final static char[] c2bIndex;
-
- static {
- IBM943.initb2c();
- b2cSB = new char[0x100];
- for (int i = 0; i < 0x80; i++) {
- b2cSB[i] = (char)i;
- }
- for (int i = 0x80; i < 0x100; i++) {
- b2cSB[i] = IBM943.b2cSB[i];
- }
-
- IBM943.initc2b();
- c2b = Arrays.copyOf(IBM943.c2b, IBM943.c2b.length);
- c2bIndex = Arrays.copyOf(IBM943.c2bIndex, IBM943.c2bIndex.length);
- for (char c = '\0'; c < '\u0080'; ++c) {
- int index = c2bIndex[c >> 8];
- c2b[index + (c & 0xff)] = c;
- }
- }
-}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM943C.java.template Mon Apr 16 14:29:27 2018 +0530
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package $PACKAGE$;
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+import java.util.Arrays;
+import sun.nio.cs.DoubleByte;
+import sun.nio.cs.HistoricallyNamedCharset;
+
+public class IBM943C extends Charset implements HistoricallyNamedCharset
+{
+
+ public IBM943C() {
+ super("x-IBM943C", $ALIASES$);
+ }
+
+ public String historicalName() {
+ return "Cp943C";
+ }
+
+ public boolean contains(Charset cs) {
+ return ((cs.name().equals("US-ASCII"))
+ || (cs instanceof IBM943C));
+ }
+
+ public CharsetDecoder newDecoder() {
+ return new DoubleByte.Decoder(this,
+ IBM943.b2c,
+ b2cSB,
+ 0x40,
+ 0xfc);
+ }
+
+ public CharsetEncoder newEncoder() {
+ return new DoubleByte.Encoder(this, c2b, c2bIndex);
+ }
+
+ final static char[] b2cSB;
+ final static char[] c2b;
+ final static char[] c2bIndex;
+
+ static {
+ IBM943.initb2c();
+ b2cSB = new char[0x100];
+ for (int i = 0; i < 0x80; i++) {
+ b2cSB[i] = (char)i;
+ }
+ for (int i = 0x80; i < 0x100; i++) {
+ b2cSB[i] = IBM943.b2cSB[i];
+ }
+
+ IBM943.initc2b();
+ c2b = Arrays.copyOf(IBM943.c2b, IBM943.c2b.length);
+ c2bIndex = Arrays.copyOf(IBM943.c2bIndex, IBM943.c2bIndex.length);
+ for (char c = '\0'; c < '\u0080'; ++c) {
+ int index = c2bIndex[c >> 8];
+ c2b[index + (c & 0xff)] = c;
+ }
+ }
+}