src/share/classes/sun/io/CharToByteCp834.java

Print this page




   7  * published by the Free Software Foundation.  Sun designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Sun in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  22  * CA 95054 USA or visit www.sun.com if you need additional information or
  23  * have any questions.
  24  */
  25 package sun.io;
  26 
  27 import sun.nio.cs.ext.IBM933;
  28 
  29 //EBIDIC DBCSONLY Korean
  30 
  31 public class CharToByteCp834 extends CharToByteCp933
  32 {
  33     public CharToByteCp834() {
  34        super();
  35        subBytes = new byte[] {(byte)0xfe, (byte)0xfe};
  36     }
  37 
  38     protected boolean doSBCS() {
  39         return false;
  40     }
  41 
  42     protected int encodeHangul(char ch) {
  43         int theBytes = super.encodeHangul(ch);
  44         if (theBytes == -1) {
  45             // Cp834 has 6 additional non-roundtrip char->bytes
  46             // mappings, see#6379808
  47             if (ch == '\u00b7') {
  48                 return 0x4143;
  49             } else if (ch == '\u00ad') {
  50                 return 0x4148;
  51             } else if (ch == '\u2015') {
  52                 return 0x4149;
  53             } else if (ch == '\u223c') {
  54                 return 0x42a1;
  55             } else if (ch == '\uff5e') {
  56                 return 0x4954;
  57             } else if (ch == '\u2299') {
  58                 return 0x496f;
  59             }
  60         } else if (((theBytes & 0xff00)>>8) == 0) {
  61             //SBCS, including 0
  62             return -1;
  63         }
  64         return theBytes;
  65     }
  66 
  67     public int getMaxBytesPerChar() {
  68        return 2;
  69     }
  70 
  71     public String getCharacterEncoding() {
  72        return "Cp834";
  73     }
  74 }


   7  * published by the Free Software Foundation.  Sun designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Sun in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  22  * CA 95054 USA or visit www.sun.com if you need additional information or
  23  * have any questions.
  24  */
  25 package sun.io;
  26 
  27 import sun.nio.cs.ext.*;
  28 
  29 //EBIDIC DBCSONLY Korean
  30 
  31 public class CharToByteCp834 extends CharToByteDBCS_ASCII {
  32 
  33     public CharToByteCp834() {
  34        super((DoubleByte.Encoder)new IBM834().newEncoder());
  35        subBytes = new byte[] {(byte)0xfe, (byte)0xfe};
  36     }
  37 





























  38     public int getMaxBytesPerChar() {
  39        return 2;
  40     }
  41 
  42     public String getCharacterEncoding() {
  43        return "Cp834";
  44     }
  45 }