jdk/src/share/classes/sun/io/ByteToCharBig5_Solaris.java
changeset 5167 dbd299f8fdae
parent 2 90ce3da70b43
child 5506 202f599c92aa
--- 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);
     }
 }