# HG changeset patch # User simonis # Date 1523869167 -19800 # Node ID 9c52da3b7819b17aec7aaf09f26235c85f78103d # Parent 81e8cdf31b5a974391db87d5ece4c90b23d4b0af 8201540: [AIX] Extend the set of supported charsets in java.base Reviewed-by: alanb, sherman, simonis Contributed-by: bhamaram@in.ibm.com diff -r 81e8cdf31b5a -r 9c52da3b7819 make/data/charsetmapping/charsets --- 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 diff -r 81e8cdf31b5a -r 9c52da3b7819 make/data/charsetmapping/stdcs-aix --- 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 diff -r 81e8cdf31b5a -r 9c52da3b7819 make/jdk/src/classes/build/tools/charsetmapping/SPI.java --- 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", diff -r 81e8cdf31b5a -r 9c52da3b7819 src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM942C.java --- 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; - } -} diff -r 81e8cdf31b5a -r 9c52da3b7819 src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM942C.java.template --- /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; + } +} diff -r 81e8cdf31b5a -r 9c52da3b7819 src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM943C.java --- 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; - } - } -} diff -r 81e8cdf31b5a -r 9c52da3b7819 src/jdk.charsets/share/classes/sun/nio/cs/ext/IBM943C.java.template --- /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; + } + } +}