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 } |