$OpenBSD: patch-j2se_src_share_classes_sun_io_CharToByteKOI8_U_java,v 1.1 2007/09/06 15:46:19 kurt Exp $
--- j2se/src/share/classes/sun/io/CharToByteKOI8_U.java.orig	Mon Jul 30 19:24:16 2007
+++ j2se/src/share/classes/sun/io/CharToByteKOI8_U.java	Mon Jul 30 19:23:56 2007
@@ -0,0 +1,236 @@
+/*
+ * @(#)CharToByteKOI8_U.java	1.0 01/05/01
+ *
+ *
+ */
+
+package sun.io;
+
+/**
+ * Tables and data to convert Unicode to KOI8_U
+ *
+ * @author  Andriy Rysin
+ * @version >= JDK1.1.6
+ */
+
+public class CharToByteKOI8_U extends CharToByteSingleByte {
+
+    public String getCharacterEncoding() {
+        return "KOI8_U";
+    }
+
+    public CharToByteKOI8_U() {
+        super.mask1 = 0xFF00;
+        super.mask2 = 0x00FF;
+        super.shift = 8;
+        super.index1 = index1;
+        super.index2 = index2;
+    }
+
+    private final static String index2 =
+
+        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + 
+        "\b\t\n\u000B\f\r\u000E\u000F" + 
+        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + 
+        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + 
+        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + 
+        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + 
+        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + 
+        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + 
+        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + 
+        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + 
+        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + 
+        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + 
+        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + 
+        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + 
+        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + 
+        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u009A\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u00BF\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u009C\u0000\u009D\u0000\u0000\u0000\u0000\u009E" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009F" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u00B3\u0000\u0000\u00B4\u0000\u00B6\u00B7\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u00BE\u0000\u00E1" + 
+        "\u00E2\u00F7\u00E7\u00E4\u00E5\u00F6\u00FA\u00E9" + 
+        "\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F2" + 
+        "\u00F3\u00F4\u00F5\u00E6\u00E8\u00E3\u00FE\u00FB" + 
+        "\u00FD\u00FF\u00F9\u00F8\u00FC\u00E0\u00F1\u00C1" + 
+        "\u00C2\u00D7\u00C7\u00C4\u00C5\u00D6\u00DA\u00C9" + 
+        "\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D2" + 
+        "\u00D3\u00D4\u00D5\u00C6\u00C8\u00C3\u00DE\u00DB" + 
+        "\u00DD\u00DF\u00D9\u00D8\u00DC\u00C0\u00D1\u0000" + 
+        "\u00A3\u0000\u0000\u00A4\u0000\u00A6\u00A7\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u00AE\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BD" + 
+        "\u00AD\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0095" + 
+        "\u0096\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0097\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0098\u0099\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0093\u009B" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" + 
+        "\u0081\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0082\u0000\u0000\u0000\u0083\u0000" + 
+        "\u0000\u0000\u0084\u0000\u0000\u0000\u0085\u0000" + 
+        "\u0000\u0000\u0086\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0087\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0088\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u008A\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u00A0\u00A1" + 
+        "\u00A2\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA" + 
+        "\u00AB\u00AC\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2" + 
+        "\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB" + 
+        "\u00BC\u00BD\u00BE\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u008B\u0000" + 
+        "\u0000\u0000\u008C\u0000\u0000\u0000\u008D\u0000" + 
+        "\u0000\u0000\u008E\u0000\u0000\u0000\u008F\u0090" + 
+        "\u0091\u0092\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0094\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + 
+        "\u0000\u0000\u0000\u0000\u0000\u0000"; 
+
+    private final static short index1[] = {
+        0, 248, 248, 248, 503, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 734, 958, 248, 1214, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+        248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 
+    };
+
+}
