diff -r 81f798aa5765 -r dbd299f8fdae jdk/src/share/classes/sun/io/ByteToCharBig5_Solaris.java --- a/jdk/src/share/classes/sun/io/ByteToCharBig5_Solaris.java Mon Mar 29 13:27:25 2010 +0800 +++ b/jdk/src/share/classes/sun/io/ByteToCharBig5_Solaris.java Tue Mar 30 19:10:47 2010 -0700 @@ -25,49 +25,19 @@ package sun.io; -/* - * - * - * - * - */ -public class ByteToCharBig5_Solaris extends ByteToCharBig5 { - public ByteToCharBig5_Solaris() {} +import sun.nio.cs.ext.DoubleByte; +import sun.nio.cs.ext.Big5_Solaris; + +public class ByteToCharBig5_Solaris extends ByteToCharDBCS_ASCII { + + private static DoubleByte.Decoder dec = + (DoubleByte.Decoder)new Big5_Solaris().newDecoder(); public String getCharacterEncoding() { return "Big5_Solaris"; } - protected char getUnicode(int byte1, int byte2) { - // - char c = super.getUnicode(byte1, byte2); - if (c == REPLACE_CHAR) { - if (byte1 == 0xf9) { - switch (byte2) { - case 0xD6: - c = (char)0x7881; - break; - case 0xD7: - c = (char)0x92B9; - break; - case 0xD8: - c = (char)0x88CF; - break; - case 0xD9: - c = (char)0x58BB; - break; - case 0xDA: - c = (char)0x6052; - break; - case 0xDB: - c = (char)0x7CA7; - break; - case 0xDC: - c = (char)0x5AFA; - break; - } - } - } - return c; + public ByteToCharBig5_Solaris() { + super(dec); } }