2006-11-20 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Mon, 20 Nov 2006 03:22:34 +0000 (03:22 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Mon, 20 Nov 2006 03:22:34 +0000 (03:22 -0000)
* windows-437-2000.ucm: copied from ICU: http://dev.icu-project.org/cgi-bin/viewcvs.cgi/charset/data/ucm/windows-437-2000.ucm?revision=1.2
* windows-10079-2000.ucm: copied from ICU: http://dev.icu-project.org/cgi-bin/viewcvs.cgi/charset/data/ucm/windows-10079-2000.ucm?revision=1.2
* CP437.cs : now it is autogenerated from windows-437-2000.ucm
  Fixed bug #79951
* CP10079.cs : now it is autogenerated from windows-10079-2000.ucm.

svn path=/trunk/mcs/; revision=68172

mcs/class/I18N/West/CP10079.cs
mcs/class/I18N/West/CP437.cs
mcs/class/I18N/West/ChangeLog
mcs/class/I18N/West/windows-10079-2000.ucm [new file with mode: 0644]
mcs/class/I18N/West/windows-437-2000.ucm [new file with mode: 0644]

index e15895df8211521a49f50bf33b7621f89f76e13b..3e6b9123c4474c40fa747db7e6873cc69f445802 100644 (file)
@@ -22,7 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 
-// Generated from "mac-is.ucm".
+// Generated from "windows-10079-2000.ucm".
 
 namespace I18N.West
 {
@@ -67,22 +67,22 @@ public class CP10079 : ByteEncoding
                '\u00E4', '\u00E3', '\u00E5', '\u00E7', '\u00E9', '\u00E8', 
                '\u00EA', '\u00EB', '\u00ED', '\u00EC', '\u00EE', '\u00EF', 
                '\u00F1', '\u00F3', '\u00F2', '\u00F4', '\u00F6', '\u00F5', 
-               '\u00FA', '\u00F9', '\u00FB', '\u00FC', /*'\u2020'*/'\u00DD', '\u00B0', 
+               '\u00FA', '\u00F9', '\u00FB', '\u00FC', '\u00DD', '\u00B0', 
                '\u00A2', '\u00A3', '\u00A7', '\u2022', '\u00B6', '\u00DF', 
                '\u00AE', '\u00A9', '\u2122', '\u00B4', '\u00A8', '\u2260', 
                '\u00C6', '\u00D8', '\u221E', '\u00B1', '\u2264', '\u2265', 
                '\u00A5', '\u00B5', '\u2202', '\u2211', '\u220F', '\u03C0', 
-               '\u222B', '\u00AA', '\u00BA', '\u03A9', '\u00E6', '\u00F8', 
+               '\u222B', '\u00AA', '\u00BA', '\u2126', '\u00E6', '\u00F8', 
                '\u00BF', '\u00A1', '\u00AC', '\u221A', '\u0192', '\u2248', 
-               '\u0394', '\u00AB', '\u00BB', '\u2026', '\u00A0', '\u00C0', 
-               '\u00C3', '\u00D5', '\u0152', '\u0153', /*'\u2014'*/'\u2013', '\u2013', 
-               '\u201C', '\u201D', '\u2018', '\u2019', '\u00F7', '\u25C6', 
-               '\u00FF', '\u0178', '\u2044', '\u00A4', '\u0110', /*\u0111*/'\u00F0', 
-               '\u00DE', '\u00FE', /*'\u2021'*/'\u00FD', '\u00B7', '\u201A', '\u201E', 
+               '\u2206', '\u00AB', '\u00BB', '\u2026', '\u00A0', '\u00C0', 
+               '\u00C3', '\u00D5', '\u0152', '\u0153', '\u2013', '\u2014', 
+               '\u201C', '\u201D', '\u2018', '\u2019', '\u00F7', '\u25CA', 
+               '\u00FF', '\u0178', '\u2044', '\u00A4', '\u00D0', '\u00F0', 
+               '\u00DE', '\u00FE', '\u00FD', '\u00B7', '\u201A', '\u201E', 
                '\u2030', '\u00C2', '\u00CA', '\u00C1', '\u00CB', '\u00C8', 
                '\u00CD', '\u00CE', '\u00CF', '\u00CC', '\u00D3', '\u00D4', 
-               '\uE01E', '\u00D2', '\u00DA', '\u00DB', '\u00D9', '\u0131', 
-               '\u003F', '\u003F', '\u00AF', '\u02D8', '\u02D9', '\u02DA', 
+               '\uF8FF', '\u00D2', '\u00DA', '\u00DB', '\u00D9', '\u0131', 
+               '\u02C6', '\u02DC', '\u00AF', '\u02D8', '\u02D9', '\u02DA', 
                '\u00B8', '\u02DD', '\u02DB', '\u02C7', 
        };
 
@@ -142,6 +142,7 @@ public class CP10079 : ByteEncoding
                                case 0x00CD: ch = 0xEA; break;
                                case 0x00CE: ch = 0xEB; break;
                                case 0x00CF: ch = 0xEC; break;
+                               case 0x00D0: ch = 0xDC; break;
                                case 0x00D1: ch = 0x84; break;
                                case 0x00D2: ch = 0xF1; break;
                                case 0x00D3: ch = 0xEE; break;
@@ -153,7 +154,7 @@ public class CP10079 : ByteEncoding
                                case 0x00DA: ch = 0xF2; break;
                                case 0x00DB: ch = 0xF3; break;
                                case 0x00DC: ch = 0x86; break;
-                               case 0x00DD: ch = 0xA0; break; /*mono*/
+                               case 0x00DD: ch = 0xA0; break;
                                case 0x00DF: ch = 0xA7; break;
                                case 0x00E0: ch = 0x88; break;
                                case 0x00E1: ch = 0x87; break;
@@ -171,7 +172,7 @@ public class CP10079 : ByteEncoding
                                case 0x00ED: ch = 0x92; break;
                                case 0x00EE: ch = 0x94; break;
                                case 0x00EF: ch = 0x95; break;
-                               case 0x00F0: ch = 0xDD; break; /*mono*/
+                               case 0x00F0: ch = 0xDD; break;
                                case 0x00F1: ch = 0x96; break;
                                case 0x00F2: ch = 0x98; break;
                                case 0x00F3: ch = 0x97; break;
@@ -184,41 +185,39 @@ public class CP10079 : ByteEncoding
                                case 0x00FA: ch = 0x9C; break;
                                case 0x00FB: ch = 0x9E; break;
                                case 0x00FC: ch = 0x9F; break;
-                               case 0x00FD: ch = 0xE0; break; /*mono*/
+                               case 0x00FD: ch = 0xE0; break;
                                case 0x00FE: ch = 0xDF; break;
                                case 0x00FF: ch = 0xD8; break;
-                               case 0x0110: ch = 0xDC; break;
-                               case 0x0111: ch = 0xDD; break;
                                case 0x0131: ch = 0xF5; break;
                                case 0x0152: ch = 0xCE; break;
                                case 0x0153: ch = 0xCF; break;
                                case 0x0178: ch = 0xD9; break;
                                case 0x0192: ch = 0xC4; break;
+                               case 0x02C6: ch = 0xF6; break;
                                case 0x02C7: ch = 0xFF; break;
                                case 0x02D8: ch = 0xF9; break;
                                case 0x02D9: ch = 0xFA; break;
                                case 0x02DA: ch = 0xFB; break;
                                case 0x02DB: ch = 0xFE; break;
+                               case 0x02DC: ch = 0xF7; break;
                                case 0x02DD: ch = 0xFD; break;
-                               case 0x0394: ch = 0xC6; break;
-                               case 0x03A9: ch = 0xBD; break;
                                case 0x03C0: ch = 0xB9; break;
-                               case 0x2013: ch = /*0xD1*/0xD0; break;
-                               case 0x2014: ch = 0xD0; break;
+                               case 0x2013: ch = 0xD0; break;
+                               case 0x2014: ch = 0xD1; break;
                                case 0x2018: ch = 0xD4; break;
                                case 0x2019: ch = 0xD5; break;
                                case 0x201A: ch = 0xE2; break;
                                case 0x201C: ch = 0xD2; break;
                                case 0x201D: ch = 0xD3; break;
                                case 0x201E: ch = 0xE3; break;
-                               case 0x2020: ch = 0xA0; break;
-                               case 0x2021: ch = 0xE0; break;
                                case 0x2022: ch = 0xA5; break;
                                case 0x2026: ch = 0xC9; break;
                                case 0x2030: ch = 0xE4; break;
                                case 0x2044: ch = 0xDA; break;
                                case 0x2122: ch = 0xAA; break;
+                               case 0x2126: ch = 0xBD; break;
                                case 0x2202: ch = 0xB6; break;
+                               case 0x2206: ch = 0xC6; break;
                                case 0x220F: ch = 0xB8; break;
                                case 0x2211: ch = 0xB7; break;
                                case 0x221A: ch = 0xC3; break;
@@ -228,13 +227,13 @@ public class CP10079 : ByteEncoding
                                case 0x2260: ch = 0xAD; break;
                                case 0x2264: ch = 0xB2; break;
                                case 0x2265: ch = 0xB3; break;
-                               case 0x25C6: ch = 0xD7; break;
-                               case 0xE01E: ch = 0xF0; break;
+                               case 0x25CA: ch = 0xD7; break;
+                               case 0xF8FF: ch = 0xF0; break;
                                default:
 #if NET_2_0
                                        HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
 #else
-                                       ch = 0x3F;
+                                               ch = 0x3F;
 #endif
                                        break;
                        }
@@ -296,6 +295,7 @@ public class CP10079 : ByteEncoding
                                case 0x00CD: ch = 0xEA; break;
                                case 0x00CE: ch = 0xEB; break;
                                case 0x00CF: ch = 0xEC; break;
+                               case 0x00D0: ch = 0xDC; break;
                                case 0x00D1: ch = 0x84; break;
                                case 0x00D2: ch = 0xF1; break;
                                case 0x00D3: ch = 0xEE; break;
@@ -307,6 +307,7 @@ public class CP10079 : ByteEncoding
                                case 0x00DA: ch = 0xF2; break;
                                case 0x00DB: ch = 0xF3; break;
                                case 0x00DC: ch = 0x86; break;
+                               case 0x00DD: ch = 0xA0; break;
                                case 0x00DF: ch = 0xA7; break;
                                case 0x00E0: ch = 0x88; break;
                                case 0x00E1: ch = 0x87; break;
@@ -324,6 +325,7 @@ public class CP10079 : ByteEncoding
                                case 0x00ED: ch = 0x92; break;
                                case 0x00EE: ch = 0x94; break;
                                case 0x00EF: ch = 0x95; break;
+                               case 0x00F0: ch = 0xDD; break;
                                case 0x00F1: ch = 0x96; break;
                                case 0x00F2: ch = 0x98; break;
                                case 0x00F3: ch = 0x97; break;
@@ -336,40 +338,39 @@ public class CP10079 : ByteEncoding
                                case 0x00FA: ch = 0x9C; break;
                                case 0x00FB: ch = 0x9E; break;
                                case 0x00FC: ch = 0x9F; break;
+                               case 0x00FD: ch = 0xE0; break;
                                case 0x00FE: ch = 0xDF; break;
                                case 0x00FF: ch = 0xD8; break;
-                               case 0x0110: ch = 0xDC; break;
-                               case 0x0111: ch = 0xDD; break;
                                case 0x0131: ch = 0xF5; break;
                                case 0x0152: ch = 0xCE; break;
                                case 0x0153: ch = 0xCF; break;
                                case 0x0178: ch = 0xD9; break;
                                case 0x0192: ch = 0xC4; break;
+                               case 0x02C6: ch = 0xF6; break;
                                case 0x02C7: ch = 0xFF; break;
                                case 0x02D8: ch = 0xF9; break;
                                case 0x02D9: ch = 0xFA; break;
                                case 0x02DA: ch = 0xFB; break;
                                case 0x02DB: ch = 0xFE; break;
+                               case 0x02DC: ch = 0xF7; break;
                                case 0x02DD: ch = 0xFD; break;
-                               case 0x0394: ch = 0xC6; break;
-                               case 0x03A9: ch = 0xBD; break;
                                case 0x03C0: ch = 0xB9; break;
-                               case 0x2013: ch = 0xD1; break;
-                               case 0x2014: ch = 0xD0; break;
+                               case 0x2013: ch = 0xD0; break;
+                               case 0x2014: ch = 0xD1; break;
                                case 0x2018: ch = 0xD4; break;
                                case 0x2019: ch = 0xD5; break;
                                case 0x201A: ch = 0xE2; break;
                                case 0x201C: ch = 0xD2; break;
                                case 0x201D: ch = 0xD3; break;
                                case 0x201E: ch = 0xE3; break;
-                               case 0x2020: ch = 0xA0; break;
-                               case 0x2021: ch = 0xE0; break;
                                case 0x2022: ch = 0xA5; break;
                                case 0x2026: ch = 0xC9; break;
                                case 0x2030: ch = 0xE4; break;
                                case 0x2044: ch = 0xDA; break;
                                case 0x2122: ch = 0xAA; break;
+                               case 0x2126: ch = 0xBD; break;
                                case 0x2202: ch = 0xB6; break;
+                               case 0x2206: ch = 0xC6; break;
                                case 0x220F: ch = 0xB8; break;
                                case 0x2211: ch = 0xB7; break;
                                case 0x221A: ch = 0xC3; break;
@@ -379,8 +380,8 @@ public class CP10079 : ByteEncoding
                                case 0x2260: ch = 0xAD; break;
                                case 0x2264: ch = 0xB2; break;
                                case 0x2265: ch = 0xB3; break;
-                               case 0x25C6: ch = 0xD7; break;
-                               case 0xE01E: ch = 0xF0; break;
+                               case 0x25CA: ch = 0xD7; break;
+                               case 0xF8FF: ch = 0xF0; break;
                                default: ch = 0x3F; break;
                        }
                        bytes[byteIndex++] = (byte)ch;
