jdk/src/share/classes/sun/io/CharToByteCp834.java
changeset 2921 d9d491a5a169
parent 2 90ce3da70b43
child 5506 202f599c92aa
--- a/jdk/src/share/classes/sun/io/CharToByteCp834.java	Wed May 20 13:55:50 2009 -0700
+++ b/jdk/src/share/classes/sun/io/CharToByteCp834.java	Thu May 21 23:32:46 2009 -0700
@@ -24,44 +24,15 @@
  */
 package sun.io;
 
-import sun.nio.cs.ext.IBM933;
+import sun.nio.cs.ext.*;
 
 //EBIDIC DBCSONLY Korean
 
-public class CharToByteCp834 extends CharToByteCp933
-{
-    public CharToByteCp834() {
-       super();
-       subBytes = new byte[] {(byte)0xfe, (byte)0xfe};
-    }
-
-    protected boolean doSBCS() {
-        return false;
-    }
+public class CharToByteCp834 extends CharToByteDBCS_ASCII {
 
-    protected int encodeHangul(char ch) {
-        int theBytes = super.encodeHangul(ch);
-        if (theBytes == -1) {
-            // Cp834 has 6 additional non-roundtrip char->bytes
-            // mappings, see#6379808
-            if (ch == '\u00b7') {
-                return 0x4143;
-            } else if (ch == '\u00ad') {
-                return 0x4148;
-            } else if (ch == '\u2015') {
-                return 0x4149;
-            } else if (ch == '\u223c') {
-                return 0x42a1;
-            } else if (ch == '\uff5e') {
-                return 0x4954;
-            } else if (ch == '\u2299') {
-                return 0x496f;
-            }
-        } else if (((theBytes & 0xff00)>>8) == 0) {
-            //SBCS, including 0
-            return -1;
-        }
-        return theBytes;
+    public CharToByteCp834() {
+       super((DoubleByte.Encoder)new IBM834().newEncoder());
+       subBytes = new byte[] {(byte)0xfe, (byte)0xfe};
     }
 
     public int getMaxBytesPerChar() {