index a35b1378e32c8dc3470685ec43577f3e07457be2..f1553c30c8363ea5a8bbd13869063ab6bdfca2da 100644 (file)
@@ -22,7 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 
-// Generated from "ibm-437.ucm".
+// Generated from "windows-437-2000.ucm".
 
 namespace I18N.West
 {
@@ -45,7 +45,7 @@ public class CP437 : ByteEncoding
                '\u0006', '\u0007', '\u0008', '\u0009', '\u000A', '\u000B', 
                '\u000C', '\u000D', '\u000E', '\u000F', '\u0010', '\u0011', 
                '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', 
-               '\u0018', '\u0019', '\u001C', '\u001B', '\u007F', '\u001D', 
+               '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', 
                '\u001E', '\u001F', '\u0020', '\u0021', '\u0022', '\u0023', 
                '\u0024', '\u0025', '\u0026', '\u0027', '\u0028', '\u0029', 
                '\u002A', '\u002B', '\u002C', '\u002D', '\u002E', '\u002F', 
@@ -62,7 +62,7 @@ public class CP437 : ByteEncoding
                '\u006C', '\u006D', '\u006E', '\u006F', '\u0070', '\u0071', 
                '\u0072', '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', 
                '\u0078', '\u0079', '\u007A', '\u007B', '\u007C', '\u007D', 
-               '\u007E', '\u001A', '\u00C7', '\u00FC', '\u00E9', '\u00E2', 
+               '\u007E', '\u007F', '\u00C7', '\u00FC', '\u00E9', '\u00E2', 
                '\u00E4', '\u00E0', '\u00E5', '\u00E7', '\u00EA', '\u00EB', 
                '\u00E8', '\u00EF', '\u00EE', '\u00EC', '\u00C4', '\u00C5', 
                '\u00C9', '\u00E6', '\u00C6', '\u00F4', '\u00F6', '\u00F2', 
@@ -79,7 +79,7 @@ public class CP437 : ByteEncoding
                '\u2565', '\u2559', '\u2558', '\u2552', '\u2553', '\u256B', 
                '\u256A', '\u2518', '\u250C', '\u2588', '\u2584', '\u258C', 
                '\u2590', '\u2580', '\u03B1', '\u00DF', '\u0393', '\u03C0', 
-               '\u03A3', '\u03C3', '\u03BC', '\u03C4', '\u03A6', '\u0398', 
+               '\u03A3', '\u03C3', '\u00B5', '\u03C4', '\u03A6', '\u0398', 
                '\u03A9', '\u03B4', '\u221E', '\u03C6', '\u03B5', '\u2229', 
                '\u2261', '\u00B1', '\u2265', '\u2264', '\u2320', '\u2321', 
                '\u00F7', '\u2248', '\u00B0', '\u2219', '\u00B7', '\u221A', 
@@ -98,142 +98,76 @@ public class CP437 : ByteEncoding
                while(charCount > 0)
                {
                        ch = (int)(chars[charIndex++]);
-                       if(ch >= 26) switch(ch)
+                       if(ch >= 128) switch(ch)
                        {
-                               case 0x001B:
-                               case 0x001D:
-                               case 0x001E:
-                               case 0x001F:
-                               case 0x0020:
-                               case 0x0021:
-                               case 0x0022:
-                               case 0x0023:
-                               case 0x0024:
-                               case 0x0025:
-                               case 0x0026:
-                               case 0x0027:
-                               case 0x0028:
-                               case 0x0029:
-                               case 0x002A:
-                               case 0x002B:
-                               case 0x002C:
-                               case 0x002D:
-                               case 0x002E:
-                               case 0x002F:
-                               case 0x0030:
-                               case 0x0031:
-                               case 0x0032:
-                               case 0x0033:
-                               case 0x0034:
-                               case 0x0035:
-                               case 0x0036:
-                               case 0x0037:
-                               case 0x0038:
-                               case 0x0039:
-                               case 0x003A:
-                               case 0x003B:
-                               case 0x003C:
-                               case 0x003D:
-                               case 0x003E:
-                               case 0x003F:
-                               case 0x0040:
-                               case 0x0041:
-                               case 0x0042:
-                               case 0x0043:
-                               case 0x0044:
-                               case 0x0045:
-                               case 0x0046:
-                               case 0x0047:
-                               case 0x0048:
-                               case 0x0049:
-                               case 0x004A:
-                               case 0x004B:
-                               case 0x004C:
-                               case 0x004D:
-                               case 0x004E:
-                               case 0x004F:
-                               case 0x0050:
-                               case 0x0051:
-                               case 0x0052:
-                               case 0x0053:
-                               case 0x0054:
-                               case 0x0055:
-                               case 0x0056:
-                               case 0x0057:
-                               case 0x0058:
-                               case 0x0059:
-                               case 0x005A:
-                               case 0x005B:
-                               case 0x005C:
-                               case 0x005D:
-                               case 0x005E:
-                               case 0x005F:
-                               case 0x0060:
-                               case 0x0061:
-                               case 0x0062:
-                               case 0x0063:
-                               case 0x0064:
-                               case 0x0065:
-                               case 0x0066:
-                               case 0x0067:
-                               case 0x0068:
-                               case 0x0069:
-                               case 0x006A:
-                               case 0x006B:
-                               case 0x006C:
-                               case 0x006D:
-                               case 0x006E:
-                               case 0x006F:
-                               case 0x0070:
-                               case 0x0071:
-                               case 0x0072:
-                               case 0x0073:
-                               case 0x0074:
-                               case 0x0075:
-                               case 0x0076:
-                               case 0x0077:
-                               case 0x0078:
-                               case 0x0079:
-                               case 0x007A:
-                               case 0x007B:
-                               case 0x007C:
-                               case 0x007D:
-                               case 0x007E:
-                                       break;
-                               case 0x001A: ch = 0x7F; break;
-                               case 0x001C: ch = 0x1A; break;
-                               case 0x007F: ch = 0x1C; break;
                                case 0x00A0: ch = 0xFF; break;
                                case 0x00A1: ch = 0xAD; break;
                                case 0x00A2: ch = 0x9B; break;
                                case 0x00A3: ch = 0x9C; break;
+                               case 0x00A4: ch = 0x0F; break;
                                case 0x00A5: ch = 0x9D; break;
+                               case 0x00A6: ch = 0xDD; break;
                                case 0x00A7: ch = 0x15; break;
+                               case 0x00A8: ch = 0x22; break;
+                               case 0x00A9: ch = 0x63; break;
                                case 0x00AA: ch = 0xA6; break;
                                case 0x00AB: ch = 0xAE; break;
                                case 0x00AC: ch = 0xAA; break;
+                               case 0x00AD: ch = 0x2D; break;
+                               case 0x00AE: ch = 0x72; break;
+                               case 0x00AF: ch = 0x5F; break;
                                case 0x00B0: ch = 0xF8; break;
                                case 0x00B1: ch = 0xF1; break;
                                case 0x00B2: ch = 0xFD; break;
+                               case 0x00B3: ch = 0x33; break;
+                               case 0x00B4: ch = 0x27; break;
+                               case 0x00B5: ch = 0xE6; break;
                                case 0x00B6: ch = 0x14; break;
                                case 0x00B7: ch = 0xFA; break;
+                               case 0x00B8: ch = 0x2C; break;
+                               case 0x00B9: ch = 0x31; break;
                                case 0x00BA: ch = 0xA7; break;
                                case 0x00BB: ch = 0xAF; break;
                                case 0x00BC: ch = 0xAC; break;
                                case 0x00BD: ch = 0xAB; break;
+                               case 0x00BE: ch = 0x5F; break;
                                case 0x00BF: ch = 0xA8; break;
+                               case 0x00C0: ch = 0x41; break;
+                               case 0x00C1: ch = 0x41; break;
+                               case 0x00C2: ch = 0x41; break;
+                               case 0x00C3: ch = 0x41; break;
                                case 0x00C4: ch = 0x8E; break;
                                case 0x00C5: ch = 0x8F; break;
                                case 0x00C6: ch = 0x92; break;
                                case 0x00C7: ch = 0x80; break;
+                               case 0x00C8: ch = 0x45; break;
                                case 0x00C9: ch = 0x90; break;
+                               case 0x00CA: ch = 0x45; break;
+                               case 0x00CB: ch = 0x45; break;
+                               case 0x00CC: ch = 0x49; break;
+                               case 0x00CD: ch = 0x49; break;
+                               case 0x00CE: ch = 0x49; break;
+                               case 0x00CF: ch = 0x49; break;
+                               case 0x00D0: ch = 0x44; break;
                                case 0x00D1: ch = 0xA5; break;
+                               case 0x00D2: ch = 0x4F; break;
+                               case 0x00D3: ch = 0x4F; break;
+                               case 0x00D4: ch = 0x4F; break;
+                               case 0x00D5: ch = 0x4F; break;
                                case 0x00D6: ch = 0x99; break;
+                               case 0x00D7: ch = 0x78; break;
+                               case 0x00D8: ch = 0x4F; break;
+                               case 0x00D9: ch = 0x55; break;
+                               case 0x00DA: ch = 0x55; break;
+                               case 0x00DB: ch = 0x55; break;
                                case 0x00DC: ch = 0x9A; break;
+                               case 0x00DD: ch = 0x59; break;
+                               case 0x00DE: ch = 0x5F; break;
                                case 0x00DF: ch = 0xE1; break;
                                case 0x00E0: ch = 0x85; break;
                                case 0x00E1: ch = 0xA0; break;
                                case 0x00E2: ch = 0x83; break;
+                               case 0x00E3: ch = 0x61; break;
                                case 0x00E4: ch = 0x84; break;
                                case 0x00E5: ch = 0x86; break;
                                case 0x00E6: ch = 0x91; break;
@@ -246,24 +180,225 @@ public class CP437 : ByteEncoding
                                case 0x00ED: ch = 0xA1; break;
                                case 0x00EE: ch = 0x8C; break;
                                case 0x00EF: ch = 0x8B; break;
+                               case 0x00F0: ch = 0x64; break;
                                case 0x00F1: ch = 0xA4; break;
                                case 0x00F2: ch = 0x95; break;
                                case 0x00F3: ch = 0xA2; break;
                                case 0x00F4: ch = 0x93; break;
+                               case 0x00F5: ch = 0x6F; break;
                                case 0x00F6: ch = 0x94; break;
                                case 0x00F7: ch = 0xF6; break;
+                               case 0x00F8: ch = 0x6F; break;
                                case 0x00F9: ch = 0x97; break;
                                case 0x00FA: ch = 0xA3; break;
                                case 0x00FB: ch = 0x96; break;
                                case 0x00FC: ch = 0x81; break;
+                               case 0x00FD: ch = 0x79; break;
+                               case 0x00FE: ch = 0x5F; break;
                                case 0x00FF: ch = 0x98; break;
+                               case 0x0100: ch = 0x41; break;
+                               case 0x0101: ch = 0x61; break;
+                               case 0x0102: ch = 0x41; break;
+                               case 0x0103: ch = 0x61; break;
+                               case 0x0104: ch = 0x41; break;
+                               case 0x0105: ch = 0x61; break;
+                               case 0x0106: ch = 0x43; break;
+                               case 0x0107: ch = 0x63; break;
+                               case 0x0108: ch = 0x43; break;
+                               case 0x0109: ch = 0x63; break;
+                               case 0x010A: ch = 0x43; break;
+                               case 0x010B: ch = 0x63; break;
+                               case 0x010C: ch = 0x43; break;
+                               case 0x010D: ch = 0x63; break;
+                               case 0x010E: ch = 0x44; break;
+                               case 0x010F: ch = 0x64; break;
+                               case 0x0110: ch = 0x44; break;
+                               case 0x0111: ch = 0x64; break;
+                               case 0x0112: ch = 0x45; break;
+                               case 0x0113: ch = 0x65; break;
+                               case 0x0114: ch = 0x45; break;
+                               case 0x0115: ch = 0x65; break;
+                               case 0x0116: ch = 0x45; break;
+                               case 0x0117: ch = 0x65; break;
+                               case 0x0118: ch = 0x45; break;
+                               case 0x0119: ch = 0x65; break;
+                               case 0x011A: ch = 0x45; break;
+                               case 0x011B: ch = 0x65; break;
+                               case 0x011C: ch = 0x47; break;
+                               case 0x011D: ch = 0x67; break;
+                               case 0x011E: ch = 0x47; break;
+                               case 0x011F: ch = 0x67; break;
+                               case 0x0120: ch = 0x47; break;
+                               case 0x0121: ch = 0x67; break;
+                               case 0x0122: ch = 0x47; break;
+                               case 0x0123: ch = 0x67; break;
+                               case 0x0124: ch = 0x48; break;
+                               case 0x0125: ch = 0x68; break;
+                               case 0x0126: ch = 0x48; break;
+                               case 0x0127: ch = 0x68; break;
+                               case 0x0128: ch = 0x49; break;
+                               case 0x0129: ch = 0x69; break;
+                               case 0x012A: ch = 0x49; break;
+                               case 0x012B: ch = 0x69; break;
+                               case 0x012C: ch = 0x49; break;
+                               case 0x012D: ch = 0x69; break;
+                               case 0x012E: ch = 0x49; break;
+                               case 0x012F: ch = 0x69; break;
+                               case 0x0130: ch = 0x49; break;
+                               case 0x0131: ch = 0x69; break;
+                               case 0x0134: ch = 0x4A; break;
+                               case 0x0135: ch = 0x6A; break;
+                               case 0x0136: ch = 0x4B; break;
+                               case 0x0137: ch = 0x6B; break;
+                               case 0x0139: ch = 0x4C; break;
+                               case 0x013A: ch = 0x6C; break;
+                               case 0x013B: ch = 0x4C; break;
+                               case 0x013C: ch = 0x6C; break;
+                               case 0x013D: ch = 0x4C; break;
+                               case 0x013E: ch = 0x6C; break;
+                               case 0x0141: ch = 0x4C; break;
+                               case 0x0142: ch = 0x6C; break;
+                               case 0x0143: ch = 0x4E; break;
+                               case 0x0144: ch = 0x6E; break;
+                               case 0x0145: ch = 0x4E; break;
+                               case 0x0146: ch = 0x6E; break;
+                               case 0x0147: ch = 0x4E; break;
+                               case 0x0148: ch = 0x6E; break;
+                               case 0x014C: ch = 0x4F; break;
+                               case 0x014D: ch = 0x6F; break;
+                               case 0x014E: ch = 0x4F; break;
+                               case 0x014F: ch = 0x6F; break;
+                               case 0x0150: ch = 0x4F; break;
+                               case 0x0151: ch = 0x6F; break;
+                               case 0x0152: ch = 0x4F; break;
+                               case 0x0153: ch = 0x6F; break;
+                               case 0x0154: ch = 0x52; break;
+                               case 0x0155: ch = 0x72; break;
+                               case 0x0156: ch = 0x52; break;
+                               case 0x0157: ch = 0x72; break;
+                               case 0x0158: ch = 0x52; break;
+                               case 0x0159: ch = 0x72; break;
+                               case 0x015A: ch = 0x53; break;
+                               case 0x015B: ch = 0x73; break;
+                               case 0x015C: ch = 0x53; break;
+                               case 0x015D: ch = 0x73; break;
+                               case 0x015E: ch = 0x53; break;
+                               case 0x015F: ch = 0x73; break;
+                               case 0x0160: ch = 0x53; break;
+                               case 0x0161: ch = 0x73; break;
+                               case 0x0162: ch = 0x54; break;
+                               case 0x0163: ch = 0x74; break;
+                               case 0x0164: ch = 0x54; break;
+                               case 0x0165: ch = 0x74; break;
+                               case 0x0166: ch = 0x54; break;
+                               case 0x0167: ch = 0x74; break;
+                               case 0x0168: ch = 0x55; break;
+                               case 0x0169: ch = 0x75; break;
+                               case 0x016A: ch = 0x55; break;
+                               case 0x016B: ch = 0x75; break;
+                               case 0x016C: ch = 0x55; break;
+                               case 0x016D: ch = 0x75; break;
+                               case 0x016E: ch = 0x55; break;
+                               case 0x016F: ch = 0x75; break;
+                               case 0x0170: ch = 0x55; break;
+                               case 0x0171: ch = 0x75; break;
+                               case 0x0172: ch = 0x55; break;
+                               case 0x0173: ch = 0x75; break;
+                               case 0x0174: ch = 0x57; break;
+                               case 0x0175: ch = 0x77; break;
+                               case 0x0176: ch = 0x59; break;
+                               case 0x0177: ch = 0x79; break;
+                               case 0x0178: ch = 0x59; break;
+                               case 0x0179: ch = 0x5A; break;
+                               case 0x017A: ch = 0x7A; break;
+                               case 0x017B: ch = 0x5A; break;
+                               case 0x017C: ch = 0x7A; break;
+                               case 0x017D: ch = 0x5A; break;
+                               case 0x017E: ch = 0x7A; break;
+                               case 0x0180: ch = 0x62; break;
+                               case 0x0189: ch = 0x44; break;
+                               case 0x0191: ch = 0x9F; break;
                                case 0x0192: ch = 0x9F; break;
+                               case 0x0197: ch = 0x49; break;
+                               case 0x019A: ch = 0x6C; break;
+                               case 0x019F: ch = 0x4F; break;
+                               case 0x01A0: ch = 0x4F; break;
+                               case 0x01A1: ch = 0x6F; break;
+                               case 0x01A9: ch = 0xE4; break;
+                               case 0x01AB: ch = 0x74; break;
+                               case 0x01AE: ch = 0x54; break;
+                               case 0x01AF: ch = 0x55; break;
+                               case 0x01B0: ch = 0x75; break;
+                               case 0x01B6: ch = 0x7A; break;
+                               case 0x01C0: ch = 0x7C; break;
+                               case 0x01C3: ch = 0x21; break;
+                               case 0x01CD: ch = 0x41; break;
+                               case 0x01CE: ch = 0x61; break;
+                               case 0x01CF: ch = 0x49; break;
+                               case 0x01D0: ch = 0x69; break;
+                               case 0x01D1: ch = 0x4F; break;
+                               case 0x01D2: ch = 0x6F; break;
+                               case 0x01D3: ch = 0x55; break;
+                               case 0x01D4: ch = 0x75; break;
+                               case 0x01D5: ch = 0x55; break;
+                               case 0x01D6: ch = 0x75; break;
+                               case 0x01D7: ch = 0x55; break;
+                               case 0x01D8: ch = 0x75; break;
+                               case 0x01D9: ch = 0x55; break;
+                               case 0x01DA: ch = 0x75; break;
+                               case 0x01DB: ch = 0x55; break;
+                               case 0x01DC: ch = 0x75; break;
+                               case 0x01DE: ch = 0x41; break;
+                               case 0x01DF: ch = 0x61; break;
+                               case 0x01E4: ch = 0x47; break;
+                               case 0x01E5: ch = 0x67; break;
+                               case 0x01E6: ch = 0x47; break;
+                               case 0x01E7: ch = 0x67; break;
+                               case 0x01E8: ch = 0x4B; break;
+                               case 0x01E9: ch = 0x6B; break;
+                               case 0x01EA: ch = 0x4F; break;
+                               case 0x01EB: ch = 0x6F; break;
+                               case 0x01EC: ch = 0x4F; break;
+                               case 0x01ED: ch = 0x6F; break;
+                               case 0x01F0: ch = 0x6A; break;
+                               case 0x0261: ch = 0x67; break;
+                               case 0x0278: ch = 0xED; break;
+                               case 0x02B9: ch = 0x27; break;
+                               case 0x02BA: ch = 0x22; break;
+                               case 0x02BC: ch = 0x27; break;
+                               case 0x02C4: ch = 0x5E; break;
+                               case 0x02C6: ch = 0x5E; break;
+                               case 0x02C8: ch = 0x27; break;
+                               case 0x02C9: ch = 0xC4; break;
+                               case 0x02CA: ch = 0x27; break;
+                               case 0x02CB: ch = 0x60; break;
+                               case 0x02CD: ch = 0x5F; break;
+                               case 0x02DA: ch = 0xF8; break;
+                               case 0x02DC: ch = 0x7E; break;
+                               case 0x0300: ch = 0x60; break;
+                               case 0x0301: ch = 0x27; break;
+                               case 0x0302: ch = 0x5E; break;
+                               case 0x0303: ch = 0x7E; break;
+                               case 0x0304: ch = 0xC4; break;
+                               case 0x0308: ch = 0x22; break;
+                               case 0x030A: ch = 0xF8; break;
+                               case 0x030E: ch = 0x22; break;
+                               case 0x0327: ch = 0x2C; break;
+                               case 0x0331: ch = 0x5F; break;
+                               case 0x0332: ch = 0x5F; break;
+                               case 0x037E: ch = 0x3B; break;
+                               case 0x0391: ch = 0xE0; break;
                                case 0x0393: ch = 0xE2; break;
+                               case 0x0394: ch = 0xEB; break;
+                               case 0x0395: ch = 0xEE; break;
                                case 0x0398: ch = 0xE9; break;
+                               case 0x03A0: ch = 0xE3; break;
                                case 0x03A3: ch = 0xE4; break;
+                               case 0x03A4: ch = 0xE7; break;
                                case 0x03A6: ch = 0xE8; break;
                                case 0x03A9: ch = 0xEA; break;
                                case 0x03B1: ch = 0xE0; break;
+                               case 0x03B2: ch = 0xE1; break;
                                case 0x03B4: ch = 0xEB; break;
                                case 0x03B5: ch = 0xEE; break;
                                case 0x03BC: ch = 0xE6; break;
@@ -271,10 +406,95 @@ public class CP437 : ByteEncoding
                                case 0x03C3: ch = 0xE5; break;
                                case 0x03C4: ch = 0xE7; break;
                                case 0x03C6: ch = 0xED; break;
+                               case 0x04BB: ch = 0x68; break;
+                               case 0x0589: ch = 0x3A; break;
+                               case 0x066A: ch = 0x25; break;
+                               case 0x2000: ch = 0x20; break;
+                               case 0x2001: ch = 0x20; break;
+                               case 0x2002: ch = 0x20; break;
+                               case 0x2003: ch = 0x20; break;
+                               case 0x2004: ch = 0x20; break;
+                               case 0x2005: ch = 0x20; break;
+                               case 0x2006: ch = 0x20; break;
+                               case 0x2010: ch = 0x2D; break;
+                               case 0x2011: ch = 0x2D; break;
+                               case 0x2013: ch = 0x2D; break;
+                               case 0x2014: ch = 0x2D; break;
+                               case 0x2017: ch = 0x5F; break;
+                               case 0x2018: ch = 0x60; break;
+                               case 0x2019: ch = 0x27; break;
+                               case 0x201A: ch = 0x2C; break;
+                               case 0x201C: ch = 0x22; break;
+                               case 0x201D: ch = 0x22; break;
+                               case 0x201E: ch = 0x2C; break;
+                               case 0x2020: ch = 0x2B; break;
+                               case 0x2021: ch = 0xD8; break;
                                case 0x2022: ch = 0x07; break;
+                               case 0x2024: ch = 0xFA; break;
+                               case 0x2026: ch = 0x2E; break;
+                               case 0x2030: ch = 0x25; break;
+                               case 0x2032: ch = 0x27; break;
+                               case 0x2035: ch = 0x60; break;
+                               case 0x2039: ch = 0x3C; break;
+                               case 0x203A: ch = 0x3E; break;
                                case 0x203C: ch = 0x13; break;
+                               case 0x2044: ch = 0x2F; break;
+                               case 0x2070: ch = 0xF8; break;
+                               case 0x2074:
+                               case 0x2075:
+                               case 0x2076:
+                               case 0x2077:
+                               case 0x2078:
+                                       ch -= 0x2040;
+                                       break;
                                case 0x207F: ch = 0xFC; break;
+                               case 0x2080:
+                               case 0x2081:
+                               case 0x2082:
+                               case 0x2083:
+                               case 0x2084:
+                               case 0x2085:
+                               case 0x2086:
+                               case 0x2087:
+                               case 0x2088:
+                               case 0x2089:
+                                       ch -= 0x2050;
+                                       break;
+                               case 0x20A4: ch = 0x9C; break;
                                case 0x20A7: ch = 0x9E; break;
+                               case 0x20DD: ch = 0x09; break;
+                               case 0x2102: ch = 0x43; break;
+                               case 0x2107: ch = 0x45; break;
+                               case 0x210A: ch = 0x67; break;
+                               case 0x210B: ch = 0x48; break;
+                               case 0x210C: ch = 0x48; break;
+                               case 0x210D: ch = 0x48; break;
+                               case 0x210E: ch = 0x68; break;
+                               case 0x2110: ch = 0x49; break;
+                               case 0x2111: ch = 0x49; break;
+                               case 0x2112: ch = 0x4C; break;
+                               case 0x2113: ch = 0x6C; break;
+                               case 0x2115: ch = 0x4E; break;
+                               case 0x2118: ch = 0x50; break;
+                               case 0x2119: ch = 0x50; break;
+                               case 0x211A: ch = 0x51; break;
+                               case 0x211B: ch = 0x52; break;
+                               case 0x211C: ch = 0x52; break;
+                               case 0x211D: ch = 0x52; break;
+                               case 0x2122: ch = 0x54; break;
+                               case 0x2124: ch = 0x5A; break;
+                               case 0x2126: ch = 0xEA; break;
+                               case 0x2128: ch = 0x5A; break;
+                               case 0x212A: ch = 0x4B; break;
+                               case 0x212B: ch = 0x8F; break;
+                               case 0x212C: ch = 0x42; break;
+                               case 0x212D: ch = 0x43; break;
+                               case 0x212E: ch = 0x65; break;
+                               case 0x212F: ch = 0x65; break;
+                               case 0x2130: ch = 0x45; break;
+                               case 0x2131: ch = 0x46; break;
+                               case 0x2133: ch = 0x4D; break;
+                               case 0x2134: ch = 0x6F; break;
                                case 0x2190: ch = 0x1B; break;
                                case 0x2191: ch = 0x18; break;
                                case 0x2192: ch = 0x1A; break;
@@ -282,19 +502,36 @@ public class CP437 : ByteEncoding
                                case 0x2194: ch = 0x1D; break;
                                case 0x2195: ch = 0x12; break;
                                case 0x21A8: ch = 0x17; break;
+                               case 0x2205: ch = 0xED; break;
+                               case 0x2211: ch = 0xE4; break;
+                               case 0x2212: ch = 0x2D; break;
+                               case 0x2213: ch = 0xF1; break;
+                               case 0x2215: ch = 0x2F; break;
+                               case 0x2216: ch = 0x5C; break;
+                               case 0x2217: ch = 0x2A; break;
+                               case 0x2218: ch = 0xF8; break;
                                case 0x2219: ch = 0xF9; break;
                                case 0x221A: ch = 0xFB; break;
                                case 0x221E: ch = 0xEC; break;
                                case 0x221F: ch = 0x1C; break;
+                               case 0x2223: ch = 0x7C; break;
                                case 0x2229: ch = 0xEF; break;
+                               case 0x2236: ch = 0x3A; break;
+                               case 0x223C: ch = 0x7E; break;
                                case 0x2248: ch = 0xF7; break;
                                case 0x2261: ch = 0xF0; break;
                                case 0x2264: ch = 0xF3; break;
                                case 0x2265: ch = 0xF2; break;
+                               case 0x226A: ch = 0xAE; break;
+                               case 0x226B: ch = 0xAF; break;
+                               case 0x22C5: ch = 0xFA; break;
                                case 0x2302: ch = 0x7F; break;
+                               case 0x2303: ch = 0x5E; break;
                                case 0x2310: ch = 0xA9; break;
                                case 0x2320: ch = 0xF4; break;
                                case 0x2321: ch = 0xF5; break;
+                               case 0x2329: ch = 0x3C; break;
+                               case 0x232A: ch = 0x3E; break;
                                case 0x2500: ch = 0xC4; break;
                                case 0x2502: ch = 0xB3; break;
                                case 0x250C: ch = 0xDA; break;
@@ -363,25 +600,121 @@ public class CP437 : ByteEncoding
                                case 0x2666: ch = 0x04; break;
                                case 0x266A: ch = 0x0D; break;
                                case 0x266B: ch = 0x0E; break;
-                               case 0xFFE8: ch = 0xB3; break;
-                               case 0xFFE9: ch = 0x1B; break;
-                               case 0xFFEA: ch = 0x18; break;
-                               case 0xFFEB: ch = 0x1A; break;
-                               case 0xFFEC: ch = 0x19; break;
-                               case 0xFFED: ch = 0xFE; break;
-                               case 0xFFEE: ch = 0x09; break;
+                               case 0x2713: ch = 0xFB; break;
+                               case 0x2758: ch = 0x7C; break;
+                               case 0x3000: ch = 0x20; break;
+                               case 0x3007: ch = 0x09; break;
+                               case 0x3008: ch = 0x3C; break;
+                               case 0x3009: ch = 0x3E; break;
+                               case 0x300A: ch = 0xAE; break;
+                               case 0x300B: ch = 0xAF; break;
+                               case 0x301A: ch = 0x5B; break;
+                               case 0x301B: ch = 0x5D; break;
+                               case 0x30FB: ch = 0xFA; break;
+                               case 0xFF01:
+                               case 0xFF02:
+                               case 0xFF03:
+                               case 0xFF04:
+                               case 0xFF05:
+                               case 0xFF06:
+                               case 0xFF07:
+                               case 0xFF08:
+                               case 0xFF09:
+                               case 0xFF0A:
+                               case 0xFF0B:
+                               case 0xFF0C:
+                               case 0xFF0D:
+                               case 0xFF0E:
+                               case 0xFF0F:
+                               case 0xFF10:
+                               case 0xFF11:
+                               case 0xFF12:
+                               case 0xFF13:
+                               case 0xFF14:
+                               case 0xFF15:
+                               case 0xFF16:
+                               case 0xFF17:
+                               case 0xFF18:
+                               case 0xFF19:
+                               case 0xFF1A:
+                               case 0xFF1B:
+                               case 0xFF1C:
+                               case 0xFF1D:
+                               case 0xFF1E:
+                                       ch -= 0xFEE0;
+                                       break;
+                               case 0xFF20:
+                               case 0xFF21:
+                               case 0xFF22:
+                               case 0xFF23:
+                               case 0xFF24:
+                               case 0xFF25:
+                               case 0xFF26:
+                               case 0xFF27:
+                               case 0xFF28:
+                               case 0xFF29:
+                               case 0xFF2A:
+                               case 0xFF2B:
+                               case 0xFF2C:
+                               case 0xFF2D:
+                               case 0xFF2E:
+                               case 0xFF2F:
+                               case 0xFF30:
+                               case 0xFF31:
+                               case 0xFF32:
+                               case 0xFF33:
+                               case 0xFF34:
+                               case 0xFF35:
+                               case 0xFF36:
+                               case 0xFF37:
+                               case 0xFF38:
+                               case 0xFF39:
+                               case 0xFF3A:
+                               case 0xFF3B:
+                               case 0xFF3C:
+                               case 0xFF3D:
+                               case 0xFF3E:
+                               case 0xFF3F:
+                               case 0xFF40:
+                               case 0xFF41:
+                               case 0xFF42:
+                               case 0xFF43:
+                               case 0xFF44:
+                               case 0xFF45:
+                               case 0xFF46:
+                               case 0xFF47:
+                               case 0xFF48:
+                               case 0xFF49:
+                               case 0xFF4A:
+                               case 0xFF4B:
+                               case 0xFF4C:
+                               case 0xFF4D:
+                               case 0xFF4E:
+                               case 0xFF4F:
+                               case 0xFF50:
+                               case 0xFF51:
+                               case 0xFF52:
+                               case 0xFF53:
+                               case 0xFF54:
+                               case 0xFF55:
+                               case 0xFF56:
+                               case 0xFF57:
+                               case 0xFF58:
+                               case 0xFF59:
+                               case 0xFF5A:
+                               case 0xFF5B:
+                               case 0xFF5C:
+                               case 0xFF5D:
+                               case 0xFF5E:
+                                       ch -= 0xFEE0;
+                                       break;
                                default:
-                               {
-                                       if(ch >= 0xFF01 && ch <= 0xFF5E)
-                                               ch -= 0xFEE0;
-                                       else
 #if NET_2_0
-                                               HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
+                                       HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
 #else
                                                ch = 0x3F;
 #endif
-                               }
-                               break;
+                                       break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
@@ -397,142 +730,76 @@ public class CP437 : ByteEncoding
                while(charCount > 0)
                {
                        ch = (int)(s[charIndex++]);
-                       if(ch >= 26) switch(ch)
+                       if(ch >= 128) switch(ch)
                        {
-                               case 0x001B:
-                               case 0x001D:
-                               case 0x001E:
-                               case 0x001F:
-                               case 0x0020:
-                               case 0x0021:
-                               case 0x0022:
-                               case 0x0023:
-                               case 0x0024:
-                               case 0x0025:
-                               case 0x0026:
-                               case 0x0027:
-                               case 0x0028:
-                               case 0x0029:
-                               case 0x002A:
-                               case 0x002B:
-                               case 0x002C:
-                               case 0x002D:
-                               case 0x002E:
-                               case 0x002F:
-                               case 0x0030:
-                               case 0x0031:
-                               case 0x0032:
-                               case 0x0033:
-                               case 0x0034:
-                               case 0x0035:
-                               case 0x0036:
-                               case 0x0037:
-                               case 0x0038:
-                               case 0x0039:
-                               case 0x003A:
-                               case 0x003B:
-                               case 0x003C:
-                               case 0x003D:
-                               case 0x003E:
-                               case 0x003F:
-                               case 0x0040:
-                               case 0x0041:
-                               case 0x0042:
-                               case 0x0043:
-                               case 0x0044:
-                               case 0x0045:
-                               case 0x0046:
-                               case 0x0047:
-                               case 0x0048:
-                               case 0x0049:
-                               case 0x004A:
-                               case 0x004B:
-                               case 0x004C:
-                               case 0x004D:
-                               case 0x004E:
-                               case 0x004F:
-                               case 0x0050:
-                               case 0x0051:
-                               case 0x0052:
-                               case 0x0053:
-                               case 0x0054:
-                               case 0x0055:
-                               case 0x0056:
-                               case 0x0057:
-                               case 0x0058:
-                               case 0x0059:
-                               case 0x005A:
-                               case 0x005B:
-                               case 0x005C:
-                               case 0x005D:
-                               case 0x005E:
-                               case 0x005F:
-                               case 0x0060:
-                               case 0x0061:
-                               case 0x0062:
-                               case 0x0063:
-                               case 0x0064:
-                               case 0x0065:
-                               case 0x0066:
-                               case 0x0067:
-                               case 0x0068:
-                               case 0x0069:
-                               case 0x006A:
-                               case 0x006B:
-                               case 0x006C:
-                               case 0x006D:
-                               case 0x006E:
-                               case 0x006F:
-                               case 0x0070:
-                               case 0x0071:
-                               case 0x0072:
-                               case 0x0073:
-                               case 0x0074:
-                               case 0x0075:
-                               case 0x0076:
-                               case 0x0077:
-                               case 0x0078:
-                               case 0x0079:
-                               case 0x007A:
-                               case 0x007B:
-                               case 0x007C:
-                               case 0x007D:
-                               case 0x007E:
-                                       break;
-                               case 0x001A: ch = 0x7F; break;
-                               case 0x001C: ch = 0x1A; break;
-                               case 0x007F: ch = 0x1C; break;
                                case 0x00A0: ch = 0xFF; break;
                                case 0x00A1: ch = 0xAD; break;
                                case 0x00A2: ch = 0x9B; break;
                                case 0x00A3: ch = 0x9C; break;
+                               case 0x00A4: ch = 0x0F; break;
                                case 0x00A5: ch = 0x9D; break;
+                               case 0x00A6: ch = 0xDD; break;
                                case 0x00A7: ch = 0x15; break;
+                               case 0x00A8: ch = 0x22; break;
+                               case 0x00A9: ch = 0x63; break;
                                case 0x00AA: ch = 0xA6; break;
                                case 0x00AB: ch = 0xAE; break;
                                case 0x00AC: ch = 0xAA; break;
+                               case 0x00AD: ch = 0x2D; break;
+                               case 0x00AE: ch = 0x72; break;
+                               case 0x00AF: ch = 0x5F; break;
                                case 0x00B0: ch = 0xF8; break;
                                case 0x00B1: ch = 0xF1; break;
                                case 0x00B2: ch = 0xFD; break;
+                               case 0x00B3: ch = 0x33; break;
+                               case 0x00B4: ch = 0x27; break;
+                               case 0x00B5: ch = 0xE6; break;
                                case 0x00B6: ch = 0x14; break;
                                case 0x00B7: ch = 0xFA; break;
+                               case 0x00B8: ch = 0x2C; break;
+                               case 0x00B9: ch = 0x31; break;
                                case 0x00BA: ch = 0xA7; break;
                                case 0x00BB: ch = 0xAF; break;
                                case 0x00BC: ch = 0xAC; break;
                                case 0x00BD: ch = 0xAB; break;
+                               case 0x00BE: ch = 0x5F; break;
                                case 0x00BF: ch = 0xA8; break;
+                               case 0x00C0: ch = 0x41; break;
+                               case 0x00C1: ch = 0x41; break;
+                               case 0x00C2: ch = 0x41; break;
+                               case 0x00C3: ch = 0x41; break;
                                case 0x00C4: ch = 0x8E; break;
                                case 0x00C5: ch = 0x8F; break;
                                case 0x00C6: ch = 0x92; break;
                                case 0x00C7: ch = 0x80; break;
+                               case 0x00C8: ch = 0x45; break;
                                case 0x00C9: ch = 0x90; break;
+                               case 0x00CA: ch = 0x45; break;
+                               case 0x00CB: ch = 0x45; break;
+                               case 0x00CC: ch = 0x49; break;
+                               case 0x00CD: ch = 0x49; break;
+                               case 0x00CE: ch = 0x49; break;
+                               case 0x00CF: ch = 0x49; break;
+                               case 0x00D0: ch = 0x44; break;
                                case 0x00D1: ch = 0xA5; break;
+                               case 0x00D2: ch = 0x4F; break;
+                               case 0x00D3: ch = 0x4F; break;
+                               case 0x00D4: ch = 0x4F; break;
+                               case 0x00D5: ch = 0x4F; break;
                                case 0x00D6: ch = 0x99; break;
+                               case 0x00D7: ch = 0x78; break;
+                               case 0x00D8: ch = 0x4F; break;
+                               case 0x00D9: ch = 0x55; break;
+                               case 0x00DA: ch = 0x55; break;
+                               case 0x00DB: ch = 0x55; break;
                                case 0x00DC: ch = 0x9A; break;
+                               case 0x00DD: ch = 0x59; break;
+                               case 0x00DE: ch = 0x5F; break;
                                case 0x00DF: ch = 0xE1; break;
                                case 0x00E0: ch = 0x85; break;
                                case 0x00E1: ch = 0xA0; break;
                                case 0x00E2: ch = 0x83; break;
+                               case 0x00E3: ch = 0x61; break;
                                case 0x00E4: ch = 0x84; break;
                                case 0x00E5: ch = 0x86; break;
                                case 0x00E6: ch = 0x91; break;
@@ -545,24 +812,225 @@ public class CP437 : ByteEncoding
                                case 0x00ED: ch = 0xA1; break;
                                case 0x00EE: ch = 0x8C; break;
                                case 0x00EF: ch = 0x8B; break;
+                               case 0x00F0: ch = 0x64; break;
                                case 0x00F1: ch = 0xA4; break;
                                case 0x00F2: ch = 0x95; break;
                                case 0x00F3: ch = 0xA2; break;
                                case 0x00F4: ch = 0x93; break;
+                               case 0x00F5: ch = 0x6F; break;
                                case 0x00F6: ch = 0x94; break;
                                case 0x00F7: ch = 0xF6; break;
+                               case 0x00F8: ch = 0x6F; break;
                                case 0x00F9: ch = 0x97; break;
                                case 0x00FA: ch = 0xA3; break;
                                case 0x00FB: ch = 0x96; break;
                                case 0x00FC: ch = 0x81; break;
+                               case 0x00FD: ch = 0x79; break;
+                               case 0x00FE: ch = 0x5F; break;
                                case 0x00FF: ch = 0x98; break;
+                               case 0x0100: ch = 0x41; break;
+                               case 0x0101: ch = 0x61; break;
+                               case 0x0102: ch = 0x41; break;
+                               case 0x0103: ch = 0x61; break;
+                               case 0x0104: ch = 0x41; break;
+                               case 0x0105: ch = 0x61; break;
+                               case 0x0106: ch = 0x43; break;
+                               case 0x0107: ch = 0x63; break;
+                               case 0x0108: ch = 0x43; break;
+                               case 0x0109: ch = 0x63; break;
+                               case 0x010A: ch = 0x43; break;
+                               case 0x010B: ch = 0x63; break;
+                               case 0x010C: ch = 0x43; break;
+                               case 0x010D: ch = 0x63; break;
+                               case 0x010E: ch = 0x44; break;
+                               case 0x010F: ch = 0x64; break;
+                               case 0x0110: ch = 0x44; break;
+                               case 0x0111: ch = 0x64; break;
+                               case 0x0112: ch = 0x45; break;
+                               case 0x0113: ch = 0x65; break;
+                               case 0x0114: ch = 0x45; break;
+                               case 0x0115: ch = 0x65; break;
+                               case 0x0116: ch = 0x45; break;
+                               case 0x0117: ch = 0x65; break;
+                               case 0x0118: ch = 0x45; break;
+                               case 0x0119: ch = 0x65; break;
+                               case 0x011A: ch = 0x45; break;
+                               case 0x011B: ch = 0x65; break;
+                               case 0x011C: ch = 0x47; break;
+                               case 0x011D: ch = 0x67; break;
+                               case 0x011E: ch = 0x47; break;
+                               case 0x011F: ch = 0x67; break;
+                               case 0x0120: ch = 0x47; break;
+                               case 0x0121: ch = 0x67; break;
+                               case 0x0122: ch = 0x47; break;
+                               case 0x0123: ch = 0x67; break;
+                               case 0x0124: ch = 0x48; break;
+                               case 0x0125: ch = 0x68; break;
+                               case 0x0126: ch = 0x48; break;
+                               case 0x0127: ch = 0x68; break;
+                               case 0x0128: ch = 0x49; break;
+                               case 0x0129: ch = 0x69; break;
+                               case 0x012A: ch = 0x49; break;
+                               case 0x012B: ch = 0x69; break;
+                               case 0x012C: ch = 0x49; break;
+                               case 0x012D: ch = 0x69; break;
+                               case 0x012E: ch = 0x49; break;
+                               case 0x012F: ch = 0x69; break;
+                               case 0x0130: ch = 0x49; break;
+                               case 0x0131: ch = 0x69; break;
+                               case 0x0134: ch = 0x4A; break;
+                               case 0x0135: ch = 0x6A; break;
+                               case 0x0136: ch = 0x4B; break;
+                               case 0x0137: ch = 0x6B; break;
+                               case 0x0139: ch = 0x4C; break;
+                               case 0x013A: ch = 0x6C; break;
+                               case 0x013B: ch = 0x4C; break;
+                               case 0x013C: ch = 0x6C; break;
+                               case 0x013D: ch = 0x4C; break;
+                               case 0x013E: ch = 0x6C; break;
+                               case 0x0141: ch = 0x4C; break;
+                               case 0x0142: ch = 0x6C; break;
+                               case 0x0143: ch = 0x4E; break;
+                               case 0x0144: ch = 0x6E; break;
+                               case 0x0145: ch = 0x4E; break;
+                               case 0x0146: ch = 0x6E; break;
+                               case 0x0147: ch = 0x4E; break;
+                               case 0x0148: ch = 0x6E; break;
+                               case 0x014C: ch = 0x4F; break;
+                               case 0x014D: ch = 0x6F; break;
+                               case 0x014E: ch = 0x4F; break;
+                               case 0x014F: ch = 0x6F; break;
+                               case 0x0150: ch = 0x4F; break;
+                               case 0x0151: ch = 0x6F; break;
+                               case 0x0152: ch = 0x4F; break;
+                               case 0x0153: ch = 0x6F; break;
+                               case 0x0154: ch = 0x52; break;
+                               case 0x0155: ch = 0x72; break;
+                               case 0x0156: ch = 0x52; break;
+                               case 0x0157: ch = 0x72; break;
+                               case 0x0158: ch = 0x52; break;
+                               case 0x0159: ch = 0x72; break;
+                               case 0x015A: ch = 0x53; break;
+                               case 0x015B: ch = 0x73; break;
+                               case 0x015C: ch = 0x53; break;
+                               case 0x015D: ch = 0x73; break;
+                               case 0x015E: ch = 0x53; break;
+                               case 0x015F: ch = 0x73; break;
+                               case 0x0160: ch = 0x53; break;
+                               case 0x0161: ch = 0x73; break;
+                               case 0x0162: ch = 0x54; break;
+                               case 0x0163: ch = 0x74; break;
+                               case 0x0164: ch = 0x54; break;
+                               case 0x0165: ch = 0x74; break;
+                               case 0x0166: ch = 0x54; break;
+                               case 0x0167: ch = 0x74; break;
+                               case 0x0168: ch = 0x55; break;
+                               case 0x0169: ch = 0x75; break;
+                               case 0x016A: ch = 0x55; break;
+                               case 0x016B: ch = 0x75; break;
+                               case 0x016C: ch = 0x55; break;
+                               case 0x016D: ch = 0x75; break;
+                               case 0x016E: ch = 0x55; break;
+                               case 0x016F: ch = 0x75; break;
+                               case 0x0170: ch = 0x55; break;
+                               case 0x0171: ch = 0x75; break;
+                               case 0x0172: ch = 0x55; break;
+                               case 0x0173: ch = 0x75; break;
+                               case 0x0174: ch = 0x57; break;
+                               case 0x0175: ch = 0x77; break;
+                               case 0x0176: ch = 0x59; break;
+                               case 0x0177: ch = 0x79; break;
+                               case 0x0178: ch = 0x59; break;
+                               case 0x0179: ch = 0x5A; break;
+                               case 0x017A: ch = 0x7A; break;
+                               case 0x017B: ch = 0x5A; break;
+                               case 0x017C: ch = 0x7A; break;
+                               case 0x017D: ch = 0x5A; break;
+                               case 0x017E: ch = 0x7A; break;
+                               case 0x0180: ch = 0x62; break;
+                               case 0x0189: ch = 0x44; break;
+                               case 0x0191: ch = 0x9F; break;
                                case 0x0192: ch = 0x9F; break;
+                               case 0x0197: ch = 0x49; break;
+                               case 0x019A: ch = 0x6C; break;
+                               case 0x019F: ch = 0x4F; break;
+                               case 0x01A0: ch = 0x4F; break;
+                               case 0x01A1: ch = 0x6F; break;
+                               case 0x01A9: ch = 0xE4; break;
+                               case 0x01AB: ch = 0x74; break;
+                               case 0x01AE: ch = 0x54; break;
+                               case 0x01AF: ch = 0x55; break;
+                               case 0x01B0: ch = 0x75; break;
+                               case 0x01B6: ch = 0x7A; break;
+                               case 0x01C0: ch = 0x7C; break;
+                               case 0x01C3: ch = 0x21; break;
+                               case 0x01CD: ch = 0x41; break;
+                               case 0x01CE: ch = 0x61; break;
+                               case 0x01CF: ch = 0x49; break;
+                               case 0x01D0: ch = 0x69; break;
+                               case 0x01D1: ch = 0x4F; break;
+                               case 0x01D2: ch = 0x6F; break;
+                               case 0x01D3: ch = 0x55; break;
+                               case 0x01D4: ch = 0x75; break;
+                               case 0x01D5: ch = 0x55; break;
+                               case 0x01D6: ch = 0x75; break;
+                               case 0x01D7: ch = 0x55; break;
+                               case 0x01D8: ch = 0x75; break;
+                               case 0x01D9: ch = 0x55; break;
+                               case 0x01DA: ch = 0x75; break;
+                               case 0x01DB: ch = 0x55; break;
+                               case 0x01DC: ch = 0x75; break;
+                               case 0x01DE: ch = 0x41; break;
+                               case 0x01DF: ch = 0x61; break;
+                               case 0x01E4: ch = 0x47; break;
+                               case 0x01E5: ch = 0x67; break;
+                               case 0x01E6: ch = 0x47; break;
+                               case 0x01E7: ch = 0x67; break;
+                               case 0x01E8: ch = 0x4B; break;
+                               case 0x01E9: ch = 0x6B; break;
+                               case 0x01EA: ch = 0x4F; break;
+                               case 0x01EB: ch = 0x6F; break;
+                               case 0x01EC: ch = 0x4F; break;
+                               case 0x01ED: ch = 0x6F; break;
+                               case 0x01F0: ch = 0x6A; break;
+                               case 0x0261: ch = 0x67; break;
+                               case 0x0278: ch = 0xED; break;
+                               case 0x02B9: ch = 0x27; break;
+                               case 0x02BA: ch = 0x22; break;
+                               case 0x02BC: ch = 0x27; break;
+                               case 0x02C4: ch = 0x5E; break;
+                               case 0x02C6: ch = 0x5E; break;
+                               case 0x02C8: ch = 0x27; break;
+                               case 0x02C9: ch = 0xC4; break;
+                               case 0x02CA: ch = 0x27; break;
+                               case 0x02CB: ch = 0x60; break;
+                               case 0x02CD: ch = 0x5F; break;
+                               case 0x02DA: ch = 0xF8; break;
+                               case 0x02DC: ch = 0x7E; break;
+                               case 0x0300: ch = 0x60; break;
+                               case 0x0301: ch = 0x27; break;
+                               case 0x0302: ch = 0x5E; break;
+                               case 0x0303: ch = 0x7E; break;
+                               case 0x0304: ch = 0xC4; break;
+                               case 0x0308: ch = 0x22; break;
+                               case 0x030A: ch = 0xF8; break;
+                               case 0x030E: ch = 0x22; break;
+                               case 0x0327: ch = 0x2C; break;
+                               case 0x0331: ch = 0x5F; break;
+                               case 0x0332: ch = 0x5F; break;
+                               case 0x037E: ch = 0x3B; break;
+                               case 0x0391: ch = 0xE0; break;
                                case 0x0393: ch = 0xE2; break;
+                               case 0x0394: ch = 0xEB; break;
+                               case 0x0395: ch = 0xEE; break;
                                case 0x0398: ch = 0xE9; break;
+                               case 0x03A0: ch = 0xE3; break;
                                case 0x03A3: ch = 0xE4; break;
+                               case 0x03A4: ch = 0xE7; break;
                                case 0x03A6: ch = 0xE8; break;
                                case 0x03A9: ch = 0xEA; break;
                                case 0x03B1: ch = 0xE0; break;
+                               case 0x03B2: ch = 0xE1; break;
                                case 0x03B4: ch = 0xEB; break;
                                case 0x03B5: ch = 0xEE; break;
                                case 0x03BC: ch = 0xE6; break;
@@ -570,10 +1038,95 @@ public class CP437 : ByteEncoding
                                case 0x03C3: ch = 0xE5; break;
                                case 0x03C4: ch = 0xE7; break;
                                case 0x03C6: ch = 0xED; break;
+                               case 0x04BB: ch = 0x68; break;
+                               case 0x0589: ch = 0x3A; break;
+                               case 0x066A: ch = 0x25; break;
+                               case 0x2000: ch = 0x20; break;
+                               case 0x2001: ch = 0x20; break;
+                               case 0x2002: ch = 0x20; break;
+                               case 0x2003: ch = 0x20; break;
+                               case 0x2004: ch = 0x20; break;
+                               case 0x2005: ch = 0x20; break;
+                               case 0x2006: ch = 0x20; break;
+                               case 0x2010: ch = 0x2D; break;
+                               case 0x2011: ch = 0x2D; break;
+                               case 0x2013: ch = 0x2D; break;
+                               case 0x2014: ch = 0x2D; break;
+                               case 0x2017: ch = 0x5F; break;
+                               case 0x2018: ch = 0x60; break;
+                               case 0x2019: ch = 0x27; break;
+                               case 0x201A: ch = 0x2C; break;
+                               case 0x201C: ch = 0x22; break;
+                               case 0x201D: ch = 0x22; break;
+                               case 0x201E: ch = 0x2C; break;
+                               case 0x2020: ch = 0x2B; break;
+                               case 0x2021: ch = 0xD8; break;
                                case 0x2022: ch = 0x07; break;
+                               case 0x2024: ch = 0xFA; break;
+                               case 0x2026: ch = 0x2E; break;
+                               case 0x2030: ch = 0x25; break;
+                               case 0x2032: ch = 0x27; break;
+                               case 0x2035: ch = 0x60; break;
+                               case 0x2039: ch = 0x3C; break;
+                               case 0x203A: ch = 0x3E; break;
                                case 0x203C: ch = 0x13; break;
+                               case 0x2044: ch = 0x2F; break;
+                               case 0x2070: ch = 0xF8; break;
+                               case 0x2074:
+                               case 0x2075:
+                               case 0x2076:
+                               case 0x2077:
+                               case 0x2078:
+                                       ch -= 0x2040;
+                                       break;
                                case 0x207F: ch = 0xFC; break;
+                               case 0x2080:
+                               case 0x2081:
+                               case 0x2082:
+                               case 0x2083:
+                               case 0x2084:
+                               case 0x2085:
+                               case 0x2086:
+                               case 0x2087:
+                               case 0x2088:
+                               case 0x2089:
+                                       ch -= 0x2050;
+                                       break;
+                               case 0x20A4: ch = 0x9C; break;
                                case 0x20A7: ch = 0x9E; break;
+                               case 0x20DD: ch = 0x09; break;
+                               case 0x2102: ch = 0x43; break;
+                               case 0x2107: ch = 0x45; break;
+                               case 0x210A: ch = 0x67; break;
+                               case 0x210B: ch = 0x48; break;
+                               case 0x210C: ch = 0x48; break;
+                               case 0x210D: ch = 0x48; break;
+                               case 0x210E: ch = 0x68; break;
+                               case 0x2110: ch = 0x49; break;
+                               case 0x2111: ch = 0x49; break;
+                               case 0x2112: ch = 0x4C; break;
+                               case 0x2113: ch = 0x6C; break;
+                               case 0x2115: ch = 0x4E; break;
+                               case 0x2118: ch = 0x50; break;
+                               case 0x2119: ch = 0x50; break;
+                               case 0x211A: ch = 0x51; break;
+                               case 0x211B: ch = 0x52; break;
+                               case 0x211C: ch = 0x52; break;
+                               case 0x211D: ch = 0x52; break;
+                               case 0x2122: ch = 0x54; break;
+                               case 0x2124: ch = 0x5A; break;
+                               case 0x2126: ch = 0xEA; break;
+                               case 0x2128: ch = 0x5A; break;
+                               case 0x212A: ch = 0x4B; break;
+                               case 0x212B: ch = 0x8F; break;
+                               case 0x212C: ch = 0x42; break;
+                               case 0x212D: ch = 0x43; break;
+                               case 0x212E: ch = 0x65; break;
+                               case 0x212F: ch = 0x65; break;
+                               case 0x2130: ch = 0x45; break;
+                               case 0x2131: ch = 0x46; break;
+                               case 0x2133: ch = 0x4D; break;
+                               case 0x2134: ch = 0x6F; break;
                                case 0x2190: ch = 0x1B; break;
                                case 0x2191: ch = 0x18; break;
                                case 0x2192: ch = 0x1A; break;
@@ -581,19 +1134,36 @@ public class CP437 : ByteEncoding
                                case 0x2194: ch = 0x1D; break;
                                case 0x2195: ch = 0x12; break;
                                case 0x21A8: ch = 0x17; break;
+                               case 0x2205: ch = 0xED; break;
+                               case 0x2211: ch = 0xE4; break;
+                               case 0x2212: ch = 0x2D; break;
+                               case 0x2213: ch = 0xF1; break;
+                               case 0x2215: ch = 0x2F; break;
+                               case 0x2216: ch = 0x5C; break;
+                               case 0x2217: ch = 0x2A; break;
+                               case 0x2218: ch = 0xF8; break;
                                case 0x2219: ch = 0xF9; break;
                                case 0x221A: ch = 0xFB; break;
                                case 0x221E: ch = 0xEC; break;
                                case 0x221F: ch = 0x1C; break;
+                               case 0x2223: ch = 0x7C; break;
                                case 0x2229: ch = 0xEF; break;
+                               case 0x2236: ch = 0x3A; break;
+                               case 0x223C: ch = 0x7E; break;
                                case 0x2248: ch = 0xF7; break;
                                case 0x2261: ch = 0xF0; break;
                                case 0x2264: ch = 0xF3; break;
                                case 0x2265: ch = 0xF2; break;
+                               case 0x226A: ch = 0xAE; break;
+                               case 0x226B: ch = 0xAF; break;
+                               case 0x22C5: ch = 0xFA; break;
                                case 0x2302: ch = 0x7F; break;
+                               case 0x2303: ch = 0x5E; break;
                                case 0x2310: ch = 0xA9; break;
                                case 0x2320: ch = 0xF4; break;
                                case 0x2321: ch = 0xF5; break;
+                               case 0x2329: ch = 0x3C; break;
+                               case 0x232A: ch = 0x3E; break;
                                case 0x2500: ch = 0xC4; break;
                                case 0x2502: ch = 0xB3; break;
                                case 0x250C: ch = 0xDA; break;
@@ -662,21 +1232,115 @@ public class CP437 : ByteEncoding
                                case 0x2666: ch = 0x04; break;
                                case 0x266A: ch = 0x0D; break;
                                case 0x266B: ch = 0x0E; break;
-                               case 0xFFE8: ch = 0xB3; break;
-                               case 0xFFE9: ch = 0x1B; break;
-                               case 0xFFEA: ch = 0x18; break;
-                               case 0xFFEB: ch = 0x1A; break;
-                               case 0xFFEC: ch = 0x19; break;
-                               case 0xFFED: ch = 0xFE; break;
-                               case 0xFFEE: ch = 0x09; break;
-                               default:
-                               {
-                                       if(ch >= 0xFF01 && ch <= 0xFF5E)
-                                               ch -= 0xFEE0;
-                                       else
-                                               ch = 0x3F;
-                               }
-                               break;
+                               case 0x2713: ch = 0xFB; break;
+                               case 0x2758: ch = 0x7C; break;
+                               case 0x3000: ch = 0x20; break;
+                               case 0x3007: ch = 0x09; break;
+                               case 0x3008: ch = 0x3C; break;
+                               case 0x3009: ch = 0x3E; break;
+                               case 0x300A: ch = 0xAE; break;
+                               case 0x300B: ch = 0xAF; break;
+                               case 0x301A: ch = 0x5B; break;
+                               case 0x301B: ch = 0x5D; break;
+                               case 0x30FB: ch = 0xFA; break;
+                               case 0xFF01:
+                               case 0xFF02:
+                               case 0xFF03:
+                               case 0xFF04:
+                               case 0xFF05:
+                               case 0xFF06:
+                               case 0xFF07:
+                               case 0xFF08:
+                               case 0xFF09:
+                               case 0xFF0A:
+                               case 0xFF0B:
+                               case 0xFF0C:
+                               case 0xFF0D:
+                               case 0xFF0E:
+                               case 0xFF0F:
+                               case 0xFF10:
+                               case 0xFF11:
+                               case 0xFF12:
+                               case 0xFF13:
+                               case 0xFF14:
+                               case 0xFF15:
+                               case 0xFF16:
+                               case 0xFF17:
+                               case 0xFF18:
+                               case 0xFF19:
+                               case 0xFF1A:
+                               case 0xFF1B:
+                               case 0xFF1C:
+                               case 0xFF1D:
+                               case 0xFF1E:
+                                       ch -= 0xFEE0;
+                                       break;
+                               case 0xFF20:
+                               case 0xFF21:
+                               case 0xFF22:
+                               case 0xFF23:
+                               case 0xFF24:
+                               case 0xFF25:
+                               case 0xFF26:
+                               case 0xFF27:
+                               case 0xFF28:
+                               case 0xFF29:
+                               case 0xFF2A:
+                               case 0xFF2B:
+                               case 0xFF2C:
+                               case 0xFF2D:
+                               case 0xFF2E:
+                               case 0xFF2F:
+                               case 0xFF30:
+                               case 0xFF31:
+                               case 0xFF32:
+                               case 0xFF33:
+                               case 0xFF34:
+                               case 0xFF35:
+                               case 0xFF36:
+                               case 0xFF37:
+                               case 0xFF38:
+                               case 0xFF39:
+                               case 0xFF3A:
+                               case 0xFF3B:
+                               case 0xFF3C:
+                               case 0xFF3D:
+                               case 0xFF3E:
+                               case 0xFF3F:
+                               case 0xFF40:
+                               case 0xFF41:
+                               case 0xFF42:
+                               case 0xFF43:
+                               case 0xFF44:
+                               case 0xFF45:
+                               case 0xFF46:
+                               case 0xFF47:
+                               case 0xFF48:
+                               case 0xFF49:
+                               case 0xFF4A:
+                               case 0xFF4B:
+                               case 0xFF4C:
+                               case 0xFF4D:
+                               case 0xFF4E:
+                               case 0xFF4F:
+                               case 0xFF50:
+                               case 0xFF51:
+                               case 0xFF52:
+                               case 0xFF53:
+                               case 0xFF54:
+                               case 0xFF55:
+                               case 0xFF56:
+                               case 0xFF57:
+                               case 0xFF58:
+                               case 0xFF59:
+                               case 0xFF5A:
+                               case 0xFF5B:
+                               case 0xFF5C:
+                               case 0xFF5D:
+                               case 0xFF5E:
+                                       ch -= 0xFEE0;
+                                       break;
+                               default: ch = 0x3F; break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
index 80814a12463f96f01bc023d106cc912a396b2988..ad1cfb32a89c21973592733ec765e7202d1183e3 100644 (file)
@@ -1,3 +1,11 @@
+2006-11-20  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * windows-437-2000.ucm: copied from ICU: http://dev.icu-project.org/cgi-bin/viewcvs.cgi/charset/data/ucm/windows-437-2000.ucm?revision=1.2
+       * windows-10079-2000.ucm: copied from ICU: http://dev.icu-project.org/cgi-bin/viewcvs.cgi/charset/data/ucm/windows-10079-2000.ucm?revision=1.2
+       * CP437.cs : now it is autogenerated from windows-437-2000.ucm
+         Fixed bug #79951
+       * CP10079.cs : now it is autogenerated from windows-10079-2000.ucm.
+
 2006-11-20  Atsushi Enomoto  <atsushi@ximian.com>
 
        * CP28605.cs, CP10000.cs:
diff --git a/mcs/class/I18N/West/windows-10079-2000.ucm b/mcs/class/I18N/West/windows-10079-2000.ucm
new file mode 100644 (file)
index 0000000..2b517b0
--- /dev/null
@@ -0,0 +1,298 @@
+# ***************************************************************************
+# *
+# *   Copyright (C) 2001-2002, International Business Machines
+# *   Corporation and others.  All Rights Reserved.
+# *
+# ***************************************************************************
+#
+# File created on Dec 03 13:49 Pacific Standard Time 2002
+#
+# File created by genmucm tool.
+# from windows 2000 using IMultiLanguage 5.50.4522.1800
+#
+# Table Version : 1.0
+# The 1st column is the Unicode scalar value.
+# The 2nd column is the codepage byte sequence.
+# The 3rd column is the fallback indicator.
+# The fallback indicator can have one of the following values:
+#   |0 for exact 1-1 roundtrip mapping
+#   |1 for the best fallback codepage byte sequence.
+#   |2 for the substitution character
+#   |3 for the best reverse fallback Unicode scaler value
+#
+# Encoding description: Icelandic (Mac)
+# Encoding name: x-mac-icelandic
+#
+<code_set_name>               "windows-10079-2000"
+<mb_cur_max>                  1
+<mb_cur_min>                  1
+<uconv_class>                 "SBCS"
+<subchar>                     \x3F
+<icu:charsetFamily>           "ASCII"
+# Suggested ICU specific alias information
+#<icu:alias>                  "windows-10079_VPUA"
+
+#
+CHARMAP
+#
+#UNICODE 10079
+#_______ _________
+<U0000> \x00 |0
+<U0001> \x01 |0
+<U0002> \x02 |0
+<U0003> \x03 |0
+<U0004> \x04 |0
+<U0005> \x05 |0
+<U0006> \x06 |0
+<U0007> \x07 |0
+<U0008> \x08 |0
+<U0009> \x09 |0
+<U000A> \x0A |0
+<U000B> \x0B |0
+<U000C> \x0C |0
+<U000D> \x0D |0
+<U000E> \x0E |0
+<U000F> \x0F |0
+<U0010> \x10 |0
+<U0011> \x11 |0
+<U0012> \x12 |0
+<U0013> \x13 |0
+<U0014> \x14 |0
+<U0015> \x15 |0
+<U0016> \x16 |0
+<U0017> \x17 |0
+<U0018> \x18 |0
+<U0019> \x19 |0
+<U001A> \x1A |0
+<U001B> \x1B |0
+<U001C> \x1C |0
+<U001D> \x1D |0
+<U001E> \x1E |0
+<U001F> \x1F |0
+<U0020> \x20 |0
+<U0021> \x21 |0
+<U0022> \x22 |0
+<U0023> \x23 |0
+<U0024> \x24 |0
+<U0025> \x25 |0
+<U0026> \x26 |0
+<U0027> \x27 |0
+<U0028> \x28 |0
+<U0029> \x29 |0
+<U002A> \x2A |0
+<U002B> \x2B |0
+<U002C> \x2C |0
+<U002D> \x2D |0
+<U002E> \x2E |0
+<U002F> \x2F |0
+<U0030> \x30 |0
+<U0031> \x31 |0
+<U0032> \x32 |0
+<U0033> \x33 |0
+<U0034> \x34 |0
+<U0035> \x35 |0
+<U0036> \x36 |0
+<U0037> \x37 |0
+<U0038> \x38 |0
+<U0039> \x39 |0
+<U003A> \x3A |0
+<U003B> \x3B |0
+<U003C> \x3C |0
+<U003D> \x3D |0
+<U003E> \x3E |0
+<U003F> \x3F |0
+<U0040> \x40 |0
+<U0041> \x41 |0
+<U0042> \x42 |0
+<U0043> \x43 |0
+<U0044> \x44 |0
+<U0045> \x45 |0
+<U0046> \x46 |0
+<U0047> \x47 |0
+<U0048> \x48 |0
+<U0049> \x49 |0
+<U004A> \x4A |0
+<U004B> \x4B |0
+<U004C> \x4C |0
+<U004D> \x4D |0
+<U004E> \x4E |0
+<U004F> \x4F |0
+<U0050> \x50 |0
+<U0051> \x51 |0
+<U0052> \x52 |0
+<U0053> \x53 |0
+<U0054> \x54 |0
+<U0055> \x55 |0
+<U0056> \x56 |0
+<U0057> \x57 |0
+<U0058> \x58 |0
+<U0059> \x59 |0
+<U005A> \x5A |0
+<U005B> \x5B |0
+<U005C> \x5C |0
+<U005D> \x5D |0
+<U005E> \x5E |0
+<U005F> \x5F |0
+<U0060> \x60 |0
+<U0061> \x61 |0
+<U0062> \x62 |0
+<U0063> \x63 |0
+<U0064> \x64 |0
+<U0065> \x65 |0
+<U0066> \x66 |0
+<U0067> \x67 |0
+<U0068> \x68 |0
+<U0069> \x69 |0
+<U006A> \x6A |0
+<U006B> \x6B |0
+<U006C> \x6C |0
+<U006D> \x6D |0
+<U006E> \x6E |0
+<U006F> \x6F |0
+<U0070> \x70 |0
+<U0071> \x71 |0
+<U0072> \x72 |0
+<U0073> \x73 |0
+<U0074> \x74 |0
+<U0075> \x75 |0
+<U0076> \x76 |0
+<U0077> \x77 |0
+<U0078> \x78 |0
+<U0079> \x79 |0
+<U007A> \x7A |0
+<U007B> \x7B |0
+<U007C> \x7C |0
+<U007D> \x7D |0
+<U007E> \x7E |0
+<U007F> \x7F |0
+<U00A0> \xCA |0
+<U00A1> \xC1 |0
+<U00A2> \xA2 |0
+<U00A3> \xA3 |0
+<U00A4> \xDB |0
+<U00A5> \xB4 |0
+<U00A7> \xA4 |0
+<U00A8> \xAC |0
+<U00A9> \xA9 |0
+<U00AA> \xBB |0
+<U00AB> \xC7 |0
+<U00AC> \xC2 |0
+<U00AE> \xA8 |0
+<U00AF> \xF8 |0
+<U00B0> \xA1 |0
+<U00B1> \xB1 |0
+<U00B4> \xAB |0
+<U00B5> \xB5 |0
+<U00B6> \xA6 |0
+<U00B7> \xE1 |0
+<U00B8> \xFC |0
+<U00BA> \xBC |0
+<U00BB> \xC8 |0
+<U00BF> \xC0 |0
+<U00C0> \xCB |0
+<U00C1> \xE7 |0
+<U00C2> \xE5 |0
+<U00C3> \xCC |0
+<U00C4> \x80 |0
+<U00C5> \x81 |0
+<U00C6> \xAE |0
+<U00C7> \x82 |0
+<U00C8> \xE9 |0
+<U00C9> \x83 |0
+<U00CA> \xE6 |0
+<U00CB> \xE8 |0
+<U00CC> \xED |0
+<U00CD> \xEA |0
+<U00CE> \xEB |0
+<U00CF> \xEC |0
+<U00D0> \xDC |0
+<U00D1> \x84 |0
+<U00D2> \xF1 |0
+<U00D3> \xEE |0
+<U00D4> \xEF |0
+<U00D5> \xCD |0
+<U00D6> \x85 |0
+<U00D8> \xAF |0
+<U00D9> \xF4 |0
+<U00DA> \xF2 |0
+<U00DB> \xF3 |0
+<U00DC> \x86 |0
+<U00DD> \xA0 |0
+<U00DE> \xDE |0
+<U00DF> \xA7 |0
+<U00E0> \x88 |0
+<U00E1> \x87 |0
+<U00E2> \x89 |0
+<U00E3> \x8B |0
+<U00E4> \x8A |0
+<U00E5> \x8C |0
+<U00E6> \xBE |0
+<U00E7> \x8D |0
+<U00E8> \x8F |0
+<U00E9> \x8E |0
+<U00EA> \x90 |0
+<U00EB> \x91 |0
+<U00EC> \x93 |0
+<U00ED> \x92 |0
+<U00EE> \x94 |0
+<U00EF> \x95 |0
+<U00F0> \xDD |0
+<U00F1> \x96 |0
+<U00F2> \x98 |0
+<U00F3> \x97 |0
+<U00F4> \x99 |0
+<U00F5> \x9B |0
+<U00F6> \x9A |0
+<U00F7> \xD6 |0
+<U00F8> \xBF |0
+<U00F9> \x9D |0
+<U00FA> \x9C |0
+<U00FB> \x9E |0
+<U00FC> \x9F |0
+<U00FD> \xE0 |0
+<U00FE> \xDF |0
+<U00FF> \xD8 |0
+<U0131> \xF5 |0
+<U0152> \xCE |0
+<U0153> \xCF |0
+<U0178> \xD9 |0
+<U0192> \xC4 |0
+<U02C6> \xF6 |0
+<U02C7> \xFF |0
+<U02D8> \xF9 |0
+<U02D9> \xFA |0
+<U02DA> \xFB |0
+<U02DB> \xFE |0
+<U02DC> \xF7 |0
+<U02DD> \xFD |0
+<U03C0> \xB9 |0
+<U2013> \xD0 |0
+<U2014> \xD1 |0
+<U2018> \xD4 |0
+<U2019> \xD5 |0
+<U201A> \xE2 |0
+<U201C> \xD2 |0
+<U201D> \xD3 |0
+<U201E> \xE3 |0
+<U2022> \xA5 |0
+<U2026> \xC9 |0
+<U2030> \xE4 |0
+<U2044> \xDA |0
+<U2122> \xAA |0
+<U2126> \xBD |0
+<U2202> \xB6 |0
+<U2206> \xC6 |0
+<U220F> \xB8 |0
+<U2211> \xB7 |0
+<U221A> \xC3 |0
+<U221E> \xB0 |0
+<U222B> \xBA |0
+<U2248> \xC5 |0
+<U2260> \xAD |0
+<U2264> \xB2 |0
+<U2265> \xB3 |0
+<U25CA> \xD7 |0
+<UF8FF> \xF0 |0
+#
+END CHARMAP
+#
diff --git a/mcs/class/I18N/West/windows-437-2000.ucm b/mcs/class/I18N/West/windows-437-2000.ucm
new file mode 100644 (file)
index 0000000..f246bf4
--- /dev/null
@@ -0,0 +1,770 @@
+# ***************************************************************************
+# *
+# *   Copyright (C) 2001-2002, International Business Machines
+# *   Corporation and others.  All Rights Reserved.
+# *
+# ***************************************************************************
+#
+# File created on Dec 03 13:49 Pacific Standard Time 2002
+#
+# File created by genmucm tool.
+# from windows 2000 using IMultiLanguage 5.50.4522.1800
+#
+# Table Version : 1.0
+# The 1st column is the Unicode scalar value.
+# The 2nd column is the codepage byte sequence.
+# The 3rd column is the fallback indicator.
+# The fallback indicator can have one of the following values:
+#   |0 for exact 1-1 roundtrip mapping
+#   |1 for the best fallback codepage byte sequence.
+#   |2 for the substitution character
+#   |3 for the best reverse fallback Unicode scaler value
+#
+# Encoding description: OEM United States
+# Encoding name: IBM437
+#
+<code_set_name>               "windows-437-2000"
+<mb_cur_max>                  1
+<mb_cur_min>                  1
+<uconv_class>                 "SBCS"
+<subchar>                     \x3F
+<icu:charsetFamily>           "ASCII"
+# Suggested ICU specific alias information
+#<icu:alias>                  "windows-437_STD"
+
+#
+CHARMAP
+#
+#UNICODE 437
+#_______ _________
+<U0000> \x00 |0
+<U0001> \x01 |0
+<U0002> \x02 |0
+<U0003> \x03 |0
+<U0004> \x04 |0
+<U0005> \x05 |0
+<U0006> \x06 |0
+<U0007> \x07 |0
+<U0008> \x08 |0
+<U0009> \x09 |0
+<U000A> \x0A |0
+<U000B> \x0B |0
+<U000C> \x0C |0
+<U000D> \x0D |0
+<U000E> \x0E |0
+<U000F> \x0F |0
+<U0010> \x10 |0
+<U0011> \x11 |0
+<U0012> \x12 |0
+<U0013> \x13 |0
+<U0014> \x14 |0
+<U0015> \x15 |0
+<U0016> \x16 |0
+<U0017> \x17 |0
+<U0018> \x18 |0
+<U0019> \x19 |0
+<U001A> \x1A |0
+<U001B> \x1B |0
+<U001C> \x1C |0
+<U001D> \x1D |0
+<U001E> \x1E |0
+<U001F> \x1F |0
+<U0020> \x20 |0
+<U0021> \x21 |0
+<U0022> \x22 |0
+<U0023> \x23 |0
+<U0024> \x24 |0
+<U0025> \x25 |0
+<U0026> \x26 |0
+<U0027> \x27 |0
+<U0028> \x28 |0
+<U0029> \x29 |0
+<U002A> \x2A |0
+<U002B> \x2B |0
+<U002C> \x2C |0
+<U002D> \x2D |0
+<U002E> \x2E |0
+<U002F> \x2F |0
+<U0030> \x30 |0
+<U0031> \x31 |0
+<U0032> \x32 |0
+<U0033> \x33 |0
+<U0034> \x34 |0
+<U0035> \x35 |0
+<U0036> \x36 |0
+<U0037> \x37 |0
+<U0038> \x38 |0
+<U0039> \x39 |0
+<U003A> \x3A |0
+<U003B> \x3B |0
+<U003C> \x3C |0
+<U003D> \x3D |0
+<U003E> \x3E |0
+<U003F> \x3F |0
+<U0040> \x40 |0
+<U0041> \x41 |0
+<U0042> \x42 |0
+<U0043> \x43 |0
+<U0044> \x44 |0
+<U0045> \x45 |0
+<U0046> \x46 |0
+<U0047> \x47 |0
+<U0048> \x48 |0
+<U0049> \x49 |0
+<U004A> \x4A |0
+<U004B> \x4B |0
+<U004C> \x4C |0
+<U004D> \x4D |0
+<U004E> \x4E |0
+<U004F> \x4F |0
+<U0050> \x50 |0
+<U0051> \x51 |0
+<U0052> \x52 |0
+<U0053> \x53 |0
+<U0054> \x54 |0
+<U0055> \x55 |0
+<U0056> \x56 |0
+<U0057> \x57 |0
+<U0058> \x58 |0
+<U0059> \x59 |0
+<U005A> \x5A |0
+<U005B> \x5B |0
+<U005C> \x5C |0
+<U005D> \x5D |0
+<U005E> \x5E |0
+<U005F> \x5F |0
+<U0060> \x60 |0
+<U0061> \x61 |0
+<U0062> \x62 |0
+<U0063> \x63 |0
+<U0064> \x64 |0
+<U0065> \x65 |0
+<U0066> \x66 |0
+<U0067> \x67 |0
+<U0068> \x68 |0
+<U0069> \x69 |0
+<U006A> \x6A |0
+<U006B> \x6B |0
+<U006C> \x6C |0
+<U006D> \x6D |0
+<U006E> \x6E |0
+<U006F> \x6F |0
+<U0070> \x70 |0
+<U0071> \x71 |0
+<U0072> \x72 |0
+<U0073> \x73 |0
+<U0074> \x74 |0
+<U0075> \x75 |0
+<U0076> \x76 |0
+<U0077> \x77 |0
+<U0078> \x78 |0
+<U0079> \x79 |0
+<U007A> \x7A |0
+<U007B> \x7B |0
+<U007C> \x7C |0
+<U007D> \x7D |0
+<U007E> \x7E |0
+<U007F> \x7F |0
+<U00A0> \xFF |0
+<U00A1> \xAD |0
+<U00A2> \x9B |0
+<U00A3> \x9C |0
+<U00A4> \x0F |1
+<U00A5> \x9D |0
+<U00A6> \xDD |1
+<U00A7> \x15 |1
+<U00A8> \x22 |1
+<U00A9> \x63 |1
+<U00AA> \xA6 |0
+<U00AB> \xAE |0
+<U00AC> \xAA |0
+<U00AD> \x2D |1
+<U00AE> \x72 |1
+<U00AF> \x5F |1
+<U00B0> \xF8 |0
+<U00B1> \xF1 |0
+<U00B2> \xFD |0
+<U00B3> \x33 |1
+<U00B4> \x27 |1
+<U00B5> \xE6 |0
+<U00B6> \x14 |1
+<U00B7> \xFA |0
+<U00B8> \x2C |1
+<U00B9> \x31 |1
+<U00BA> \xA7 |0
+<U00BB> \xAF |0
+<U00BC> \xAC |0
+<U00BD> \xAB |0
+<U00BE> \x5F |1
+<U00BF> \xA8 |0
+<U00C0> \x41 |1
+<U00C1> \x41 |1
+<U00C2> \x41 |1
+<U00C3> \x41 |1
+<U00C4> \x8E |0
+<U00C5> \x8F |0
+<U00C6> \x92 |0
+<U00C7> \x80 |0
+<U00C8> \x45 |1
+<U00C9> \x90 |0
+<U00CA> \x45 |1
+<U00CB> \x45 |1
+<U00CC> \x49 |1
+<U00CD> \x49 |1
+<U00CE> \x49 |1
+<U00CF> \x49 |1
+<U00D0> \x44 |1
+<U00D1> \xA5 |0
+<U00D2> \x4F |1
+<U00D3> \x4F |1
+<U00D4> \x4F |1
+<U00D5> \x4F |1
+<U00D6> \x99 |0
+<U00D7> \x78 |1
+<U00D8> \x4F |1
+<U00D9> \x55 |1
+<U00DA> \x55 |1
+<U00DB> \x55 |1
+<U00DC> \x9A |0
+<U00DD> \x59 |1
+<U00DE> \x5F |1
+<U00DF> \xE1 |0
+<U00E0> \x85 |0
+<U00E1> \xA0 |0
+<U00E2> \x83 |0
+<U00E3> \x61 |1
+<U00E4> \x84 |0
+<U00E5> \x86 |0
+<U00E6> \x91 |0
+<U00E7> \x87 |0
+<U00E8> \x8A |0
+<U00E9> \x82 |0
+<U00EA> \x88 |0
+<U00EB> \x89 |0
+<U00EC> \x8D |0
+<U00ED> \xA1 |0
+<U00EE> \x8C |0
+<U00EF> \x8B |0
+<U00F0> \x64 |1
+<U00F1> \xA4 |0
+<U00F2> \x95 |0
+<U00F3> \xA2 |0
+<U00F4> \x93 |0
+<U00F5> \x6F |1
+<U00F6> \x94 |0
+<U00F7> \xF6 |0
+<U00F8> \x6F |1
+<U00F9> \x97 |0
+<U00FA> \xA3 |0
+<U00FB> \x96 |0
+<U00FC> \x81 |0
+<U00FD> \x79 |1
+<U00FE> \x5F |1
+<U00FF> \x98 |0
+<U0100> \x41 |1
+<U0101> \x61 |1
+<U0102> \x41 |1
+<U0103> \x61 |1
+<U0104> \x41 |1
+<U0105> \x61 |1
+<U0106> \x43 |1
+<U0107> \x63 |1
+<U0108> \x43 |1
+<U0109> \x63 |1
+<U010A> \x43 |1
+<U010B> \x63 |1
+<U010C> \x43 |1
+<U010D> \x63 |1
+<U010E> \x44 |1
+<U010F> \x64 |1
+<U0110> \x44 |1
+<U0111> \x64 |1
+<U0112> \x45 |1
+<U0113> \x65 |1
+<U0114> \x45 |1
+<U0115> \x65 |1
+<U0116> \x45 |1
+<U0117> \x65 |1
+<U0118> \x45 |1
+<U0119> \x65 |1
+<U011A> \x45 |1
+<U011B> \x65 |1
+<U011C> \x47 |1
+<U011D> \x67 |1
+<U011E> \x47 |1
+<U011F> \x67 |1
+<U0120> \x47 |1
+<U0121> \x67 |1
+<U0122> \x47 |1
+<U0123> \x67 |1
+<U0124> \x48 |1
+<U0125> \x68 |1
+<U0126> \x48 |1
+<U0127> \x68 |1
+<U0128> \x49 |1
+<U0129> \x69 |1
+<U012A> \x49 |1
+<U012B> \x69 |1
+<U012C> \x49 |1
+<U012D> \x69 |1
+<U012E> \x49 |1
+<U012F> \x69 |1
+<U0130> \x49 |1
+<U0131> \x69 |1
+<U0134> \x4A |1
+<U0135> \x6A |1
+<U0136> \x4B |1
+<U0137> \x6B |1
+<U0139> \x4C |1
+<U013A> \x6C |1
+<U013B> \x4C |1
+<U013C> \x6C |1
+<U013D> \x4C |1
+<U013E> \x6C |1
+<U0141> \x4C |1
+<U0142> \x6C |1
+<U0143> \x4E |1
+<U0144> \x6E |1
+<U0145> \x4E |1
+<U0146> \x6E |1
+<U0147> \x4E |1
+<U0148> \x6E |1
+<U014C> \x4F |1
+<U014D> \x6F |1
+<U014E> \x4F |1
+<U014F> \x6F |1
+<U0150> \x4F |1
+<U0151> \x6F |1
+<U0152> \x4F |1
+<U0153> \x6F |1
+<U0154> \x52 |1
+<U0155> \x72 |1
+<U0156> \x52 |1
+<U0157> \x72 |1
+<U0158> \x52 |1
+<U0159> \x72 |1
+<U015A> \x53 |1
+<U015B> \x73 |1
+<U015C> \x53 |1
+<U015D> \x73 |1
+<U015E> \x53 |1
+<U015F> \x73 |1
+<U0160> \x53 |1
+<U0161> \x73 |1
+<U0162> \x54 |1
+<U0163> \x74 |1
+<U0164> \x54 |1
+<U0165> \x74 |1
+<U0166> \x54 |1
+<U0167> \x74 |1
+<U0168> \x55 |1
+<U0169> \x75 |1
+<U016A> \x55 |1
+<U016B> \x75 |1
+<U016C> \x55 |1
+<U016D> \x75 |1
+<U016E> \x55 |1
+<U016F> \x75 |1
+<U0170> \x55 |1
+<U0171> \x75 |1
+<U0172> \x55 |1
+<U0173> \x75 |1
+<U0174> \x57 |1
+<U0175> \x77 |1
+<U0176> \x59 |1
+<U0177> \x79 |1
+<U0178> \x59 |1
+<U0179> \x5A |1
+<U017A> \x7A |1
+<U017B> \x5A |1
+<U017C> \x7A |1
+<U017D> \x5A |1
+<U017E> \x7A |1
+<U0180> \x62 |1
+<U0189> \x44 |1
+<U0191> \x9F |1
+<U0192> \x9F |0
+<U0197> \x49 |1
+<U019A> \x6C |1
+<U019F> \x4F |1
+<U01A0> \x4F |1
+<U01A1> \x6F |1
+<U01A9> \xE4 |1
+<U01AB> \x74 |1
+<U01AE> \x54 |1
+<U01AF> \x55 |1
+<U01B0> \x75 |1
+<U01B6> \x7A |1
+<U01C0> \x7C |1
+<U01C3> \x21 |1
+<U01CD> \x41 |1
+<U01CE> \x61 |1
+<U01CF> \x49 |1
+<U01D0> \x69 |1
+<U01D1> \x4F |1
+<U01D2> \x6F |1
+<U01D3> \x55 |1
+<U01D4> \x75 |1
+<U01D5> \x55 |1
+<U01D6> \x75 |1
+<U01D7> \x55 |1
+<U01D8> \x75 |1
+<U01D9> \x55 |1
+<U01DA> \x75 |1
+<U01DB> \x55 |1
+<U01DC> \x75 |1
+<U01DE> \x41 |1
+<U01DF> \x61 |1
+<U01E4> \x47 |1
+<U01E5> \x67 |1
+<U01E6> \x47 |1
+<U01E7> \x67 |1
+<U01E8> \x4B |1
+<U01E9> \x6B |1
+<U01EA> \x4F |1
+<U01EB> \x6F |1
+<U01EC> \x4F |1
+<U01ED> \x6F |1
+<U01F0> \x6A |1
+<U0261> \x67 |1
+<U0278> \xED |1
+<U02B9> \x27 |1
+<U02BA> \x22 |1
+<U02BC> \x27 |1
+<U02C4> \x5E |1
+<U02C6> \x5E |1
+<U02C8> \x27 |1
+<U02C9> \xC4 |1
+<U02CA> \x27 |1
+<U02CB> \x60 |1
+<U02CD> \x5F |1
+<U02DA> \xF8 |1
+<U02DC> \x7E |1
+<U0300> \x60 |1
+<U0301> \x27 |1
+<U0302> \x5E |1
+<U0303> \x7E |1
+<U0304> \xC4 |1
+<U0308> \x22 |1
+<U030A> \xF8 |1
+<U030E> \x22 |1
+<U0327> \x2C |1
+<U0331> \x5F |1
+<U0332> \x5F |1
+<U037E> \x3B |1
+<U0391> \xE0 |1
+<U0393> \xE2 |0
+<U0394> \xEB |1
+<U0395> \xEE |1
+<U0398> \xE9 |0
+<U03A0> \xE3 |1
+<U03A3> \xE4 |0
+<U03A4> \xE7 |1
+<U03A6> \xE8 |0
+<U03A9> \xEA |0
+<U03B1> \xE0 |0
+<U03B2> \xE1 |1
+<U03B4> \xEB |0
+<U03B5> \xEE |0
+<U03BC> \xE6 |1
+<U03C0> \xE3 |0
+<U03C3> \xE5 |0
+<U03C4> \xE7 |0
+<U03C6> \xED |0
+<U04BB> \x68 |1
+<U0589> \x3A |1
+<U066A> \x25 |1
+<U2000> \x20 |1
+<U2001> \x20 |1
+<U2002> \x20 |1
+<U2003> \x20 |1
+<U2004> \x20 |1
+<U2005> \x20 |1
+<U2006> \x20 |1
+<U2010> \x2D |1
+<U2011> \x2D |1
+<U2013> \x2D |1
+<U2014> \x2D |1
+<U2017> \x5F |1
+<U2018> \x60 |1
+<U2019> \x27 |1
+<U201A> \x2C |1
+<U201C> \x22 |1
+<U201D> \x22 |1
+<U201E> \x2C |1
+<U2020> \x2B |1
+<U2021> \xD8 |1
+<U2022> \x07 |1
+<U2024> \xFA |1
+<U2026> \x2E |1
+<U2030> \x25 |1
+<U2032> \x27 |1
+<U2035> \x60 |1
+<U2039> \x3C |1
+<U203A> \x3E |1
+<U203C> \x13 |1
+<U2044> \x2F |1
+<U2070> \xF8 |1
+<U2074> \x34 |1
+<U2075> \x35 |1
+<U2076> \x36 |1
+<U2077> \x37 |1
+<U2078> \x38 |1
+<U207F> \xFC |0
+<U2080> \x30 |1
+<U2081> \x31 |1
+<U2082> \x32 |1
+<U2083> \x33 |1
+<U2084> \x34 |1
+<U2085> \x35 |1
+<U2086> \x36 |1
+<U2087> \x37 |1
+<U2088> \x38 |1
+<U2089> \x39 |1
+<U20A4> \x9C |1
+<U20A7> \x9E |0
+<U20DD> \x09 |1
+<U2102> \x43 |1
+<U2107> \x45 |1
+<U210A> \x67 |1
+<U210B> \x48 |1
+<U210C> \x48 |1
+<U210D> \x48 |1
+<U210E> \x68 |1
+<U2110> \x49 |1
+<U2111> \x49 |1
+<U2112> \x4C |1
+<U2113> \x6C |1
+<U2115> \x4E |1
+<U2118> \x50 |1
+<U2119> \x50 |1
+<U211A> \x51 |1
+<U211B> \x52 |1
+<U211C> \x52 |1
+<U211D> \x52 |1
+<U2122> \x54 |1
+<U2124> \x5A |1
+<U2126> \xEA |1
+<U2128> \x5A |1
+<U212A> \x4B |1
+<U212B> \x8F |1
+<U212C> \x42 |1
+<U212D> \x43 |1
+<U212E> \x65 |1
+<U212F> \x65 |1
+<U2130> \x45 |1
+<U2131> \x46 |1
+<U2133> \x4D |1
+<U2134> \x6F |1
+<U2190> \x1B |1
+<U2191> \x18 |1
+<U2192> \x1A |1
+<U2193> \x19 |1
+<U2194> \x1D |1
+<U2195> \x12 |1
+<U21A8> \x17 |1
+<U2205> \xED |1
+<U2211> \xE4 |1
+<U2212> \x2D |1
+<U2213> \xF1 |1
+<U2215> \x2F |1
+<U2216> \x5C |1
+<U2217> \x2A |1
+<U2218> \xF8 |1
+<U2219> \xF9 |0
+<U221A> \xFB |0
+<U221E> \xEC |0
+<U221F> \x1C |1
+<U2223> \x7C |1
+<U2229> \xEF |0
+<U2236> \x3A |1
+<U223C> \x7E |1
+<U2248> \xF7 |0
+<U2261> \xF0 |0
+<U2264> \xF3 |0
+<U2265> \xF2 |0
+<U226A> \xAE |1
+<U226B> \xAF |1
+<U22C5> \xFA |1
+<U2302> \x7F |1
+<U2303> \x5E |1
+<U2310> \xA9 |0
+<U2320> \xF4 |0
+<U2321> \xF5 |0
+<U2329> \x3C |1
+<U232A> \x3E |1
+<U2500> \xC4 |0
+<U2502> \xB3 |0
+<U250C> \xDA |0
+<U2510> \xBF |0
+<U2514> \xC0 |0
+<U2518> \xD9 |0
+<U251C> \xC3 |0
+<U2524> \xB4 |0
+<U252C> \xC2 |0
+<U2534> \xC1 |0
+<U253C> \xC5 |0
+<U2550> \xCD |0
+<U2551> \xBA |0
+<U2552> \xD5 |0
+<U2553> \xD6 |0
+<U2554> \xC9 |0
+<U2555> \xB8 |0
+<U2556> \xB7 |0
+<U2557> \xBB |0
+<U2558> \xD4 |0
+<U2559> \xD3 |0
+<U255A> \xC8 |0
+<U255B> \xBE |0
+<U255C> \xBD |0
+<U255D> \xBC |0
+<U255E> \xC6 |0
+<U255F> \xC7 |0
+<U2560> \xCC |0
+<U2561> \xB5 |0
+<U2562> \xB6 |0
+<U2563> \xB9 |0
+<U2564> \xD1 |0
+<U2565> \xD2 |0
+<U2566> \xCB |0
+<U2567> \xCF |0
+<U2568> \xD0 |0
+<U2569> \xCA |0
+<U256A> \xD8 |0
+<U256B> \xD7 |0
+<U256C> \xCE |0
+<U2580> \xDF |0
+<U2584> \xDC |0
+<U2588> \xDB |0
+<U258C> \xDD |0
+<U2590> \xDE |0
+<U2591> \xB0 |0
+<U2592> \xB1 |0
+<U2593> \xB2 |0
+<U25A0> \xFE |0
+<U25AC> \x16 |1
+<U25B2> \x1E |1
+<U25BA> \x10 |1
+<U25BC> \x1F |1
+<U25C4> \x11 |1
+<U25CB> \x09 |1
+<U25D8> \x08 |1
+<U25D9> \x0A |1
+<U263A> \x01 |1
+<U263B> \x02 |1
+<U263C> \x0F |1
+<U2640> \x0C |1
+<U2642> \x0B |1
+<U2660> \x06 |1
+<U2663> \x05 |1
+<U2665> \x03 |1
+<U2666> \x04 |1
+<U266A> \x0D |1
+<U266B> \x0E |1
+<U2713> \xFB |1
+<U2758> \x7C |1
+<U3000> \x20 |1
+<U3007> \x09 |1
+<U3008> \x3C |1
+<U3009> \x3E |1
+<U300A> \xAE |1
+<U300B> \xAF |1
+<U301A> \x5B |1
+<U301B> \x5D |1
+<U30FB> \xFA |1
+<UFF01> \x21 |1
+<UFF02> \x22 |1
+<UFF03> \x23 |1
+<UFF04> \x24 |1
+<UFF05> \x25 |1
+<UFF06> \x26 |1
+<UFF07> \x27 |1
+<UFF08> \x28 |1
+<UFF09> \x29 |1
+<UFF0A> \x2A |1
+<UFF0B> \x2B |1
+<UFF0C> \x2C |1
+<UFF0D> \x2D |1
+<UFF0E> \x2E |1
+<UFF0F> \x2F |1
+<UFF10> \x30 |1
+<UFF11> \x31 |1
+<UFF12> \x32 |1
+<UFF13> \x33 |1
+<UFF14> \x34 |1
+<UFF15> \x35 |1
+<UFF16> \x36 |1
+<UFF17> \x37 |1
+<UFF18> \x38 |1
+<UFF19> \x39 |1
+<UFF1A> \x3A |1
+<UFF1B> \x3B |1
+<UFF1C> \x3C |1
+<UFF1D> \x3D |1
+<UFF1E> \x3E |1
+<UFF20> \x40 |1
+<UFF21> \x41 |1
+<UFF22> \x42 |1
+<UFF23> \x43 |1
+<UFF24> \x44 |1
+<UFF25> \x45 |1
+<UFF26> \x46 |1
+<UFF27> \x47 |1
+<UFF28> \x48 |1
+<UFF29> \x49 |1
+<UFF2A> \x4A |1
+<UFF2B> \x4B |1
+<UFF2C> \x4C |1
+<UFF2D> \x4D |1
+<UFF2E> \x4E |1
+<UFF2F> \x4F |1
+<UFF30> \x50 |1
+<UFF31> \x51 |1
+<UFF32> \x52 |1
+<UFF33> \x53 |1
+<UFF34> \x54 |1
+<UFF35> \x55 |1
+<UFF36> \x56 |1
+<UFF37> \x57 |1
+<UFF38> \x58 |1
+<UFF39> \x59 |1
+<UFF3A> \x5A |1
+<UFF3B> \x5B |1
+<UFF3C> \x5C |1
+<UFF3D> \x5D |1
+<UFF3E> \x5E |1
+<UFF3F> \x5F |1
+<UFF40> \x60 |1
+<UFF41> \x61 |1
+<UFF42> \x62 |1
+<UFF43> \x63 |1
+<UFF44> \x64 |1
+<UFF45> \x65 |1
+<UFF46> \x66 |1
+<UFF47> \x67 |1
+<UFF48> \x68 |1
+<UFF49> \x69 |1
+<UFF4A> \x6A |1
+<UFF4B> \x6B |1
+<UFF4C> \x6C |1
+<UFF4D> \x6D |1
+<UFF4E> \x6E |1
+<UFF4F> \x6F |1
+<UFF50> \x70 |1
+<UFF51> \x71 |1
+<UFF52> \x72 |1
+<UFF53> \x73 |1
+<UFF54> \x74 |1
+<UFF55> \x75 |1
+<UFF56> \x76 |1
+<UFF57> \x77 |1
+<UFF58> \x78 |1
+<UFF59> \x79 |1
+<UFF5A> \x7A |1
+<UFF5B> \x7B |1
+<UFF5C> \x7C |1
+<UFF5D> \x7D |1
+<UFF5E> \x7E |1
+#
+END CHARMAP
+#