dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnetlib/I18N/Rare CP20105.cs, NONE, 1.1 CP201


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnetlib/I18N/Rare CP20105.cs, NONE, 1.1 CP20106.cs, NONE, 1.1 CP20107.cs, NONE, 1.1 CP20108.cs, NONE, 1.1 CP20423.cs, NONE, 1.1 CP20880.cs, NONE, 1.1 CP20905.cs, NONE, 1.1 CP20924.cs, NONE, 1.1 ia5-20105.ucm, NONE, 1.1 ia5-20106.ucm, NONE, 1.1 ia5-20107.ucm, NONE, 1.1 ia5-20108.ucm, NONE, 1.1 ibm-1154.ucm, NONE, 1.1 ibm-20924.ucm, NONE, 1.1
Date: Sat, 30 Aug 2003 01:51:34 -0400

Update of /cvsroot/dotgnu-pnet/pnetlib/I18N/Rare
In directory subversions:/tmp/cvs-serv9484/I18N/Rare

Added Files:
        CP20105.cs CP20106.cs CP20107.cs CP20108.cs CP20423.cs 
        CP20880.cs CP20905.cs CP20924.cs ia5-20105.ucm ia5-20106.ucm 
        ia5-20107.ucm ia5-20108.ucm ibm-1154.ucm ibm-20924.ucm 
Log Message:


New EBCDIC and IA5 code pages.


--- NEW FILE ---
/*
 * CP20105.cs - IA5 IRV International Alphabet No. 5 (7-bit) code page.
 *
 * Copyright (c) 2002  Southern Storm Software, Pty Ltd
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

// Generated from "ia5-20105.ucm".

namespace I18N.Rare
{

using System;
using I18N.Common;

public class CP20105 : ByteEncoding
{
        public CP20105()
                : base(20105, ToChars, "IA5 IRV International Alphabet No. 5 
(7-bit)",
                       "windows-20105", "windows-20105", "windows-20105",
                       false, false, false, false, 1252)
        {}

        private static readonly char[] ToChars = {
                '\u0000', '\u0001', '\u0002', '\u0003', '\u0004', '\u0005', 
                '\u0006', '\u0007', '\u0008', '\u0009', '\u000A', '\u000B', 
                '\u000C', '\u000D', '\u000E', '\u000F', '\u0010', '\u0011', 
                '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', 
                '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', 
                '\u001E', '\u001F', '\u0020', '\u0021', '\u0022', '\u0023', 
                '\u0024', '\u0025', '\u0026', '\u0027', '\u0028', '\u0029', 
                '\u002A', '\u002B', '\u002C', '\u002D', '\u002E', '\u002F', 
                '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', 
                '\u0036', '\u0037', '\u0038', '\u0039', '\u003A', '\u003B', 
                '\u003C', '\u003D', '\u003E', '\u003F', '\u0040', '\u0041', 
                '\u0042', '\u0043', '\u0044', '\u0045', '\u0046', '\u0047', 
                '\u0048', '\u0049', '\u004A', '\u004B', '\u004C', '\u004D', 
                '\u004E', '\u004F', '\u0050', '\u0051', '\u0052', '\u0053', 
                '\u0054', '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', 
                '\u005A', '\u005B', '\u005C', '\u005D', '\u005E', '\u005F', 
                '\u0060', '\u0061', '\u0062', '\u0063', '\u0064', '\u0065', 
                '\u0066', '\u0067', '\u0068', '\u0069', '\u006A', '\u006B', 
                '\u006C', '\u006D', '\u006E', '\u006F', '\u0070', '\u0071', 
                '\u0072', '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', 
                '\u0078', '\u0079', '\u007A', '\u007B', '\u007C', '\u007D', 
                '\u007E', '\u007F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', 
        };

        protected override void ToBytes(char[] chars, int charIndex, int 
charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(chars[charIndex++]);
                        if(ch >= 128) switch(ch)
                        {
                                default:
                                {
                                        if(ch >= 0xFF01 && ch <= 0xFF5E)
                                                ch -= 0xFEE0;
                                        else
                                                ch = 0x3F;
                                }
                                break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

        protected override void ToBytes(String s, int charIndex, int charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(s[charIndex++]);
                        if(ch >= 128) switch(ch)
                        {
                                default:
                                {
                                        if(ch >= 0xFF01 && ch <= 0xFF5E)
                                                ch -= 0xFEE0;
                                        else
                                                ch = 0x3F;
                                }
                                break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

}; // class CP20105

public class ENCwindows_20105 : CP20105
{
        public ENCwindows_20105() : base() {}

}; // class ENCwindows_20105

}; // namespace I18N.Rare

--- NEW FILE ---
/*
 * CP20106.cs - IA5 German (7-bit) code page.
 *
 * Copyright (c) 2002  Southern Storm Software, Pty Ltd
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

// Generated from "ia5-20106.ucm".

namespace I18N.Rare
{

using System;
using I18N.Common;

public class CP20106 : ByteEncoding
{
        public CP20106()
                : base(20106, ToChars, "IA5 German (7-bit)",
                       "windows-20106", "windows-20106", "windows-20106",
                       false, false, false, false, 1252)
        {}

        private static readonly char[] ToChars = {
                '\u0000', '\u0001', '\u0002', '\u0003', '\u0004', '\u0005', 
                '\u0006', '\u0007', '\u0008', '\u0009', '\u000A', '\u000B', 
                '\u000C', '\u000D', '\u000E', '\u000F', '\u0010', '\u0011', 
                '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', 
                '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', 
                '\u001E', '\u001F', '\u0020', '\u0021', '\u0022', '\u0023', 
                '\u0024', '\u0025', '\u0026', '\u0027', '\u0028', '\u0029', 
                '\u002A', '\u002B', '\u002C', '\u002D', '\u002E', '\u002F', 
                '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', 
                '\u0036', '\u0037', '\u0038', '\u0039', '\u003A', '\u003B', 
                '\u003C', '\u003D', '\u003E', '\u003F', '\u00A7', '\u0041', 
                '\u0042', '\u0043', '\u0044', '\u0045', '\u0046', '\u0047', 
                '\u0048', '\u0049', '\u004A', '\u004B', '\u004C', '\u004D', 
                '\u004E', '\u004F', '\u0050', '\u0051', '\u0052', '\u0053', 
                '\u0054', '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', 
                '\u005A', '\u00C4', '\u00D6', '\u00DC', '\u005E', '\u005F', 
                '\u0060', '\u0061', '\u0062', '\u0063', '\u0064', '\u0065', 
                '\u0066', '\u0067', '\u0068', '\u0069', '\u006A', '\u006B', 
                '\u006C', '\u006D', '\u006E', '\u006F', '\u0070', '\u0071', 
                '\u0072', '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', 
                '\u0078', '\u0079', '\u007A', '\u00E4', '\u00F6', '\u00FC', 
                '\u00DF', '\u007F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', 
        };

        protected override void ToBytes(char[] chars, int charIndex, int 
charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(chars[charIndex++]);
                        if(ch >= 128) switch(ch)
                        {
                                case 0x00A7: ch = 0x40; break;
                                case 0x00C4: ch = 0x5B; break;
                                case 0x00D6: ch = 0x5C; break;
                                case 0x00DC: ch = 0x5D; break;
                                case 0x00DF: ch = 0x7E; break;
                                case 0x00E4: ch = 0x7B; break;
                                case 0x00F6: ch = 0x7C; break;
                                case 0x00FC: ch = 0x7D; break;
                                default:
                                {
                                        if(ch >= 0xFF01 && ch <= 0xFF5E)
                                                ch -= 0xFEE0;
                                        else
                                                ch = 0x3F;
                                }
                                break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

        protected override void ToBytes(String s, int charIndex, int charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(s[charIndex++]);
                        if(ch >= 128) switch(ch)
                        {
                                case 0x00A7: ch = 0x40; break;
                                case 0x00C4: ch = 0x5B; break;
                                case 0x00D6: ch = 0x5C; break;
                                case 0x00DC: ch = 0x5D; break;
                                case 0x00DF: ch = 0x7E; break;
                                case 0x00E4: ch = 0x7B; break;
                                case 0x00F6: ch = 0x7C; break;
                                case 0x00FC: ch = 0x7D; break;
                                default:
                                {
                                        if(ch >= 0xFF01 && ch <= 0xFF5E)
                                                ch -= 0xFEE0;
                                        else
                                                ch = 0x3F;
                                }
                                break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

}; // class CP20106

public class ENCwindows_20106 : CP20106
{
        public ENCwindows_20106() : base() {}

}; // class ENCwindows_20106

}; // namespace I18N.Rare

--- NEW FILE ---
/*
 * CP20107.cs - IA5 Swedish (7-bit) code page.
 *
 * Copyright (c) 2002  Southern Storm Software, Pty Ltd
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

// Generated from "ia5-20107.ucm".

namespace I18N.Rare
{

using System;
using I18N.Common;

public class CP20107 : ByteEncoding
{
        public CP20107()
                : base(20107, ToChars, "IA5 Swedish (7-bit)",
                       "windows-20107", "windows-20107", "windows-20107",
                       false, false, false, false, 1252)
        {}

        private static readonly char[] ToChars = {
                '\u0000', '\u0001', '\u0002', '\u0003', '\u0004', '\u0005', 
                '\u0006', '\u0007', '\u0008', '\u0009', '\u000A', '\u000B', 
                '\u000C', '\u000D', '\u000E', '\u000F', '\u0010', '\u0011', 
                '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', 
                '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', 
                '\u001E', '\u001F', '\u0020', '\u0021', '\u0022', '\u0023', 
                '\u00A4', '\u0025', '\u0026', '\u0027', '\u0028', '\u0029', 
                '\u002A', '\u002B', '\u002C', '\u002D', '\u002E', '\u002F', 
                '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', 
                '\u0036', '\u0037', '\u0038', '\u0039', '\u003A', '\u003B', 
                '\u003C', '\u003D', '\u003E', '\u003F', '\u00C9', '\u0041', 
                '\u0042', '\u0043', '\u0044', '\u0045', '\u0046', '\u0047', 
                '\u0048', '\u0049', '\u004A', '\u004B', '\u004C', '\u004D', 
                '\u004E', '\u004F', '\u0050', '\u0051', '\u0052', '\u0053', 
                '\u0054', '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', 
                '\u005A', '\u00C4', '\u00D6', '\u00C5', '\u00DC', '\u005F', 
                '\u0060', '\u0061', '\u0062', '\u0063', '\u0064', '\u0065', 
                '\u0066', '\u0067', '\u0068', '\u0069', '\u006A', '\u006B', 
                '\u006C', '\u006D', '\u006E', '\u006F', '\u0070', '\u0071', 
                '\u0072', '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', 
                '\u0078', '\u0079', '\u007A', '\u00E4', '\u00F6', '\u00E5', 
                '\u00FC', '\u007F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', 
        };

        protected override void ToBytes(char[] chars, int charIndex, int 
charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(chars[charIndex++]);
                        if(ch >= 128) switch(ch)
                        {
                                case 0x00A4: ch = 0x24; break;
                                case 0x00C4: ch = 0x5B; break;
                                case 0x00C5: ch = 0x5D; break;
                                case 0x00C9: ch = 0x40; break;
                                case 0x00D6: ch = 0x5C; break;
                                case 0x00DC: ch = 0x5E; break;
                                case 0x00E4: ch = 0x7B; break;
                                case 0x00E5: ch = 0x7D; break;
                                case 0x00E9: ch = 0x60; break;
                                case 0x00F6: ch = 0x7C; break;
                                case 0x00FC: ch = 0x7E; break;
                                default:
                                {
                                        if(ch >= 0xFF01 && ch <= 0xFF5E)
                                                ch -= 0xFEE0;
                                        else
                                                ch = 0x3F;
                                }
                                break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

        protected override void ToBytes(String s, int charIndex, int charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(s[charIndex++]);
                        if(ch >= 128) switch(ch)
                        {
                                case 0x00A4: ch = 0x24; break;
                                case 0x00C4: ch = 0x5B; break;
                                case 0x00C5: ch = 0x5D; break;
                                case 0x00C9: ch = 0x40; break;
                                case 0x00D6: ch = 0x5C; break;
                                case 0x00DC: ch = 0x5E; break;
                                case 0x00E4: ch = 0x7B; break;
                                case 0x00E5: ch = 0x7D; break;
                                case 0x00E9: ch = 0x60; break;
                                case 0x00F6: ch = 0x7C; break;
                                case 0x00FC: ch = 0x7E; break;
                                default:
                                {
                                        if(ch >= 0xFF01 && ch <= 0xFF5E)
                                                ch -= 0xFEE0;
                                        else
                                                ch = 0x3F;
                                }
                                break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

}; // class CP20107

public class ENCwindows_20107 : CP20107
{
        public ENCwindows_20107() : base() {}

}; // class ENCwindows_20107

}; // namespace I18N.Rare

--- NEW FILE ---
/*
 * CP20108.cs - IA5 Norwegian (7-bit) code page.
 *
 * Copyright (c) 2002  Southern Storm Software, Pty Ltd
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

// Generated from "ia5-20108.ucm".

namespace I18N.Rare
{

using System;
using I18N.Common;

public class CP20108 : ByteEncoding
{
        public CP20108()
                : base(20108, ToChars, "IA5 Norwegian (7-bit)",
                       "windows-20108", "windows-20108", "windows-20108",
                       false, false, false, false, 1252)
        {}

        private static readonly char[] ToChars = {
                '\u0000', '\u0001', '\u0002', '\u0003', '\u0004', '\u0005', 
                '\u0006', '\u0007', '\u0008', '\u0009', '\u000A', '\u000B', 
                '\u000C', '\u000D', '\u000E', '\u000F', '\u0010', '\u0011', 
                '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', 
                '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', 
                '\u001E', '\u001F', '\u0020', '\u0021', '\u0022', '\u00B6', 
                '\u0024', '\u0025', '\u0026', '\u0027', '\u0028', '\u0029', 
                '\u002A', '\u002B', '\u002C', '\u002D', '\u002E', '\u002F', 
                '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', 
                '\u0036', '\u0037', '\u0038', '\u0039', '\u003A', '\u003B', 
                '\u003C', '\u003D', '\u003E', '\u003F', '\u0040', '\u0041', 
                '\u0042', '\u0043', '\u0044', '\u0045', '\u0046', '\u0047', 
                '\u0048', '\u0049', '\u004A', '\u004B', '\u004C', '\u004D', 
                '\u004E', '\u004F', '\u0050', '\u0051', '\u0052', '\u0053', 
                '\u0054', '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', 
                '\u005A', '\u00C6', '\u00D8', '\u00C5', '\u005E', '\u005F', 
                '\u0060', '\u0061', '\u0062', '\u0063', '\u0064', '\u0065', 
                '\u0066', '\u0067', '\u0068', '\u0069', '\u006A', '\u006B', 
                '\u006C', '\u006D', '\u006E', '\u006F', '\u0070', '\u0071', 
                '\u0072', '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', 
                '\u0078', '\u0079', '\u007A', '\u00E6', '\u00F8', '\u00E5', 
                '\u007C', '\u007F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', 
                '\u003F', '\u003F', '\u003F', '\u003F', 
        };

        protected override void ToBytes(char[] chars, int charIndex, int 
charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(chars[charIndex++]);
                        if(ch >= 124) switch(ch)
                        {
                                case 0x007D:
                                case 0x007E:
                                case 0x007F:
                                        break;
                                case 0x007C: ch = 0x7E; break;
                                case 0x00B6: ch = 0x23; break;
                                case 0x00C5: ch = 0x5D; break;
                                case 0x00C6: ch = 0x5B; break;
                                case 0x00D8: ch = 0x5C; break;
                                case 0x00E5: ch = 0x7D; break;
                                case 0x00E6: ch = 0x7B; break;
                                case 0x00F8: ch = 0x7C; 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:
                                case 0xFF1F:
                                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:
                                        ch -= 0xFEE0;
                                        break;
                                case 0xFF5C: ch = 0x7E; break;
                                case 0xFF5D: ch = 0x7D; break;
                                case 0xFF5E: ch = 0x7E; break;
                                default: ch = 0x3F; break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

        protected override void ToBytes(String s, int charIndex, int charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(s[charIndex++]);
                        if(ch >= 124) switch(ch)
                        {
                                case 0x007D:
                                case 0x007E:
                                case 0x007F:
                                        break;
                                case 0x007C: ch = 0x7E; break;
                                case 0x00B6: ch = 0x23; break;
                                case 0x00C5: ch = 0x5D; break;
                                case 0x00C6: ch = 0x5B; break;
                                case 0x00D8: ch = 0x5C; break;
                                case 0x00E5: ch = 0x7D; break;
                                case 0x00E6: ch = 0x7B; break;
                                case 0x00F8: ch = 0x7C; 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:
                                case 0xFF1F:
                                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:
                                        ch -= 0xFEE0;
                                        break;
                                case 0xFF5C: ch = 0x7E; break;
                                case 0xFF5D: ch = 0x7D; break;
                                case 0xFF5E: ch = 0x7E; break;
                                default: ch = 0x3F; break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

}; // class CP20108

public class ENCwindows_20108 : CP20108
{
        public ENCwindows_20108() : base() {}

}; // class ENCwindows_20108

}; // namespace I18N.Rare

--- NEW FILE ---
/*
 * CP20423.cs - IBM EBCDIC (Greek) code page.
 *
 * Copyright (c) 2002  Southern Storm Software, Pty Ltd
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

// Generated from "ibm-875.ucm".

namespace I18N.Rare
{

using System;
using I18N.Common;

public class CP20423 : ByteEncoding
{
        public CP20423()
                : base(20423, ToChars, "IBM EBCDIC (Greek)",
                       "IBM423", "IBM423", "IBM423",
                       false, false, false, false, 1253)
        {}

        private static readonly char[] ToChars = {
                '\u0000', '\u0001', '\u0002', '\u0003', '\u009C', '\u0009', 
                '\u0086', '\u007F', '\u0097', '\u008D', '\u008E', '\u000B', 
                '\u000C', '\u000D', '\u000E', '\u000F', '\u0010', '\u0011', 
                '\u0012', '\u0013', '\u009D', '\u0085', '\u0008', '\u0087', 
                '\u0018', '\u0019', '\u0092', '\u008F', '\u001C', '\u001D', 
                '\u001E', '\u001F', '\u0080', '\u0081', '\u0082', '\u0083', 
                '\u0084', '\u000A', '\u0017', '\u001B', '\u0088', '\u0089', 
                '\u008A', '\u008B', '\u008C', '\u0005', '\u0006', '\u0007', 
                '\u0090', '\u0091', '\u0016', '\u0093', '\u0094', '\u0095', 
                '\u0096', '\u0004', '\u0098', '\u0099', '\u009A', '\u009B', 
                '\u0014', '\u0015', '\u009E', '\u001A', '\u0020', '\u0391', 
                '\u0392', '\u0393', '\u0394', '\u0395', '\u0396', '\u0397', 
                '\u0398', '\u0399', '\u005B', '\u002E', '\u003C', '\u0028', 
                '\u002B', '\u0021', '\u0026', '\u039A', '\u039B', '\u039C', 
                '\u039D', '\u039E', '\u039F', '\u03A0', '\u03A1', '\u03A3', 
                '\u005D', '\u0024', '\u002A', '\u0029', '\u003B', '\u005E', 
                '\u002D', '\u002F', '\u03A4', '\u03A5', '\u03A6', '\u03A7', 
                '\u03A8', '\u03A9', '\u03AA', '\u03AB', '\u007C', '\u002C', 
                '\u0025', '\u005F', '\u003E', '\u003F', '\u00A8', '\u0386', 
                '\u0388', '\u0389', '\u00A0', '\u038A', '\u038C', '\u038E', 
                '\u038F', '\u0060', '\u003A', '\u0023', '\u0040', '\u0027', 
                '\u003D', '\u0022', '\u0385', '\u0061', '\u0062', '\u0063', 
                '\u0064', '\u0065', '\u0066', '\u0067', '\u0068', '\u0069', 
                '\u03B1', '\u03B2', '\u03B3', '\u03B4', '\u03B5', '\u03B6', 
                '\u00B0', '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', 
                '\u006F', '\u0070', '\u0071', '\u0072', '\u03B7', '\u03B8', 
                '\u03B9', '\u03BA', '\u03BB', '\u03BC', '\u00B4', '\u007E', 
                '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', 
                '\u0079', '\u007A', '\u03BD', '\u03BE', '\u03BF', '\u03C0', 
                '\u03C1', '\u03C3', '\u00A3', '\u03AC', '\u03AD', '\u03AE', 
                '\u03CA', '\u03AF', '\u03CC', '\u03CD', '\u03CB', '\u03CE', 
                '\u03C2', '\u03C4', '\u03C5', '\u03C6', '\u03C7', '\u03C8', 
                '\u007B', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', 
                '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u03C9', 
                '\u0390', '\u03B0', '\u2018', '\u2015', '\u007D', '\u004A', 
                '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', 
                '\u0051', '\u0052', '\u00B1', '\u00BD', '\u003F', '\u0387', 
                '\u2019', '\u00A6', '\u005C', '\u003F', '\u0053', '\u0054', 
                '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', 
                '\u00B2', '\u00A7', '\u003F', '\u003F', '\u00AB', '\u00AC', 
                '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', 
                '\u0036', '\u0037', '\u0038', '\u0039', '\u00B3', '\u00A9', 
                '\u003F', '\u003F', '\u00BB', '\u009F', 
        };

        protected override void ToBytes(char[] chars, int charIndex, int 
charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(chars[charIndex++]);
                        if(ch >= 4) switch(ch)
                        {
                                case 0x000B:
                                case 0x000C:
                                case 0x000D:
                                case 0x000E:
                                case 0x000F:
                                case 0x0010:
                                case 0x0011:
                                case 0x0012:
                                case 0x0013:
                                case 0x0018:
                                case 0x0019:
                                case 0x001C:
                                case 0x001D:
                                case 0x001E:
                                case 0x001F:
                                        break;
                                case 0x0004: ch = 0x37; break;
                                case 0x0005: ch = 0x2D; break;
                                case 0x0006: ch = 0x2E; break;
                                case 0x0007: ch = 0x2F; break;
                                case 0x0008: ch = 0x16; break;
                                case 0x0009: ch = 0x05; break;
                                case 0x000A: ch = 0x25; break;
                                case 0x0014: ch = 0x3C; break;
                                case 0x0015: ch = 0x3D; break;
                                case 0x0016: ch = 0x32; break;
                                case 0x0017: ch = 0x26; break;
                                case 0x001A: ch = 0x3F; break;
                                case 0x001B: ch = 0x27; break;
                                case 0x0020: ch = 0x40; break;
                                case 0x0021: ch = 0x4F; break;
                                case 0x0022: ch = 0x7F; break;
                                case 0x0023: ch = 0x7B; break;
                                case 0x0024: ch = 0x5B; break;
                                case 0x0025: ch = 0x6C; break;
                                case 0x0026: ch = 0x50; break;
                                case 0x0027: ch = 0x7D; break;
                                case 0x0028: ch = 0x4D; break;
                                case 0x0029: ch = 0x5D; break;
                                case 0x002A: ch = 0x5C; break;
                                case 0x002B: ch = 0x4E; break;
                                case 0x002C: ch = 0x6B; break;
                                case 0x002D: ch = 0x60; break;
                                case 0x002E: ch = 0x4B; break;
                                case 0x002F: ch = 0x61; break;
                                case 0x0030:
                                case 0x0031:
                                case 0x0032:
                                case 0x0033:
                                case 0x0034:
                                case 0x0035:
                                case 0x0036:
                                case 0x0037:
                                case 0x0038:
                                case 0x0039:
                                        ch += 0x00C0;
                                        break;
                                case 0x003A: ch = 0x7A; break;
                                case 0x003B: ch = 0x5E; break;
                                case 0x003C: ch = 0x4C; break;
                                case 0x003D: ch = 0x7E; break;
                                case 0x003E: ch = 0x6E; break;
                                case 0x003F: ch = 0x6F; break;
                                case 0x0040: ch = 0x7C; break;
                                case 0x0041:
                                case 0x0042:
                                case 0x0043:
                                case 0x0044:
                                case 0x0045:
                                case 0x0046:
                                case 0x0047:
                                case 0x0048:
                                case 0x0049:
                                        ch += 0x0080;
                                        break;
                                case 0x004A:
                                case 0x004B:
                                case 0x004C:
                                case 0x004D:
                                case 0x004E:
                                case 0x004F:
                                case 0x0050:
                                case 0x0051:
                                case 0x0052:
                                        ch += 0x0087;
                                        break;
                                case 0x0053:
                                case 0x0054:
                                case 0x0055:
                                case 0x0056:
                                case 0x0057:
                                case 0x0058:
                                case 0x0059:
                                case 0x005A:
                                        ch += 0x008F;
                                        break;
                                case 0x005B: ch = 0x4A; break;
                                case 0x005C: ch = 0xE0; break;
                                case 0x005D: ch = 0x5A; break;
                                case 0x005E: ch = 0x5F; break;
                                case 0x005F: ch = 0x6D; break;
                                case 0x0060: ch = 0x79; break;
                                case 0x0061:
                                case 0x0062:
                                case 0x0063:
                                case 0x0064:
                                case 0x0065:
                                case 0x0066:
                                case 0x0067:
                                case 0x0068:
                                case 0x0069:
                                        ch += 0x0020;
                                        break;
                                case 0x006A:
                                case 0x006B:
                                case 0x006C:
                                case 0x006D:
                                case 0x006E:
                                case 0x006F:
                                case 0x0070:
                                case 0x0071:
                                case 0x0072:
                                        ch += 0x0027;
                                        break;
                                case 0x0073:
                                case 0x0074:
                                case 0x0075:
                                case 0x0076:
                                case 0x0077:
                                case 0x0078:
                                case 0x0079:
                                case 0x007A:
                                        ch += 0x002F;
                                        break;
                                case 0x007B: ch = 0xC0; break;
                                case 0x007C: ch = 0x6A; break;
                                case 0x007D: ch = 0xD0; break;
                                case 0x007E: ch = 0xA1; break;
                                case 0x007F: ch = 0x07; break;
                                case 0x0080:
                                case 0x0081:
                                case 0x0082:
                                case 0x0083:
                                case 0x0084:
                                        ch -= 0x0060;
                                        break;
                                case 0x0085: ch = 0x15; break;
                                case 0x0086: ch = 0x06; break;
                                case 0x0087: ch = 0x17; break;
                                case 0x0088:
                                case 0x0089:
                                case 0x008A:
                                case 0x008B:
                                case 0x008C:
                                        ch -= 0x0060;
                                        break;
                                case 0x008D: ch = 0x09; break;
                                case 0x008E: ch = 0x0A; break;
                                case 0x008F: ch = 0x1B; break;
                                case 0x0090: ch = 0x30; break;
                                case 0x0091: ch = 0x31; break;
                                case 0x0092: ch = 0x1A; break;
                                case 0x0093:
                                case 0x0094:
                                case 0x0095:
                                case 0x0096:
                                        ch -= 0x0060;
                                        break;
                                case 0x0097: ch = 0x08; break;
                                case 0x0098:
                                case 0x0099:
                                case 0x009A:
                                case 0x009B:
                                        ch -= 0x0060;
                                        break;
                                case 0x009C: ch = 0x04; break;
                                case 0x009D: ch = 0x14; break;
                                case 0x009E: ch = 0x3E; break;
                                case 0x009F: ch = 0xFF; break;
                                case 0x00A0: ch = 0x74; break;
                                case 0x00A3: ch = 0xB0; break;
                                case 0x00A6: ch = 0xDF; break;
                                case 0x00A7: ch = 0xEB; break;
                                case 0x00A8: ch = 0x70; break;
                                case 0x00A9: ch = 0xFB; break;
                                case 0x00AB: ch = 0xEE; break;
                                case 0x00AC: ch = 0xEF; break;
                                case 0x00AD: ch = 0xCA; break;
                                case 0x00B0: ch = 0x90; break;
                                case 0x00B1: ch = 0xDA; break;
                                case 0x00B2: ch = 0xEA; break;
                                case 0x00B3: ch = 0xFA; break;
                                case 0x00B4: ch = 0xA0; break;
                                case 0x00B7: ch = 0xDD; break;
                                case 0x00BB: ch = 0xFE; break;
                                case 0x00BD: ch = 0xDB; break;
                                case 0x0385: ch = 0x80; break;
                                case 0x0386: ch = 0x71; break;
                                case 0x0387: ch = 0xDD; break;
                                case 0x0388: ch = 0x72; break;
                                case 0x0389: ch = 0x73; break;
                                case 0x038A: ch = 0x75; break;
                                case 0x038C: ch = 0x76; break;
                                case 0x038E: ch = 0x77; break;
                                case 0x038F: ch = 0x78; break;
                                case 0x0390: ch = 0xCC; break;
                                case 0x0391:
                                case 0x0392:
                                case 0x0393:
                                case 0x0394:
                                case 0x0395:
                                case 0x0396:
                                case 0x0397:
                                case 0x0398:
                                case 0x0399:
                                        ch -= 0x0350;
                                        break;
                                case 0x039A:
                                case 0x039B:
                                case 0x039C:
                                case 0x039D:
                                case 0x039E:
                                case 0x039F:
                                case 0x03A0:
                                case 0x03A1:
                                        ch -= 0x0349;
                                        break;
                                case 0x03A3: ch = 0x59; break;
                                case 0x03A4:
                                case 0x03A5:
                                case 0x03A6:
                                case 0x03A7:
                                case 0x03A8:
                                case 0x03A9:
                                case 0x03AA:
                                case 0x03AB:
                                        ch -= 0x0342;
                                        break;
                                case 0x03AC: ch = 0xB1; break;
                                case 0x03AD: ch = 0xB2; break;
                                case 0x03AE: ch = 0xB3; break;
                                case 0x03AF: ch = 0xB5; break;
                                case 0x03B0: ch = 0xCD; break;
                                case 0x03B1:
                                case 0x03B2:
                                case 0x03B3:
                                case 0x03B4:
                                case 0x03B5:
                                case 0x03B6:
                                        ch -= 0x0327;
                                        break;
                                case 0x03B7:
                                case 0x03B8:
                                case 0x03B9:
                                case 0x03BA:
                                case 0x03BB:
                                case 0x03BC:
                                        ch -= 0x031D;
                                        break;
                                case 0x03BD:
                                case 0x03BE:
                                case 0x03BF:
                                case 0x03C0:
                                case 0x03C1:
                                        ch -= 0x0313;
                                        break;
                                case 0x03C2: ch = 0xBA; break;
                                case 0x03C3: ch = 0xAF; break;
                                case 0x03C4:
                                case 0x03C5:
                                case 0x03C6:
                                case 0x03C7:
                                case 0x03C8:
                                        ch -= 0x0309;
                                        break;
                                case 0x03C9: ch = 0xCB; break;
                                case 0x03CA: ch = 0xB4; break;
                                case 0x03CB: ch = 0xB8; break;
                                case 0x03CC: ch = 0xB6; break;
                                case 0x03CD: ch = 0xB7; break;
                                case 0x03CE: ch = 0xB9; break;
                                case 0x03D5: ch = 0xBD; break;
                                case 0x2015: ch = 0xCF; break;
                                case 0x2018: ch = 0xCE; break;
                                case 0x2019: ch = 0xDE; break;
                                case 0xFF01: ch = 0x4F; break;
                                case 0xFF02: ch = 0x7F; break;
                                case 0xFF03: ch = 0x7B; break;
                                case 0xFF04: ch = 0x5B; break;
                                case 0xFF05: ch = 0x6C; break;
                                case 0xFF06: ch = 0x50; break;
                                case 0xFF07: ch = 0x7D; break;
                                case 0xFF08: ch = 0x4D; break;
                                case 0xFF09: ch = 0x5D; break;
                                case 0xFF0A: ch = 0x5C; break;
                                case 0xFF0B: ch = 0x4E; break;
                                case 0xFF0C: ch = 0x6B; break;
                                case 0xFF0D: ch = 0x60; break;
                                case 0xFF0E: ch = 0x4B; break;
                                case 0xFF0F: ch = 0x61; break;
                                case 0xFF10:
                                case 0xFF11:
                                case 0xFF12:
                                case 0xFF13:
                                case 0xFF14:
                                case 0xFF15:
                                case 0xFF16:
                                case 0xFF17:
                                case 0xFF18:
                                case 0xFF19:
                                        ch -= 0xFE20;
                                        break;
                                case 0xFF1A: ch = 0x7A; break;
                                case 0xFF1B: ch = 0x5E; break;
                                case 0xFF1C: ch = 0x4C; break;
                                case 0xFF1D: ch = 0x7E; break;
                                case 0xFF1E: ch = 0x6E; break;
                                case 0xFF1F: ch = 0x6F; break;
                                case 0xFF20: ch = 0x7C; break;
                                case 0xFF21:
                                case 0xFF22:
                                case 0xFF23:
                                case 0xFF24:
                                case 0xFF25:
                                case 0xFF26:
                                case 0xFF27:
                                case 0xFF28:
                                case 0xFF29:
                                        ch -= 0xFE60;
                                        break;
                                case 0xFF2A:
                                case 0xFF2B:
                                case 0xFF2C:
                                case 0xFF2D:
                                case 0xFF2E:
                                case 0xFF2F:
                                case 0xFF30:
                                case 0xFF31:
                                case 0xFF32:
                                        ch -= 0xFE59;
                                        break;
                                case 0xFF33:
                                case 0xFF34:
                                case 0xFF35:
                                case 0xFF36:
                                case 0xFF37:
                                case 0xFF38:
                                case 0xFF39:
                                case 0xFF3A:
                                        ch -= 0xFE51;
                                        break;
                                case 0xFF3B: ch = 0x4A; break;
                                case 0xFF3C: ch = 0xE0; break;
                                case 0xFF3D: ch = 0x5A; break;
                                case 0xFF3E: ch = 0x5F; break;
                                case 0xFF3F: ch = 0x6D; break;
                                case 0xFF40: ch = 0x79; break;
                                case 0xFF41:
                                case 0xFF42:
                                case 0xFF43:
                                case 0xFF44:
                                case 0xFF45:
                                case 0xFF46:
                                case 0xFF47:
                                case 0xFF48:
                                case 0xFF49:
                                        ch -= 0xFEC0;
                                        break;
                                case 0xFF4A:
                                case 0xFF4B:
                                case 0xFF4C:
                                case 0xFF4D:
                                case 0xFF4E:
                                case 0xFF4F:
                                case 0xFF50:
                                case 0xFF51:
                                case 0xFF52:
                                        ch -= 0xFEB9;
                                        break;
                                case 0xFF53:
                                case 0xFF54:
                                case 0xFF55:
                                case 0xFF56:
                                case 0xFF57:
                                case 0xFF58:
                                case 0xFF59:
                                case 0xFF5A:
                                        ch -= 0xFEB1;
                                        break;
                                case 0xFF5B: ch = 0xC0; break;
                                case 0xFF5C: ch = 0x6A; break;
                                case 0xFF5D: ch = 0xD0; break;
                                case 0xFF5E: ch = 0xA1; break;
                                default: ch = 0x3F; break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

        protected override void ToBytes(String s, int charIndex, int charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(s[charIndex++]);
                        if(ch >= 4) switch(ch)
                        {
                                case 0x000B:
                                case 0x000C:
                                case 0x000D:
                                case 0x000E:
                                case 0x000F:
                                case 0x0010:
                                case 0x0011:
                                case 0x0012:
                                case 0x0013:
                                case 0x0018:
                                case 0x0019:
                                case 0x001C:
                                case 0x001D:
                                case 0x001E:
                                case 0x001F:
                                        break;
                                case 0x0004: ch = 0x37; break;
                                case 0x0005: ch = 0x2D; break;
                                case 0x0006: ch = 0x2E; break;
                                case 0x0007: ch = 0x2F; break;
                                case 0x0008: ch = 0x16; break;
                                case 0x0009: ch = 0x05; break;
                                case 0x000A: ch = 0x25; break;
                                case 0x0014: ch = 0x3C; break;
                                case 0x0015: ch = 0x3D; break;
                                case 0x0016: ch = 0x32; break;
                                case 0x0017: ch = 0x26; break;
                                case 0x001A: ch = 0x3F; break;
                                case 0x001B: ch = 0x27; break;
                                case 0x0020: ch = 0x40; break;
                                case 0x0021: ch = 0x4F; break;
                                case 0x0022: ch = 0x7F; break;
                                case 0x0023: ch = 0x7B; break;
                                case 0x0024: ch = 0x5B; break;
                                case 0x0025: ch = 0x6C; break;
                                case 0x0026: ch = 0x50; break;
                                case 0x0027: ch = 0x7D; break;
                                case 0x0028: ch = 0x4D; break;
                                case 0x0029: ch = 0x5D; break;
                                case 0x002A: ch = 0x5C; break;
                                case 0x002B: ch = 0x4E; break;
                                case 0x002C: ch = 0x6B; break;
                                case 0x002D: ch = 0x60; break;
                                case 0x002E: ch = 0x4B; break;
                                case 0x002F: ch = 0x61; break;
                                case 0x0030:
                                case 0x0031:
                                case 0x0032:
                                case 0x0033:
                                case 0x0034:
                                case 0x0035:
                                case 0x0036:
                                case 0x0037:
                                case 0x0038:
                                case 0x0039:
                                        ch += 0x00C0;
                                        break;
                                case 0x003A: ch = 0x7A; break;
                                case 0x003B: ch = 0x5E; break;
                                case 0x003C: ch = 0x4C; break;
                                case 0x003D: ch = 0x7E; break;
                                case 0x003E: ch = 0x6E; break;
                                case 0x003F: ch = 0x6F; break;
                                case 0x0040: ch = 0x7C; break;
                                case 0x0041:
                                case 0x0042:
                                case 0x0043:
                                case 0x0044:
                                case 0x0045:
                                case 0x0046:
                                case 0x0047:
                                case 0x0048:
                                case 0x0049:
                                        ch += 0x0080;
                                        break;
                                case 0x004A:
                                case 0x004B:
                                case 0x004C:
                                case 0x004D:
                                case 0x004E:
                                case 0x004F:
                                case 0x0050:
                                case 0x0051:
                                case 0x0052:
                                        ch += 0x0087;
                                        break;
                                case 0x0053:
                                case 0x0054:
                                case 0x0055:
                                case 0x0056:
                                case 0x0057:
                                case 0x0058:
                                case 0x0059:
                                case 0x005A:
                                        ch += 0x008F;
                                        break;
                                case 0x005B: ch = 0x4A; break;
                                case 0x005C: ch = 0xE0; break;
                                case 0x005D: ch = 0x5A; break;
                                case 0x005E: ch = 0x5F; break;
                                case 0x005F: ch = 0x6D; break;
                                case 0x0060: ch = 0x79; break;
                                case 0x0061:
                                case 0x0062:
                                case 0x0063:
                                case 0x0064:
                                case 0x0065:
                                case 0x0066:
                                case 0x0067:
                                case 0x0068:
                                case 0x0069:
                                        ch += 0x0020;
                                        break;
                                case 0x006A:
                                case 0x006B:
                                case 0x006C:
                                case 0x006D:
                                case 0x006E:
                                case 0x006F:
                                case 0x0070:
                                case 0x0071:
                                case 0x0072:
                                        ch += 0x0027;
                                        break;
                                case 0x0073:
                                case 0x0074:
                                case 0x0075:
                                case 0x0076:
                                case 0x0077:
                                case 0x0078:
                                case 0x0079:
                                case 0x007A:
                                        ch += 0x002F;
                                        break;
                                case 0x007B: ch = 0xC0; break;
                                case 0x007C: ch = 0x6A; break;
                                case 0x007D: ch = 0xD0; break;
                                case 0x007E: ch = 0xA1; break;
                                case 0x007F: ch = 0x07; break;
                                case 0x0080:
                                case 0x0081:
                                case 0x0082:
                                case 0x0083:
                                case 0x0084:
                                        ch -= 0x0060;
                                        break;
                                case 0x0085: ch = 0x15; break;
                                case 0x0086: ch = 0x06; break;
                                case 0x0087: ch = 0x17; break;
                                case 0x0088:
                                case 0x0089:
                                case 0x008A:
                                case 0x008B:
                                case 0x008C:
                                        ch -= 0x0060;
                                        break;
                                case 0x008D: ch = 0x09; break;
                                case 0x008E: ch = 0x0A; break;
                                case 0x008F: ch = 0x1B; break;
                                case 0x0090: ch = 0x30; break;
                                case 0x0091: ch = 0x31; break;
                                case 0x0092: ch = 0x1A; break;
                                case 0x0093:
                                case 0x0094:
                                case 0x0095:
                                case 0x0096:
                                        ch -= 0x0060;
                                        break;
                                case 0x0097: ch = 0x08; break;
                                case 0x0098:
                                case 0x0099:
                                case 0x009A:
                                case 0x009B:
                                        ch -= 0x0060;
                                        break;
                                case 0x009C: ch = 0x04; break;
                                case 0x009D: ch = 0x14; break;
                                case 0x009E: ch = 0x3E; break;
                                case 0x009F: ch = 0xFF; break;
                                case 0x00A0: ch = 0x74; break;
                                case 0x00A3: ch = 0xB0; break;
                                case 0x00A6: ch = 0xDF; break;
                                case 0x00A7: ch = 0xEB; break;
                                case 0x00A8: ch = 0x70; break;
                                case 0x00A9: ch = 0xFB; break;
                                case 0x00AB: ch = 0xEE; break;
                                case 0x00AC: ch = 0xEF; break;
                                case 0x00AD: ch = 0xCA; break;
                                case 0x00B0: ch = 0x90; break;
                                case 0x00B1: ch = 0xDA; break;
                                case 0x00B2: ch = 0xEA; break;
                                case 0x00B3: ch = 0xFA; break;
                                case 0x00B4: ch = 0xA0; break;
                                case 0x00B7: ch = 0xDD; break;
                                case 0x00BB: ch = 0xFE; break;
                                case 0x00BD: ch = 0xDB; break;
                                case 0x0385: ch = 0x80; break;
                                case 0x0386: ch = 0x71; break;
                                case 0x0387: ch = 0xDD; break;
                                case 0x0388: ch = 0x72; break;
                                case 0x0389: ch = 0x73; break;
                                case 0x038A: ch = 0x75; break;
                                case 0x038C: ch = 0x76; break;
                                case 0x038E: ch = 0x77; break;
                                case 0x038F: ch = 0x78; break;
                                case 0x0390: ch = 0xCC; break;
                                case 0x0391:
                                case 0x0392:
                                case 0x0393:
                                case 0x0394:
                                case 0x0395:
                                case 0x0396:
                                case 0x0397:
                                case 0x0398:
                                case 0x0399:
                                        ch -= 0x0350;
                                        break;
                                case 0x039A:
                                case 0x039B:
                                case 0x039C:
                                case 0x039D:
                                case 0x039E:
                                case 0x039F:
                                case 0x03A0:
                                case 0x03A1:
                                        ch -= 0x0349;
                                        break;
                                case 0x03A3: ch = 0x59; break;
                                case 0x03A4:
                                case 0x03A5:
                                case 0x03A6:
                                case 0x03A7:
                                case 0x03A8:
                                case 0x03A9:
                                case 0x03AA:
                                case 0x03AB:
                                        ch -= 0x0342;
                                        break;
                                case 0x03AC: ch = 0xB1; break;
                                case 0x03AD: ch = 0xB2; break;
                                case 0x03AE: ch = 0xB3; break;
                                case 0x03AF: ch = 0xB5; break;
                                case 0x03B0: ch = 0xCD; break;
                                case 0x03B1:
                                case 0x03B2:
                                case 0x03B3:
                                case 0x03B4:
                                case 0x03B5:
                                case 0x03B6:
                                        ch -= 0x0327;
                                        break;
                                case 0x03B7:
                                case 0x03B8:
                                case 0x03B9:
                                case 0x03BA:
                                case 0x03BB:
                                case 0x03BC:
                                        ch -= 0x031D;
                                        break;
                                case 0x03BD:
                                case 0x03BE:
                                case 0x03BF:
                                case 0x03C0:
                                case 0x03C1:
                                        ch -= 0x0313;
                                        break;
                                case 0x03C2: ch = 0xBA; break;
                                case 0x03C3: ch = 0xAF; break;
                                case 0x03C4:
                                case 0x03C5:
                                case 0x03C6:
                                case 0x03C7:
                                case 0x03C8:
                                        ch -= 0x0309;
                                        break;
                                case 0x03C9: ch = 0xCB; break;
                                case 0x03CA: ch = 0xB4; break;
                                case 0x03CB: ch = 0xB8; break;
                                case 0x03CC: ch = 0xB6; break;
                                case 0x03CD: ch = 0xB7; break;
                                case 0x03CE: ch = 0xB9; break;
                                case 0x03D5: ch = 0xBD; break;
                                case 0x2015: ch = 0xCF; break;
                                case 0x2018: ch = 0xCE; break;
                                case 0x2019: ch = 0xDE; break;
                                case 0xFF01: ch = 0x4F; break;
                                case 0xFF02: ch = 0x7F; break;
                                case 0xFF03: ch = 0x7B; break;
                                case 0xFF04: ch = 0x5B; break;
                                case 0xFF05: ch = 0x6C; break;
                                case 0xFF06: ch = 0x50; break;
                                case 0xFF07: ch = 0x7D; break;
                                case 0xFF08: ch = 0x4D; break;
                                case 0xFF09: ch = 0x5D; break;
                                case 0xFF0A: ch = 0x5C; break;
                                case 0xFF0B: ch = 0x4E; break;
                                case 0xFF0C: ch = 0x6B; break;
                                case 0xFF0D: ch = 0x60; break;
                                case 0xFF0E: ch = 0x4B; break;
                                case 0xFF0F: ch = 0x61; break;
                                case 0xFF10:
                                case 0xFF11:
                                case 0xFF12:
                                case 0xFF13:
                                case 0xFF14:
                                case 0xFF15:
                                case 0xFF16:
                                case 0xFF17:
                                case 0xFF18:
                                case 0xFF19:
                                        ch -= 0xFE20;
                                        break;
                                case 0xFF1A: ch = 0x7A; break;
                                case 0xFF1B: ch = 0x5E; break;
                                case 0xFF1C: ch = 0x4C; break;
                                case 0xFF1D: ch = 0x7E; break;
                                case 0xFF1E: ch = 0x6E; break;
                                case 0xFF1F: ch = 0x6F; break;
                                case 0xFF20: ch = 0x7C; break;
                                case 0xFF21:
                                case 0xFF22:
                                case 0xFF23:
                                case 0xFF24:
                                case 0xFF25:
                                case 0xFF26:
                                case 0xFF27:
                                case 0xFF28:
                                case 0xFF29:
                                        ch -= 0xFE60;
                                        break;
                                case 0xFF2A:
                                case 0xFF2B:
                                case 0xFF2C:
                                case 0xFF2D:
                                case 0xFF2E:
                                case 0xFF2F:
                                case 0xFF30:
                                case 0xFF31:
                                case 0xFF32:
                                        ch -= 0xFE59;
                                        break;
                                case 0xFF33:
                                case 0xFF34:
                                case 0xFF35:
                                case 0xFF36:
                                case 0xFF37:
                                case 0xFF38:
                                case 0xFF39:
                                case 0xFF3A:
                                        ch -= 0xFE51;
                                        break;
                                case 0xFF3B: ch = 0x4A; break;
                                case 0xFF3C: ch = 0xE0; break;
                                case 0xFF3D: ch = 0x5A; break;
                                case 0xFF3E: ch = 0x5F; break;
                                case 0xFF3F: ch = 0x6D; break;
                                case 0xFF40: ch = 0x79; break;
                                case 0xFF41:
                                case 0xFF42:
                                case 0xFF43:
                                case 0xFF44:
                                case 0xFF45:
                                case 0xFF46:
                                case 0xFF47:
                                case 0xFF48:
                                case 0xFF49:
                                        ch -= 0xFEC0;
                                        break;
                                case 0xFF4A:
                                case 0xFF4B:
                                case 0xFF4C:
                                case 0xFF4D:
                                case 0xFF4E:
                                case 0xFF4F:
                                case 0xFF50:
                                case 0xFF51:
                                case 0xFF52:
                                        ch -= 0xFEB9;
                                        break;
                                case 0xFF53:
                                case 0xFF54:
                                case 0xFF55:
                                case 0xFF56:
                                case 0xFF57:
                                case 0xFF58:
                                case 0xFF59:
                                case 0xFF5A:
                                        ch -= 0xFEB1;
                                        break;
                                case 0xFF5B: ch = 0xC0; break;
                                case 0xFF5C: ch = 0x6A; break;
                                case 0xFF5D: ch = 0xD0; break;
                                case 0xFF5E: ch = 0xA1; break;
                                default: ch = 0x3F; break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

}; // class CP20423

public class ENCibm423 : CP20423
{
        public ENCibm423() : base() {}

}; // class ENCibm423

}; // namespace I18N.Rare

--- NEW FILE ---
/*
 * CP20880.cs - IBM EBCDIC (Cyrillic) code page.
 *
 * Copyright (c) 2002  Southern Storm Software, Pty Ltd
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

// Generated from "ibm-1154.ucm".

namespace I18N.Rare
{

using System;
using I18N.Common;

public class CP20880 : ByteEncoding
{
        public CP20880()
                : base(20880, ToChars, "IBM EBCDIC (Cyrillic)",
                       "IBM1154", "IBM1154", "IBM1154",
                       false, false, false, false, 1257)
        {}

        private static readonly char[] ToChars = {
                '\u0000', '\u0001', '\u0002', '\u0003', '\u009C', '\u0009', 
                '\u0086', '\u007F', '\u0097', '\u008D', '\u008E', '\u000B', 
                '\u000C', '\u000D', '\u000E', '\u000F', '\u0010', '\u0011', 
                '\u0012', '\u0013', '\u009D', '\u0085', '\u0008', '\u0087', 
                '\u0018', '\u0019', '\u0092', '\u008F', '\u001C', '\u001D', 
                '\u001E', '\u001F', '\u0080', '\u0081', '\u0082', '\u0083', 
                '\u0084', '\u000A', '\u0017', '\u001B', '\u0088', '\u0089', 
                '\u008A', '\u008B', '\u008C', '\u0005', '\u0006', '\u0007', 
                '\u0090', '\u0091', '\u0016', '\u0093', '\u0094', '\u0095', 
                '\u0096', '\u0004', '\u0098', '\u0099', '\u009A', '\u009B', 
                '\u0014', '\u0015', '\u009E', '\u001A', '\u0020', '\u00A0', 
                '\u0452', '\u0453', '\u0451', '\u0454', '\u0455', '\u0456', 
                '\u0457', '\u0458', '\u005B', '\u002E', '\u003C', '\u0028', 
                '\u002B', '\u0021', '\u0026', '\u0459', '\u045A', '\u045B', 
                '\u045C', '\u045E', '\u045F', '\u042A', '\u2116', '\u0402', 
                '\u005D', '\u0024', '\u002A', '\u0029', '\u003B', '\u005E', 
                '\u002D', '\u002F', '\u0403', '\u0401', '\u0404', '\u0405', 
                '\u0406', '\u0407', '\u0408', '\u0409', '\u007C', '\u002C', 
                '\u0025', '\u005F', '\u003E', '\u003F', '\u040A', '\u040B', 
                '\u040C', '\u00AD', '\u040E', '\u040F', '\u044E', '\u0430', 
                '\u0431', '\u0060', '\u003A', '\u0023', '\u0040', '\u0027', 
                '\u003D', '\u0022', '\u0446', '\u0061', '\u0062', '\u0063', 
                '\u0064', '\u0065', '\u0066', '\u0067', '\u0068', '\u0069', 
                '\u0434', '\u0435', '\u0444', '\u0433', '\u0445', '\u0438', 
                '\u0439', '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', 
                '\u006F', '\u0070', '\u0071', '\u0072', '\u043A', '\u043B', 
                '\u043C', '\u043D', '\u043E', '\u043F', '\u044F', '\u007E', 
                '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', 
                '\u0079', '\u007A', '\u0440', '\u0441', '\u0442', '\u0443', 
                '\u0436', '\u0432', '\u044C', '\u044B', '\u0437', '\u0448', 
                '\u044D', '\u0449', '\u0447', '\u044A', '\u042E', '\u0410', 
                '\u0411', '\u0426', '\u0414', '\u0415', '\u0424', '\u0413', 
                '\u007B', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', 
                '\u0046', '\u0047', '\u0048', '\u0049', '\u0425', '\u0418', 
                '\u0419', '\u041A', '\u041B', '\u041C', '\u007D', '\u004A', 
                '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', 
                '\u0051', '\u0052', '\u041D', '\u041E', '\u041F', '\u042F', 
                '\u0420', '\u0421', '\u005C', '\u20AC', '\u0053', '\u0054', 
                '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', 
                '\u0422', '\u0423', '\u0416', '\u0412', '\u042C', '\u042B', 
                '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', 
                '\u0036', '\u0037', '\u0038', '\u0039', '\u0417', '\u0428', 
                '\u042D', '\u0429', '\u0427', '\u009F', 
        };

        protected override void ToBytes(char[] chars, int charIndex, int 
charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(chars[charIndex++]);
                        if(ch >= 4) switch(ch)
                        {
                                case 0x000B:
                                case 0x000C:
                                case 0x000D:
                                case 0x000E:
                                case 0x000F:
                                case 0x0010:
                                case 0x0011:
                                case 0x0012:
                                case 0x0013:
                                case 0x0018:
                                case 0x0019:
                                case 0x001C:
                                case 0x001D:
                                case 0x001E:
                                case 0x001F:
                                        break;
                                case 0x0004: ch = 0x37; break;
                                case 0x0005: ch = 0x2D; break;
                                case 0x0006: ch = 0x2E; break;
                                case 0x0007: ch = 0x2F; break;
                                case 0x0008: ch = 0x16; break;
                                case 0x0009: ch = 0x05; break;
                                case 0x000A: ch = 0x25; break;
                                case 0x0014: ch = 0x3C; break;
                                case 0x0015: ch = 0x3D; break;
                                case 0x0016: ch = 0x32; break;
                                case 0x0017: ch = 0x26; break;
                                case 0x001A: ch = 0x3F; break;
                                case 0x001B: ch = 0x27; break;
                                case 0x0020: ch = 0x40; break;
                                case 0x0021: ch = 0x4F; break;
                                case 0x0022: ch = 0x7F; break;
                                case 0x0023: ch = 0x7B; break;
                                case 0x0024: ch = 0x5B; break;
                                case 0x0025: ch = 0x6C; break;
                                case 0x0026: ch = 0x50; break;
                                case 0x0027: ch = 0x7D; break;
                                case 0x0028: ch = 0x4D; break;
                                case 0x0029: ch = 0x5D; break;
                                case 0x002A: ch = 0x5C; break;
                                case 0x002B: ch = 0x4E; break;
                                case 0x002C: ch = 0x6B; break;
                                case 0x002D: ch = 0x60; break;
                                case 0x002E: ch = 0x4B; break;
                                case 0x002F: ch = 0x61; break;
                                case 0x0030:
                                case 0x0031:
                                case 0x0032:
                                case 0x0033:
                                case 0x0034:
                                case 0x0035:
                                case 0x0036:
                                case 0x0037:
                                case 0x0038:
                                case 0x0039:
                                        ch += 0x00C0;
                                        break;
                                case 0x003A: ch = 0x7A; break;
                                case 0x003B: ch = 0x5E; break;
                                case 0x003C: ch = 0x4C; break;
                                case 0x003D: ch = 0x7E; break;
                                case 0x003E: ch = 0x6E; break;
                                case 0x003F: ch = 0x6F; break;
                                case 0x0040: ch = 0x7C; break;
                                case 0x0041:
                                case 0x0042:
                                case 0x0043:
                                case 0x0044:
                                case 0x0045:
                                case 0x0046:
                                case 0x0047:
                                case 0x0048:
                                case 0x0049:
                                        ch += 0x0080;
                                        break;
                                case 0x004A:
                                case 0x004B:
                                case 0x004C:
                                case 0x004D:
                                case 0x004E:
                                case 0x004F:
                                case 0x0050:
                                case 0x0051:
                                case 0x0052:
                                        ch += 0x0087;
                                        break;
                                case 0x0053:
                                case 0x0054:
                                case 0x0055:
                                case 0x0056:
                                case 0x0057:
                                case 0x0058:
                                case 0x0059:
                                case 0x005A:
                                        ch += 0x008F;
                                        break;
                                case 0x005B: ch = 0x4A; break;
                                case 0x005C: ch = 0xE0; break;
                                case 0x005D: ch = 0x5A; break;
                                case 0x005E: ch = 0x5F; break;
                                case 0x005F: ch = 0x6D; break;
                                case 0x0060: ch = 0x79; break;
                                case 0x0061:
                                case 0x0062:
                                case 0x0063:
                                case 0x0064:
                                case 0x0065:
                                case 0x0066:
                                case 0x0067:
                                case 0x0068:
                                case 0x0069:
                                        ch += 0x0020;
                                        break;
                                case 0x006A:
                                case 0x006B:
                                case 0x006C:
                                case 0x006D:
                                case 0x006E:
                                case 0x006F:
                                case 0x0070:
                                case 0x0071:
                                case 0x0072:
                                        ch += 0x0027;
                                        break;
                                case 0x0073:
                                case 0x0074:
                                case 0x0075:
                                case 0x0076:
                                case 0x0077:
                                case 0x0078:
                                case 0x0079:
                                case 0x007A:
                                        ch += 0x002F;
                                        break;
                                case 0x007B: ch = 0xC0; break;
                                case 0x007C: ch = 0x6A; break;
                                case 0x007D: ch = 0xD0; break;
                                case 0x007E: ch = 0xA1; break;
                                case 0x007F: ch = 0x07; break;
                                case 0x0080:
                                case 0x0081:
                                case 0x0082:
                                case 0x0083:
                                case 0x0084:
                                        ch -= 0x0060;
                                        break;
                                case 0x0085: ch = 0x15; break;
                                case 0x0086: ch = 0x06; break;
                                case 0x0087: ch = 0x17; break;
                                case 0x0088:
                                case 0x0089:
                                case 0x008A:
                                case 0x008B:
                                case 0x008C:
                                        ch -= 0x0060;
                                        break;
                                case 0x008D: ch = 0x09; break;
                                case 0x008E: ch = 0x0A; break;
                                case 0x008F: ch = 0x1B; break;
                                case 0x0090: ch = 0x30; break;
                                case 0x0091: ch = 0x31; break;
                                case 0x0092: ch = 0x1A; break;
                                case 0x0093:
                                case 0x0094:
                                case 0x0095:
                                case 0x0096:
                                        ch -= 0x0060;
                                        break;
                                case 0x0097: ch = 0x08; break;
                                case 0x0098:
                                case 0x0099:
                                case 0x009A:
                                case 0x009B:
                                        ch -= 0x0060;
                                        break;
                                case 0x009C: ch = 0x04; break;
                                case 0x009D: ch = 0x14; break;
                                case 0x009E: ch = 0x3E; break;
                                case 0x009F: ch = 0xFF; break;
                                case 0x00A0: ch = 0x41; break;
                                case 0x00AD: ch = 0x73; break;
                                case 0x0401: ch = 0x63; break;
                                case 0x0402: ch = 0x59; break;
                                case 0x0403: ch = 0x62; break;
                                case 0x0404:
                                case 0x0405:
                                case 0x0406:
                                case 0x0407:
                                case 0x0408:
                                case 0x0409:
                                        ch -= 0x03A0;
                                        break;
                                case 0x040A: ch = 0x70; break;
                                case 0x040B: ch = 0x71; break;
                                case 0x040C: ch = 0x72; break;
                                case 0x040E: ch = 0x74; break;
                                case 0x040F: ch = 0x75; break;
                                case 0x0410: ch = 0xB9; break;
                                case 0x0411: ch = 0xBA; break;
                                case 0x0412: ch = 0xED; break;
                                case 0x0413: ch = 0xBF; break;
                                case 0x0414: ch = 0xBC; break;
                                case 0x0415: ch = 0xBD; break;
                                case 0x0416: ch = 0xEC; break;
                                case 0x0417: ch = 0xFA; break;
                                case 0x0418:
                                case 0x0419:
                                case 0x041A:
                                case 0x041B:
                                case 0x041C:
                                        ch -= 0x034D;
                                        break;
                                case 0x041D: ch = 0xDA; break;
                                case 0x041E: ch = 0xDB; break;
                                case 0x041F: ch = 0xDC; break;
                                case 0x0420: ch = 0xDE; break;
                                case 0x0421: ch = 0xDF; break;
                                case 0x0422: ch = 0xEA; break;
                                case 0x0423: ch = 0xEB; break;
                                case 0x0424: ch = 0xBE; break;
                                case 0x0425: ch = 0xCA; break;
                                case 0x0426: ch = 0xBB; break;
                                case 0x0427: ch = 0xFE; break;
                                case 0x0428: ch = 0xFB; break;
                                case 0x0429: ch = 0xFD; break;
                                case 0x042A: ch = 0x57; break;
                                case 0x042B: ch = 0xEF; break;
                                case 0x042C: ch = 0xEE; break;
                                case 0x042D: ch = 0xFC; break;
                                case 0x042E: ch = 0xB8; break;
                                case 0x042F: ch = 0xDD; break;
                                case 0x0430: ch = 0x77; break;
                                case 0x0431: ch = 0x78; break;
                                case 0x0432: ch = 0xAF; break;
                                case 0x0433: ch = 0x8D; break;
                                case 0x0434: ch = 0x8A; break;
                                case 0x0435: ch = 0x8B; break;
                                case 0x0436: ch = 0xAE; break;
                                case 0x0437: ch = 0xB2; break;
                                case 0x0438: ch = 0x8F; break;
                                case 0x0439: ch = 0x90; break;
                                case 0x043A:
                                case 0x043B:
                                case 0x043C:
                                case 0x043D:
                                case 0x043E:
                                case 0x043F:
                                        ch -= 0x03A0;
                                        break;
                                case 0x0440:
                                case 0x0441:
                                case 0x0442:
                                case 0x0443:
                                        ch -= 0x0396;
                                        break;
                                case 0x0444: ch = 0x8C; break;
                                case 0x0445: ch = 0x8E; break;
                                case 0x0446: ch = 0x80; break;
                                case 0x0447: ch = 0xB6; break;
                                case 0x0448: ch = 0xB3; break;
                                case 0x0449: ch = 0xB5; break;
                                case 0x044A: ch = 0xB7; break;
                                case 0x044B: ch = 0xB1; break;
                                case 0x044C: ch = 0xB0; break;
                                case 0x044D: ch = 0xB4; break;
                                case 0x044E: ch = 0x76; break;
                                case 0x044F: ch = 0xA0; break;
                                case 0x0451: ch = 0x44; break;
                                case 0x0452: ch = 0x42; break;
                                case 0x0453: ch = 0x43; break;
                                case 0x0454:
                                case 0x0455:
                                case 0x0456:
                                case 0x0457:
                                case 0x0458:
                                        ch -= 0x040F;
                                        break;
                                case 0x0459:
                                case 0x045A:
                                case 0x045B:
                                case 0x045C:
                                        ch -= 0x0408;
                                        break;
                                case 0x045E: ch = 0x55; break;
                                case 0x045F: ch = 0x56; break;
                                case 0x20AC: ch = 0xE1; break;
                                case 0x2116: ch = 0x58; break;
                                case 0xFF01: ch = 0x4F; break;
                                case 0xFF02: ch = 0x7F; break;
                                case 0xFF03: ch = 0x7B; break;
                                case 0xFF04: ch = 0x5B; break;
                                case 0xFF05: ch = 0x6C; break;
                                case 0xFF06: ch = 0x50; break;
                                case 0xFF07: ch = 0x7D; break;
                                case 0xFF08: ch = 0x4D; break;
                                case 0xFF09: ch = 0x5D; break;
                                case 0xFF0A: ch = 0x5C; break;
                                case 0xFF0B: ch = 0x4E; break;
                                case 0xFF0C: ch = 0x6B; break;
                                case 0xFF0D: ch = 0x60; break;
                                case 0xFF0E: ch = 0x4B; break;
                                case 0xFF0F: ch = 0x61; break;
                                case 0xFF10:
                                case 0xFF11:
                                case 0xFF12:
                                case 0xFF13:
                                case 0xFF14:
                                case 0xFF15:
                                case 0xFF16:
                                case 0xFF17:
                                case 0xFF18:
                                case 0xFF19:
                                        ch -= 0xFE20;
                                        break;
                                case 0xFF1A: ch = 0x7A; break;
                                case 0xFF1B: ch = 0x5E; break;
                                case 0xFF1C: ch = 0x4C; break;
                                case 0xFF1D: ch = 0x7E; break;
                                case 0xFF1E: ch = 0x6E; break;
                                case 0xFF1F: ch = 0x6F; break;
                                case 0xFF20: ch = 0x7C; break;
                                case 0xFF21:
                                case 0xFF22:
                                case 0xFF23:
                                case 0xFF24:
                                case 0xFF25:
                                case 0xFF26:
                                case 0xFF27:
                                case 0xFF28:
                                case 0xFF29:
                                        ch -= 0xFE60;
                                        break;
                                case 0xFF2A:
                                case 0xFF2B:
                                case 0xFF2C:
                                case 0xFF2D:
                                case 0xFF2E:
                                case 0xFF2F:
                                case 0xFF30:
                                case 0xFF31:
                                case 0xFF32:
                                        ch -= 0xFE59;
                                        break;
                                case 0xFF33:
                                case 0xFF34:
                                case 0xFF35:
                                case 0xFF36:
                                case 0xFF37:
                                case 0xFF38:
                                case 0xFF39:
                                case 0xFF3A:
                                        ch -= 0xFE51;
                                        break;
                                case 0xFF3B: ch = 0x4A; break;
                                case 0xFF3C: ch = 0xE0; break;
                                case 0xFF3D: ch = 0x5A; break;
                                case 0xFF3E: ch = 0x5F; break;
                                case 0xFF3F: ch = 0x6D; break;
                                case 0xFF40: ch = 0x79; break;
                                case 0xFF41:
                                case 0xFF42:
                                case 0xFF43:
                                case 0xFF44:
                                case 0xFF45:
                                case 0xFF46:
                                case 0xFF47:
                                case 0xFF48:
                                case 0xFF49:
                                        ch -= 0xFEC0;
                                        break;
                                case 0xFF4A:
                                case 0xFF4B:
                                case 0xFF4C:
                                case 0xFF4D:
                                case 0xFF4E:
                                case 0xFF4F:
                                case 0xFF50:
                                case 0xFF51:
                                case 0xFF52:
                                        ch -= 0xFEB9;
                                        break;
                                case 0xFF53:
                                case 0xFF54:
                                case 0xFF55:
                                case 0xFF56:
                                case 0xFF57:
                                case 0xFF58:
                                case 0xFF59:
                                case 0xFF5A:
                                        ch -= 0xFEB1;
                                        break;
                                case 0xFF5B: ch = 0xC0; break;
                                case 0xFF5C: ch = 0x6A; break;
                                case 0xFF5D: ch = 0xD0; break;
                                case 0xFF5E: ch = 0xA1; break;
                                default: ch = 0x3F; break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

        protected override void ToBytes(String s, int charIndex, int charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(s[charIndex++]);
                        if(ch >= 4) switch(ch)
                        {
                                case 0x000B:
                                case 0x000C:
                                case 0x000D:
                                case 0x000E:
                                case 0x000F:
                                case 0x0010:
                                case 0x0011:
                                case 0x0012:
                                case 0x0013:
                                case 0x0018:
                                case 0x0019:
                                case 0x001C:
                                case 0x001D:
                                case 0x001E:
                                case 0x001F:
                                        break;
                                case 0x0004: ch = 0x37; break;
                                case 0x0005: ch = 0x2D; break;
                                case 0x0006: ch = 0x2E; break;
                                case 0x0007: ch = 0x2F; break;
                                case 0x0008: ch = 0x16; break;
                                case 0x0009: ch = 0x05; break;
                                case 0x000A: ch = 0x25; break;
                                case 0x0014: ch = 0x3C; break;
                                case 0x0015: ch = 0x3D; break;
                                case 0x0016: ch = 0x32; break;
                                case 0x0017: ch = 0x26; break;
                                case 0x001A: ch = 0x3F; break;
                                case 0x001B: ch = 0x27; break;
                                case 0x0020: ch = 0x40; break;
                                case 0x0021: ch = 0x4F; break;
                                case 0x0022: ch = 0x7F; break;
                                case 0x0023: ch = 0x7B; break;
                                case 0x0024: ch = 0x5B; break;
                                case 0x0025: ch = 0x6C; break;
                                case 0x0026: ch = 0x50; break;
                                case 0x0027: ch = 0x7D; break;
                                case 0x0028: ch = 0x4D; break;
                                case 0x0029: ch = 0x5D; break;
                                case 0x002A: ch = 0x5C; break;
                                case 0x002B: ch = 0x4E; break;
                                case 0x002C: ch = 0x6B; break;
                                case 0x002D: ch = 0x60; break;
                                case 0x002E: ch = 0x4B; break;
                                case 0x002F: ch = 0x61; break;
                                case 0x0030:
                                case 0x0031:
                                case 0x0032:
                                case 0x0033:
                                case 0x0034:
                                case 0x0035:
                                case 0x0036:
                                case 0x0037:
                                case 0x0038:
                                case 0x0039:
                                        ch += 0x00C0;
                                        break;
                                case 0x003A: ch = 0x7A; break;
                                case 0x003B: ch = 0x5E; break;
                                case 0x003C: ch = 0x4C; break;
                                case 0x003D: ch = 0x7E; break;
                                case 0x003E: ch = 0x6E; break;
                                case 0x003F: ch = 0x6F; break;
                                case 0x0040: ch = 0x7C; break;
                                case 0x0041:
                                case 0x0042:
                                case 0x0043:
                                case 0x0044:
                                case 0x0045:
                                case 0x0046:
                                case 0x0047:
                                case 0x0048:
                                case 0x0049:
                                        ch += 0x0080;
                                        break;
                                case 0x004A:
                                case 0x004B:
                                case 0x004C:
                                case 0x004D:
                                case 0x004E:
                                case 0x004F:
                                case 0x0050:
                                case 0x0051:
                                case 0x0052:
                                        ch += 0x0087;
                                        break;
                                case 0x0053:
                                case 0x0054:
                                case 0x0055:
                                case 0x0056:
                                case 0x0057:
                                case 0x0058:
                                case 0x0059:
                                case 0x005A:
                                        ch += 0x008F;
                                        break;
                                case 0x005B: ch = 0x4A; break;
                                case 0x005C: ch = 0xE0; break;
                                case 0x005D: ch = 0x5A; break;
                                case 0x005E: ch = 0x5F; break;
                                case 0x005F: ch = 0x6D; break;
                                case 0x0060: ch = 0x79; break;
                                case 0x0061:
                                case 0x0062:
                                case 0x0063:
                                case 0x0064:
                                case 0x0065:
                                case 0x0066:
                                case 0x0067:
                                case 0x0068:
                                case 0x0069:
                                        ch += 0x0020;
                                        break;
                                case 0x006A:
                                case 0x006B:
                                case 0x006C:
                                case 0x006D:
                                case 0x006E:
                                case 0x006F:
                                case 0x0070:
                                case 0x0071:
                                case 0x0072:
                                        ch += 0x0027;
                                        break;
                                case 0x0073:
                                case 0x0074:
                                case 0x0075:
                                case 0x0076:
                                case 0x0077:
                                case 0x0078:
                                case 0x0079:
                                case 0x007A:
                                        ch += 0x002F;
                                        break;
                                case 0x007B: ch = 0xC0; break;
                                case 0x007C: ch = 0x6A; break;
                                case 0x007D: ch = 0xD0; break;
                                case 0x007E: ch = 0xA1; break;
                                case 0x007F: ch = 0x07; break;
                                case 0x0080:
                                case 0x0081:
                                case 0x0082:
                                case 0x0083:
                                case 0x0084:
                                        ch -= 0x0060;
                                        break;
                                case 0x0085: ch = 0x15; break;
                                case 0x0086: ch = 0x06; break;
                                case 0x0087: ch = 0x17; break;
                                case 0x0088:
                                case 0x0089:
                                case 0x008A:
                                case 0x008B:
                                case 0x008C:
                                        ch -= 0x0060;
                                        break;
                                case 0x008D: ch = 0x09; break;
                                case 0x008E: ch = 0x0A; break;
                                case 0x008F: ch = 0x1B; break;
                                case 0x0090: ch = 0x30; break;
                                case 0x0091: ch = 0x31; break;
                                case 0x0092: ch = 0x1A; break;
                                case 0x0093:
                                case 0x0094:
                                case 0x0095:
                                case 0x0096:
                                        ch -= 0x0060;
                                        break;
                                case 0x0097: ch = 0x08; break;
                                case 0x0098:
                                case 0x0099:
                                case 0x009A:
                                case 0x009B:
                                        ch -= 0x0060;
                                        break;
                                case 0x009C: ch = 0x04; break;
                                case 0x009D: ch = 0x14; break;
                                case 0x009E: ch = 0x3E; break;
                                case 0x009F: ch = 0xFF; break;
                                case 0x00A0: ch = 0x41; break;
                                case 0x00AD: ch = 0x73; break;
                                case 0x0401: ch = 0x63; break;
                                case 0x0402: ch = 0x59; break;
                                case 0x0403: ch = 0x62; break;
                                case 0x0404:
                                case 0x0405:
                                case 0x0406:
                                case 0x0407:
                                case 0x0408:
                                case 0x0409:
                                        ch -= 0x03A0;
                                        break;
                                case 0x040A: ch = 0x70; break;
                                case 0x040B: ch = 0x71; break;
                                case 0x040C: ch = 0x72; break;
                                case 0x040E: ch = 0x74; break;
                                case 0x040F: ch = 0x75; break;
                                case 0x0410: ch = 0xB9; break;
                                case 0x0411: ch = 0xBA; break;
                                case 0x0412: ch = 0xED; break;
                                case 0x0413: ch = 0xBF; break;
                                case 0x0414: ch = 0xBC; break;
                                case 0x0415: ch = 0xBD; break;
                                case 0x0416: ch = 0xEC; break;
                                case 0x0417: ch = 0xFA; break;
                                case 0x0418:
                                case 0x0419:
                                case 0x041A:
                                case 0x041B:
                                case 0x041C:
                                        ch -= 0x034D;
                                        break;
                                case 0x041D: ch = 0xDA; break;
                                case 0x041E: ch = 0xDB; break;
                                case 0x041F: ch = 0xDC; break;
                                case 0x0420: ch = 0xDE; break;
                                case 0x0421: ch = 0xDF; break;
                                case 0x0422: ch = 0xEA; break;
                                case 0x0423: ch = 0xEB; break;
                                case 0x0424: ch = 0xBE; break;
                                case 0x0425: ch = 0xCA; break;
                                case 0x0426: ch = 0xBB; break;
                                case 0x0427: ch = 0xFE; break;
                                case 0x0428: ch = 0xFB; break;
                                case 0x0429: ch = 0xFD; break;
                                case 0x042A: ch = 0x57; break;
                                case 0x042B: ch = 0xEF; break;
                                case 0x042C: ch = 0xEE; break;
                                case 0x042D: ch = 0xFC; break;
                                case 0x042E: ch = 0xB8; break;
                                case 0x042F: ch = 0xDD; break;
                                case 0x0430: ch = 0x77; break;
                                case 0x0431: ch = 0x78; break;
                                case 0x0432: ch = 0xAF; break;
                                case 0x0433: ch = 0x8D; break;
                                case 0x0434: ch = 0x8A; break;
                                case 0x0435: ch = 0x8B; break;
                                case 0x0436: ch = 0xAE; break;
                                case 0x0437: ch = 0xB2; break;
                                case 0x0438: ch = 0x8F; break;
                                case 0x0439: ch = 0x90; break;
                                case 0x043A:
                                case 0x043B:
                                case 0x043C:
                                case 0x043D:
                                case 0x043E:
                                case 0x043F:
                                        ch -= 0x03A0;
                                        break;
                                case 0x0440:
                                case 0x0441:
                                case 0x0442:
                                case 0x0443:
                                        ch -= 0x0396;
                                        break;
                                case 0x0444: ch = 0x8C; break;
                                case 0x0445: ch = 0x8E; break;
                                case 0x0446: ch = 0x80; break;
                                case 0x0447: ch = 0xB6; break;
                                case 0x0448: ch = 0xB3; break;
                                case 0x0449: ch = 0xB5; break;
                                case 0x044A: ch = 0xB7; break;
                                case 0x044B: ch = 0xB1; break;
                                case 0x044C: ch = 0xB0; break;
                                case 0x044D: ch = 0xB4; break;
                                case 0x044E: ch = 0x76; break;
                                case 0x044F: ch = 0xA0; break;
                                case 0x0451: ch = 0x44; break;
                                case 0x0452: ch = 0x42; break;
                                case 0x0453: ch = 0x43; break;
                                case 0x0454:
                                case 0x0455:
                                case 0x0456:
                                case 0x0457:
                                case 0x0458:
                                        ch -= 0x040F;
                                        break;
                                case 0x0459:
                                case 0x045A:
                                case 0x045B:
                                case 0x045C:
                                        ch -= 0x0408;
                                        break;
                                case 0x045E: ch = 0x55; break;
                                case 0x045F: ch = 0x56; break;
                                case 0x20AC: ch = 0xE1; break;
                                case 0x2116: ch = 0x58; break;
                                case 0xFF01: ch = 0x4F; break;
                                case 0xFF02: ch = 0x7F; break;
                                case 0xFF03: ch = 0x7B; break;
                                case 0xFF04: ch = 0x5B; break;
                                case 0xFF05: ch = 0x6C; break;
                                case 0xFF06: ch = 0x50; break;
                                case 0xFF07: ch = 0x7D; break;
                                case 0xFF08: ch = 0x4D; break;
                                case 0xFF09: ch = 0x5D; break;
                                case 0xFF0A: ch = 0x5C; break;
                                case 0xFF0B: ch = 0x4E; break;
                                case 0xFF0C: ch = 0x6B; break;
                                case 0xFF0D: ch = 0x60; break;
                                case 0xFF0E: ch = 0x4B; break;
                                case 0xFF0F: ch = 0x61; break;
                                case 0xFF10:
                                case 0xFF11:
                                case 0xFF12:
                                case 0xFF13:
                                case 0xFF14:
                                case 0xFF15:
                                case 0xFF16:
                                case 0xFF17:
                                case 0xFF18:
                                case 0xFF19:
                                        ch -= 0xFE20;
                                        break;
                                case 0xFF1A: ch = 0x7A; break;
                                case 0xFF1B: ch = 0x5E; break;
                                case 0xFF1C: ch = 0x4C; break;
                                case 0xFF1D: ch = 0x7E; break;
                                case 0xFF1E: ch = 0x6E; break;
                                case 0xFF1F: ch = 0x6F; break;
                                case 0xFF20: ch = 0x7C; break;
                                case 0xFF21:
                                case 0xFF22:
                                case 0xFF23:
                                case 0xFF24:
                                case 0xFF25:
                                case 0xFF26:
                                case 0xFF27:
                                case 0xFF28:
                                case 0xFF29:
                                        ch -= 0xFE60;
                                        break;
                                case 0xFF2A:
                                case 0xFF2B:
                                case 0xFF2C:
                                case 0xFF2D:
                                case 0xFF2E:
                                case 0xFF2F:
                                case 0xFF30:
                                case 0xFF31:
                                case 0xFF32:
                                        ch -= 0xFE59;
                                        break;
                                case 0xFF33:
                                case 0xFF34:
                                case 0xFF35:
                                case 0xFF36:
                                case 0xFF37:
                                case 0xFF38:
                                case 0xFF39:
                                case 0xFF3A:
                                        ch -= 0xFE51;
                                        break;
                                case 0xFF3B: ch = 0x4A; break;
                                case 0xFF3C: ch = 0xE0; break;
                                case 0xFF3D: ch = 0x5A; break;
                                case 0xFF3E: ch = 0x5F; break;
                                case 0xFF3F: ch = 0x6D; break;
                                case 0xFF40: ch = 0x79; break;
                                case 0xFF41:
                                case 0xFF42:
                                case 0xFF43:
                                case 0xFF44:
                                case 0xFF45:
                                case 0xFF46:
                                case 0xFF47:
                                case 0xFF48:
                                case 0xFF49:
                                        ch -= 0xFEC0;
                                        break;
                                case 0xFF4A:
                                case 0xFF4B:
                                case 0xFF4C:
                                case 0xFF4D:
                                case 0xFF4E:
                                case 0xFF4F:
                                case 0xFF50:
                                case 0xFF51:
                                case 0xFF52:
                                        ch -= 0xFEB9;
                                        break;
                                case 0xFF53:
                                case 0xFF54:
                                case 0xFF55:
                                case 0xFF56:
                                case 0xFF57:
                                case 0xFF58:
                                case 0xFF59:
                                case 0xFF5A:
                                        ch -= 0xFEB1;
                                        break;
                                case 0xFF5B: ch = 0xC0; break;
                                case 0xFF5C: ch = 0x6A; break;
                                case 0xFF5D: ch = 0xD0; break;
                                case 0xFF5E: ch = 0xA1; break;
                                default: ch = 0x3F; break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

}; // class CP20880

public class ENCibm1154 : CP20880
{
        public ENCibm1154() : base() {}

}; // class ENCibm1154

}; // namespace I18N.Rare

--- NEW FILE ---
/*
 * CP20905.cs - IBM EBCDIC (Turkish) code page.
 *
 * Copyright (c) 2002  Southern Storm Software, Pty Ltd
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

// Generated from "ibm-1026.ucm".

namespace I18N.Rare
{

using System;
using I18N.Common;

public class CP20905 : ByteEncoding
{
        public CP20905()
                : base(20905, ToChars, "IBM EBCDIC (Turkish)",
                       "IBM905", "IBM905", "IBM905",
                       false, false, false, false, 1254)
        {}

        private static readonly char[] ToChars = {
                '\u0000', '\u0001', '\u0002', '\u0003', '\u009C', '\u0009', 
                '\u0086', '\u007F', '\u0097', '\u008D', '\u008E', '\u000B', 
                '\u000C', '\u000D', '\u000E', '\u000F', '\u0010', '\u0011', 
                '\u0012', '\u0013', '\u009D', '\u0085', '\u0008', '\u0087', 
                '\u0018', '\u0019', '\u0092', '\u008F', '\u001C', '\u001D', 
                '\u001E', '\u001F', '\u0080', '\u0081', '\u0082', '\u0083', 
                '\u0084', '\u000A', '\u0017', '\u001B', '\u0088', '\u0089', 
                '\u008A', '\u008B', '\u008C', '\u0005', '\u0006', '\u0007', 
                '\u0090', '\u0091', '\u0016', '\u0093', '\u0094', '\u0095', 
                '\u0096', '\u0004', '\u0098', '\u0099', '\u009A', '\u009B', 
                '\u0014', '\u0015', '\u009E', '\u001A', '\u0020', '\u00A0', 
                '\u00E2', '\u00E4', '\u00E0', '\u00E1', '\u00E3', '\u00E5', 
                '\u007B', '\u00F1', '\u00C7', '\u002E', '\u003C', '\u0028', 
                '\u002B', '\u0021', '\u0026', '\u00E9', '\u00EA', '\u00EB', 
                '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', 
                '\u011E', '\u0130', '\u002A', '\u0029', '\u003B', '\u005E', 
                '\u002D', '\u002F', '\u00C2', '\u00C4', '\u00C0', '\u00C1', 
                '\u00C3', '\u00C5', '\u005B', '\u00D1', '\u015F', '\u002C', 
                '\u0025', '\u005F', '\u003E', '\u003F', '\u00F8', '\u00C9', 
                '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', 
                '\u00CC', '\u0131', '\u003A', '\u00D6', '\u015E', '\u0027', 
                '\u003D', '\u00DC', '\u00D8', '\u0061', '\u0062', '\u0063', 
                '\u0064', '\u0065', '\u0066', '\u0067', '\u0068', '\u0069', 
                '\u00AB', '\u00BB', '\u007D', '\u0060', '\u00A6', '\u00B1', 
                '\u00B0', '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', 
                '\u006F', '\u0070', '\u0071', '\u0072', '\u00AA', '\u00BA', 
                '\u00E6', '\u00B8', '\u00C6', '\u00A4', '\u00B5', '\u00F6', 
                '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', 
                '\u0079', '\u007A', '\u00A1', '\u00BF', '\u005D', '\u0024', 
                '\u0040', '\u00AE', '\u00A2', '\u00A3', '\u00A5', '\u00B7', 
                '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', 
                '\u00AC', '\u007C', '\u00AF', '\u00A8', '\u00B4', '\u00D7', 
                '\u00E7', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', 
                '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', 
                '\u007E', '\u00F2', '\u00F3', '\u00F5', '\u011F', '\u004A', 
                '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', 
                '\u0051', '\u0052', '\u00B9', '\u00FB', '\u005C', '\u00F9', 
                '\u00FA', '\u00FF', '\u00FC', '\u00F7', '\u0053', '\u0054', 
                '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', 
                '\u00B2', '\u00D4', '\u0023', '\u00D2', '\u00D3', '\u00D5', 
                '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', 
                '\u0036', '\u0037', '\u0038', '\u0039', '\u00B3', '\u00DB', 
                '\u0022', '\u00D9', '\u00DA', '\u009F', 
        };

        protected override void ToBytes(char[] chars, int charIndex, int 
charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(chars[charIndex++]);
                        if(ch >= 4) switch(ch)
                        {
                                case 0x000B:
                                case 0x000C:
                                case 0x000D:
                                case 0x000E:
                                case 0x000F:
                                case 0x0010:
                                case 0x0011:
                                case 0x0012:
                                case 0x0013:
                                case 0x0018:
                                case 0x0019:
                                case 0x001C:
                                case 0x001D:
                                case 0x001E:
                                case 0x001F:
                                case 0x00B6:
                                        break;
                                case 0x0004: ch = 0x37; break;
                                case 0x0005: ch = 0x2D; break;
                                case 0x0006: ch = 0x2E; break;
                                case 0x0007: ch = 0x2F; break;
                                case 0x0008: ch = 0x16; break;
                                case 0x0009: ch = 0x05; break;
                                case 0x000A: ch = 0x25; break;
                                case 0x0014: ch = 0x3C; break;
                                case 0x0015: ch = 0x3D; break;
                                case 0x0016: ch = 0x32; break;
                                case 0x0017: ch = 0x26; break;
                                case 0x001A: ch = 0x3F; break;
                                case 0x001B: ch = 0x27; break;
                                case 0x0020: ch = 0x40; break;
                                case 0x0021: ch = 0x4F; break;
                                case 0x0022: ch = 0xFC; break;
                                case 0x0023: ch = 0xEC; break;
                                case 0x0024: ch = 0xAD; break;
                                case 0x0025: ch = 0x6C; break;
                                case 0x0026: ch = 0x50; break;
                                case 0x0027: ch = 0x7D; break;
                                case 0x0028: ch = 0x4D; break;
                                case 0x0029: ch = 0x5D; break;
                                case 0x002A: ch = 0x5C; break;
                                case 0x002B: ch = 0x4E; break;
                                case 0x002C: ch = 0x6B; break;
                                case 0x002D: ch = 0x60; break;
                                case 0x002E: ch = 0x4B; break;
                                case 0x002F: ch = 0x61; break;
                                case 0x0030:
                                case 0x0031:
                                case 0x0032:
                                case 0x0033:
                                case 0x0034:
                                case 0x0035:
                                case 0x0036:
                                case 0x0037:
                                case 0x0038:
                                case 0x0039:
                                        ch += 0x00C0;
                                        break;
                                case 0x003A: ch = 0x7A; break;
                                case 0x003B: ch = 0x5E; break;
                                case 0x003C: ch = 0x4C; break;
                                case 0x003D: ch = 0x7E; break;
                                case 0x003E: ch = 0x6E; break;
                                case 0x003F: ch = 0x6F; break;
                                case 0x0040: ch = 0xAE; break;
                                case 0x0041:
                                case 0x0042:
                                case 0x0043:
                                case 0x0044:
                                case 0x0045:
                                case 0x0046:
                                case 0x0047:
                                case 0x0048:
                                case 0x0049:
                                        ch += 0x0080;
                                        break;
                                case 0x004A:
                                case 0x004B:
                                case 0x004C:
                                case 0x004D:
                                case 0x004E:
                                case 0x004F:
                                case 0x0050:
                                case 0x0051:
                                case 0x0052:
                                        ch += 0x0087;
                                        break;
                                case 0x0053:
                                case 0x0054:
                                case 0x0055:
                                case 0x0056:
                                case 0x0057:
                                case 0x0058:
                                case 0x0059:
                                case 0x005A:
                                        ch += 0x008F;
                                        break;
                                case 0x005B: ch = 0x68; break;
                                case 0x005C: ch = 0xDC; break;
                                case 0x005D: ch = 0xAC; break;
                                case 0x005E: ch = 0x5F; break;
                                case 0x005F: ch = 0x6D; break;
                                case 0x0060: ch = 0x8D; break;
                                case 0x0061:
                                case 0x0062:
                                case 0x0063:
                                case 0x0064:
                                case 0x0065:
                                case 0x0066:
                                case 0x0067:
                                case 0x0068:
                                case 0x0069:
                                        ch += 0x0020;
                                        break;
                                case 0x006A:
                                case 0x006B:
                                case 0x006C:
                                case 0x006D:
                                case 0x006E:
                                case 0x006F:
                                case 0x0070:
                                case 0x0071:
                                case 0x0072:
                                        ch += 0x0027;
                                        break;
                                case 0x0073:
                                case 0x0074:
                                case 0x0075:
                                case 0x0076:
                                case 0x0077:
                                case 0x0078:
                                case 0x0079:
                                case 0x007A:
                                        ch += 0x002F;
                                        break;
                                case 0x007B: ch = 0x48; break;
                                case 0x007C: ch = 0xBB; break;
                                case 0x007D: ch = 0x8C; break;
                                case 0x007E: ch = 0xCC; break;
                                case 0x007F: ch = 0x07; break;
                                case 0x0080:
                                case 0x0081:
                                case 0x0082:
                                case 0x0083:
                                case 0x0084:
                                        ch -= 0x0060;
                                        break;
                                case 0x0085: ch = 0x15; break;
                                case 0x0086: ch = 0x06; break;
                                case 0x0087: ch = 0x17; break;
                                case 0x0088:
                                case 0x0089:
                                case 0x008A:
                                case 0x008B:
                                case 0x008C:
                                        ch -= 0x0060;
                                        break;
                                case 0x008D: ch = 0x09; break;
                                case 0x008E: ch = 0x0A; break;
                                case 0x008F: ch = 0x1B; break;
                                case 0x0090: ch = 0x30; break;
                                case 0x0091: ch = 0x31; break;
                                case 0x0092: ch = 0x1A; break;
                                case 0x0093:
                                case 0x0094:
                                case 0x0095:
                                case 0x0096:
                                        ch -= 0x0060;
                                        break;
                                case 0x0097: ch = 0x08; break;
                                case 0x0098:
                                case 0x0099:
                                case 0x009A:
                                case 0x009B:
                                        ch -= 0x0060;
                                        break;
                                case 0x009C: ch = 0x04; break;
                                case 0x009D: ch = 0x14; break;
                                case 0x009E: ch = 0x3E; break;
                                case 0x009F: ch = 0xFF; break;
                                case 0x00A0: ch = 0x41; break;
                                case 0x00A1: ch = 0xAA; break;
                                case 0x00A2: ch = 0xB0; break;
                                case 0x00A3: ch = 0xB1; break;
                                case 0x00A4: ch = 0x9F; break;
                                case 0x00A5: ch = 0xB2; break;
                                case 0x00A6: ch = 0x8E; break;
                                case 0x00A7: ch = 0xB5; break;
                                case 0x00A8: ch = 0xBD; break;
                                case 0x00A9: ch = 0xB4; break;
                                case 0x00AA: ch = 0x9A; break;
                                case 0x00AB: ch = 0x8A; break;
                                case 0x00AC: ch = 0xBA; break;
                                case 0x00AD: ch = 0xCA; break;
                                case 0x00AE: ch = 0xAF; break;
                                case 0x00AF: ch = 0xBC; break;
                                case 0x00B0: ch = 0x90; break;
                                case 0x00B1: ch = 0x8F; break;
                                case 0x00B2: ch = 0xEA; break;
                                case 0x00B3: ch = 0xFA; break;
                                case 0x00B4: ch = 0xBE; break;
                                case 0x00B5: ch = 0xA0; break;
                                case 0x00B7: ch = 0xB3; break;
                                case 0x00B8: ch = 0x9D; break;
                                case 0x00B9: ch = 0xDA; break;
                                case 0x00BA: ch = 0x9B; break;
                                case 0x00BB: ch = 0x8B; break;
                                case 0x00BC: ch = 0xB7; break;
                                case 0x00BD: ch = 0xB8; break;
                                case 0x00BE: ch = 0xB9; break;
                                case 0x00BF: ch = 0xAB; break;
                                case 0x00C0: ch = 0x64; break;
                                case 0x00C1: ch = 0x65; break;
                                case 0x00C2: ch = 0x62; break;
                                case 0x00C3: ch = 0x66; break;
                                case 0x00C4: ch = 0x63; break;
                                case 0x00C5: ch = 0x67; break;
                                case 0x00C6: ch = 0x9E; break;
                                case 0x00C7: ch = 0x4A; break;
                                case 0x00C8: ch = 0x74; break;
                                case 0x00C9: ch = 0x71; break;
                                case 0x00CA: ch = 0x72; break;
                                case 0x00CB: ch = 0x73; break;
                                case 0x00CC: ch = 0x78; break;
                                case 0x00CD: ch = 0x75; break;
                                case 0x00CE: ch = 0x76; break;
                                case 0x00CF: ch = 0x77; break;
                                case 0x00D1: ch = 0x69; break;
                                case 0x00D2: ch = 0xED; break;
                                case 0x00D3: ch = 0xEE; break;
                                case 0x00D4: ch = 0xEB; break;
                                case 0x00D5: ch = 0xEF; break;
                                case 0x00D6: ch = 0x7B; break;
                                case 0x00D7: ch = 0xBF; break;
                                case 0x00D8: ch = 0x80; break;
                                case 0x00D9: ch = 0xFD; break;
                                case 0x00DA: ch = 0xFE; break;
                                case 0x00DB: ch = 0xFB; break;
                                case 0x00DC: ch = 0x7F; break;
                                case 0x00DF: ch = 0x59; break;
                                case 0x00E0: ch = 0x44; break;
                                case 0x00E1: ch = 0x45; break;
                                case 0x00E2: ch = 0x42; break;
                                case 0x00E3: ch = 0x46; break;
                                case 0x00E4: ch = 0x43; break;
                                case 0x00E5: ch = 0x47; break;
                                case 0x00E6: ch = 0x9C; break;
                                case 0x00E7: ch = 0xC0; break;
                                case 0x00E8: ch = 0x54; break;
                                case 0x00E9: ch = 0x51; break;
                                case 0x00EA: ch = 0x52; break;
                                case 0x00EB: ch = 0x53; break;
                                case 0x00EC: ch = 0x58; break;
                                case 0x00ED: ch = 0x55; break;
                                case 0x00EE: ch = 0x56; break;
                                case 0x00EF: ch = 0x57; break;
                                case 0x00F1: ch = 0x49; break;
                                case 0x00F2: ch = 0xCD; break;
                                case 0x00F3: ch = 0xCE; break;
                                case 0x00F4: ch = 0xCB; break;
                                case 0x00F5: ch = 0xCF; break;
                                case 0x00F6: ch = 0xA1; break;
                                case 0x00F7: ch = 0xE1; break;
                                case 0x00F8: ch = 0x70; break;
                                case 0x00F9: ch = 0xDD; break;
                                case 0x00FA: ch = 0xDE; break;
                                case 0x00FB: ch = 0xDB; break;
                                case 0x00FC: ch = 0xE0; break;
                                case 0x00FF: ch = 0xDF; break;
                                case 0x011E: ch = 0x5A; break;
                                case 0x011F: ch = 0xD0; break;
                                case 0x0130: ch = 0x5B; break;
                                case 0x0131: ch = 0x79; break;
                                case 0x015E: ch = 0x7C; break;
                                case 0x015F: ch = 0x6A; break;
                                case 0x203E: ch = 0xBC; break;
                                case 0xFF01: ch = 0x4F; break;
                                case 0xFF02: ch = 0xFC; break;
                                case 0xFF03: ch = 0xEC; break;
                                case 0xFF04: ch = 0xAD; break;
                                case 0xFF05: ch = 0x6C; break;
                                case 0xFF06: ch = 0x50; break;
                                case 0xFF07: ch = 0x7D; break;
                                case 0xFF08: ch = 0x4D; break;
                                case 0xFF09: ch = 0x5D; break;
                                case 0xFF0A: ch = 0x5C; break;
                                case 0xFF0B: ch = 0x4E; break;
                                case 0xFF0C: ch = 0x6B; break;
                                case 0xFF0D: ch = 0x60; break;
                                case 0xFF0E: ch = 0x4B; break;
                                case 0xFF0F: ch = 0x61; break;
                                case 0xFF10:
                                case 0xFF11:
                                case 0xFF12:
                                case 0xFF13:
                                case 0xFF14:
                                case 0xFF15:
                                case 0xFF16:
                                case 0xFF17:
                                case 0xFF18:
                                case 0xFF19:
                                        ch -= 0xFE20;
                                        break;
                                case 0xFF1A: ch = 0x7A; break;
                                case 0xFF1B: ch = 0x5E; break;
                                case 0xFF1C: ch = 0x4C; break;
                                case 0xFF1D: ch = 0x7E; break;
                                case 0xFF1E: ch = 0x6E; break;
                                case 0xFF1F: ch = 0x6F; break;
                                case 0xFF20: ch = 0xAE; break;
                                case 0xFF21:
                                case 0xFF22:
                                case 0xFF23:
                                case 0xFF24:
                                case 0xFF25:
                                case 0xFF26:
                                case 0xFF27:
                                case 0xFF28:
                                case 0xFF29:
                                        ch -= 0xFE60;
                                        break;
                                case 0xFF2A:
                                case 0xFF2B:
                                case 0xFF2C:
                                case 0xFF2D:
                                case 0xFF2E:
                                case 0xFF2F:
                                case 0xFF30:
                                case 0xFF31:
                                case 0xFF32:
                                        ch -= 0xFE59;
                                        break;
                                case 0xFF33:
                                case 0xFF34:
                                case 0xFF35:
                                case 0xFF36:
                                case 0xFF37:
                                case 0xFF38:
                                case 0xFF39:
                                case 0xFF3A:
                                        ch -= 0xFE51;
                                        break;
                                case 0xFF3B: ch = 0x68; break;
                                case 0xFF3C: ch = 0xDC; break;
                                case 0xFF3D: ch = 0xAC; break;
                                case 0xFF3E: ch = 0x5F; break;
                                case 0xFF3F: ch = 0x6D; break;
                                case 0xFF40: ch = 0x8D; break;
                                case 0xFF41:
                                case 0xFF42:
                                case 0xFF43:
                                case 0xFF44:
                                case 0xFF45:
                                case 0xFF46:
                                case 0xFF47:
                                case 0xFF48:
                                case 0xFF49:
                                        ch -= 0xFEC0;
                                        break;
                                case 0xFF4A:
                                case 0xFF4B:
                                case 0xFF4C:
                                case 0xFF4D:
                                case 0xFF4E:
                                case 0xFF4F:
                                case 0xFF50:
                                case 0xFF51:
                                case 0xFF52:
                                        ch -= 0xFEB9;
                                        break;
                                case 0xFF53:
                                case 0xFF54:
                                case 0xFF55:
                                case 0xFF56:
                                case 0xFF57:
                                case 0xFF58:
                                case 0xFF59:
                                case 0xFF5A:
                                        ch -= 0xFEB1;
                                        break;
                                case 0xFF5B: ch = 0x48; break;
                                case 0xFF5C: ch = 0xBB; break;
                                case 0xFF5D: ch = 0x8C; break;
                                case 0xFF5E: ch = 0xCC; break;
                                default: ch = 0x3F; break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

        protected override void ToBytes(String s, int charIndex, int charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(s[charIndex++]);
                        if(ch >= 4) switch(ch)
                        {
                                case 0x000B:
                                case 0x000C:
                                case 0x000D:
                                case 0x000E:
                                case 0x000F:
                                case 0x0010:
                                case 0x0011:
                                case 0x0012:
                                case 0x0013:
                                case 0x0018:
                                case 0x0019:
                                case 0x001C:
                                case 0x001D:
                                case 0x001E:
                                case 0x001F:
                                case 0x00B6:
                                        break;
                                case 0x0004: ch = 0x37; break;
                                case 0x0005: ch = 0x2D; break;
                                case 0x0006: ch = 0x2E; break;
                                case 0x0007: ch = 0x2F; break;
                                case 0x0008: ch = 0x16; break;
                                case 0x0009: ch = 0x05; break;
                                case 0x000A: ch = 0x25; break;
                                case 0x0014: ch = 0x3C; break;
                                case 0x0015: ch = 0x3D; break;
                                case 0x0016: ch = 0x32; break;
                                case 0x0017: ch = 0x26; break;
                                case 0x001A: ch = 0x3F; break;
                                case 0x001B: ch = 0x27; break;
                                case 0x0020: ch = 0x40; break;
                                case 0x0021: ch = 0x4F; break;
                                case 0x0022: ch = 0xFC; break;
                                case 0x0023: ch = 0xEC; break;
                                case 0x0024: ch = 0xAD; break;
                                case 0x0025: ch = 0x6C; break;
                                case 0x0026: ch = 0x50; break;
                                case 0x0027: ch = 0x7D; break;
                                case 0x0028: ch = 0x4D; break;
                                case 0x0029: ch = 0x5D; break;
                                case 0x002A: ch = 0x5C; break;
                                case 0x002B: ch = 0x4E; break;
                                case 0x002C: ch = 0x6B; break;
                                case 0x002D: ch = 0x60; break;
                                case 0x002E: ch = 0x4B; break;
                                case 0x002F: ch = 0x61; break;
                                case 0x0030:
                                case 0x0031:
                                case 0x0032:
                                case 0x0033:
                                case 0x0034:
                                case 0x0035:
                                case 0x0036:
                                case 0x0037:
                                case 0x0038:
                                case 0x0039:
                                        ch += 0x00C0;
                                        break;
                                case 0x003A: ch = 0x7A; break;
                                case 0x003B: ch = 0x5E; break;
                                case 0x003C: ch = 0x4C; break;
                                case 0x003D: ch = 0x7E; break;
                                case 0x003E: ch = 0x6E; break;
                                case 0x003F: ch = 0x6F; break;
                                case 0x0040: ch = 0xAE; break;
                                case 0x0041:
                                case 0x0042:
                                case 0x0043:
                                case 0x0044:
                                case 0x0045:
                                case 0x0046:
                                case 0x0047:
                                case 0x0048:
                                case 0x0049:
                                        ch += 0x0080;
                                        break;
                                case 0x004A:
                                case 0x004B:
                                case 0x004C:
                                case 0x004D:
                                case 0x004E:
                                case 0x004F:
                                case 0x0050:
                                case 0x0051:
                                case 0x0052:
                                        ch += 0x0087;
                                        break;
                                case 0x0053:
                                case 0x0054:
                                case 0x0055:
                                case 0x0056:
                                case 0x0057:
                                case 0x0058:
                                case 0x0059:
                                case 0x005A:
                                        ch += 0x008F;
                                        break;
                                case 0x005B: ch = 0x68; break;
                                case 0x005C: ch = 0xDC; break;
                                case 0x005D: ch = 0xAC; break;
                                case 0x005E: ch = 0x5F; break;
                                case 0x005F: ch = 0x6D; break;
                                case 0x0060: ch = 0x8D; break;
                                case 0x0061:
                                case 0x0062:
                                case 0x0063:
                                case 0x0064:
                                case 0x0065:
                                case 0x0066:
                                case 0x0067:
                                case 0x0068:
                                case 0x0069:
                                        ch += 0x0020;
                                        break;
                                case 0x006A:
                                case 0x006B:
                                case 0x006C:
                                case 0x006D:
                                case 0x006E:
                                case 0x006F:
                                case 0x0070:
                                case 0x0071:
                                case 0x0072:
                                        ch += 0x0027;
                                        break;
                                case 0x0073:
                                case 0x0074:
                                case 0x0075:
                                case 0x0076:
                                case 0x0077:
                                case 0x0078:
                                case 0x0079:
                                case 0x007A:
                                        ch += 0x002F;
                                        break;
                                case 0x007B: ch = 0x48; break;
                                case 0x007C: ch = 0xBB; break;
                                case 0x007D: ch = 0x8C; break;
                                case 0x007E: ch = 0xCC; break;
                                case 0x007F: ch = 0x07; break;
                                case 0x0080:
                                case 0x0081:
                                case 0x0082:
                                case 0x0083:
                                case 0x0084:
                                        ch -= 0x0060;
                                        break;
                                case 0x0085: ch = 0x15; break;
                                case 0x0086: ch = 0x06; break;
                                case 0x0087: ch = 0x17; break;
                                case 0x0088:
                                case 0x0089:
                                case 0x008A:
                                case 0x008B:
                                case 0x008C:
                                        ch -= 0x0060;
                                        break;
                                case 0x008D: ch = 0x09; break;
                                case 0x008E: ch = 0x0A; break;
                                case 0x008F: ch = 0x1B; break;
                                case 0x0090: ch = 0x30; break;
                                case 0x0091: ch = 0x31; break;
                                case 0x0092: ch = 0x1A; break;
                                case 0x0093:
                                case 0x0094:
                                case 0x0095:
                                case 0x0096:
                                        ch -= 0x0060;
                                        break;
                                case 0x0097: ch = 0x08; break;
                                case 0x0098:
                                case 0x0099:
                                case 0x009A:
                                case 0x009B:
                                        ch -= 0x0060;
                                        break;
                                case 0x009C: ch = 0x04; break;
                                case 0x009D: ch = 0x14; break;
                                case 0x009E: ch = 0x3E; break;
                                case 0x009F: ch = 0xFF; break;
                                case 0x00A0: ch = 0x41; break;
                                case 0x00A1: ch = 0xAA; break;
                                case 0x00A2: ch = 0xB0; break;
                                case 0x00A3: ch = 0xB1; break;
                                case 0x00A4: ch = 0x9F; break;
                                case 0x00A5: ch = 0xB2; break;
                                case 0x00A6: ch = 0x8E; break;
                                case 0x00A7: ch = 0xB5; break;
                                case 0x00A8: ch = 0xBD; break;
                                case 0x00A9: ch = 0xB4; break;
                                case 0x00AA: ch = 0x9A; break;
                                case 0x00AB: ch = 0x8A; break;
                                case 0x00AC: ch = 0xBA; break;
                                case 0x00AD: ch = 0xCA; break;
                                case 0x00AE: ch = 0xAF; break;
                                case 0x00AF: ch = 0xBC; break;
                                case 0x00B0: ch = 0x90; break;
                                case 0x00B1: ch = 0x8F; break;
                                case 0x00B2: ch = 0xEA; break;
                                case 0x00B3: ch = 0xFA; break;
                                case 0x00B4: ch = 0xBE; break;
                                case 0x00B5: ch = 0xA0; break;
                                case 0x00B7: ch = 0xB3; break;
                                case 0x00B8: ch = 0x9D; break;
                                case 0x00B9: ch = 0xDA; break;
                                case 0x00BA: ch = 0x9B; break;
                                case 0x00BB: ch = 0x8B; break;
                                case 0x00BC: ch = 0xB7; break;
                                case 0x00BD: ch = 0xB8; break;
                                case 0x00BE: ch = 0xB9; break;
                                case 0x00BF: ch = 0xAB; break;
                                case 0x00C0: ch = 0x64; break;
                                case 0x00C1: ch = 0x65; break;
                                case 0x00C2: ch = 0x62; break;
                                case 0x00C3: ch = 0x66; break;
                                case 0x00C4: ch = 0x63; break;
                                case 0x00C5: ch = 0x67; break;
                                case 0x00C6: ch = 0x9E; break;
                                case 0x00C7: ch = 0x4A; break;
                                case 0x00C8: ch = 0x74; break;
                                case 0x00C9: ch = 0x71; break;
                                case 0x00CA: ch = 0x72; break;
                                case 0x00CB: ch = 0x73; break;
                                case 0x00CC: ch = 0x78; break;
                                case 0x00CD: ch = 0x75; break;
                                case 0x00CE: ch = 0x76; break;
                                case 0x00CF: ch = 0x77; break;
                                case 0x00D1: ch = 0x69; break;
                                case 0x00D2: ch = 0xED; break;
                                case 0x00D3: ch = 0xEE; break;
                                case 0x00D4: ch = 0xEB; break;
                                case 0x00D5: ch = 0xEF; break;
                                case 0x00D6: ch = 0x7B; break;
                                case 0x00D7: ch = 0xBF; break;
                                case 0x00D8: ch = 0x80; break;
                                case 0x00D9: ch = 0xFD; break;
                                case 0x00DA: ch = 0xFE; break;
                                case 0x00DB: ch = 0xFB; break;
                                case 0x00DC: ch = 0x7F; break;
                                case 0x00DF: ch = 0x59; break;
                                case 0x00E0: ch = 0x44; break;
                                case 0x00E1: ch = 0x45; break;
                                case 0x00E2: ch = 0x42; break;
                                case 0x00E3: ch = 0x46; break;
                                case 0x00E4: ch = 0x43; break;
                                case 0x00E5: ch = 0x47; break;
                                case 0x00E6: ch = 0x9C; break;
                                case 0x00E7: ch = 0xC0; break;
                                case 0x00E8: ch = 0x54; break;
                                case 0x00E9: ch = 0x51; break;
                                case 0x00EA: ch = 0x52; break;
                                case 0x00EB: ch = 0x53; break;
                                case 0x00EC: ch = 0x58; break;
                                case 0x00ED: ch = 0x55; break;
                                case 0x00EE: ch = 0x56; break;
                                case 0x00EF: ch = 0x57; break;
                                case 0x00F1: ch = 0x49; break;
                                case 0x00F2: ch = 0xCD; break;
                                case 0x00F3: ch = 0xCE; break;
                                case 0x00F4: ch = 0xCB; break;
                                case 0x00F5: ch = 0xCF; break;
                                case 0x00F6: ch = 0xA1; break;
                                case 0x00F7: ch = 0xE1; break;
                                case 0x00F8: ch = 0x70; break;
                                case 0x00F9: ch = 0xDD; break;
                                case 0x00FA: ch = 0xDE; break;
                                case 0x00FB: ch = 0xDB; break;
                                case 0x00FC: ch = 0xE0; break;
                                case 0x00FF: ch = 0xDF; break;
                                case 0x011E: ch = 0x5A; break;
                                case 0x011F: ch = 0xD0; break;
                                case 0x0130: ch = 0x5B; break;
                                case 0x0131: ch = 0x79; break;
                                case 0x015E: ch = 0x7C; break;
                                case 0x015F: ch = 0x6A; break;
                                case 0x203E: ch = 0xBC; break;
                                case 0xFF01: ch = 0x4F; break;
                                case 0xFF02: ch = 0xFC; break;
                                case 0xFF03: ch = 0xEC; break;
                                case 0xFF04: ch = 0xAD; break;
                                case 0xFF05: ch = 0x6C; break;
                                case 0xFF06: ch = 0x50; break;
                                case 0xFF07: ch = 0x7D; break;
                                case 0xFF08: ch = 0x4D; break;
                                case 0xFF09: ch = 0x5D; break;
                                case 0xFF0A: ch = 0x5C; break;
                                case 0xFF0B: ch = 0x4E; break;
                                case 0xFF0C: ch = 0x6B; break;
                                case 0xFF0D: ch = 0x60; break;
                                case 0xFF0E: ch = 0x4B; break;
                                case 0xFF0F: ch = 0x61; break;
                                case 0xFF10:
                                case 0xFF11:
                                case 0xFF12:
                                case 0xFF13:
                                case 0xFF14:
                                case 0xFF15:
                                case 0xFF16:
                                case 0xFF17:
                                case 0xFF18:
                                case 0xFF19:
                                        ch -= 0xFE20;
                                        break;
                                case 0xFF1A: ch = 0x7A; break;
                                case 0xFF1B: ch = 0x5E; break;
                                case 0xFF1C: ch = 0x4C; break;
                                case 0xFF1D: ch = 0x7E; break;
                                case 0xFF1E: ch = 0x6E; break;
                                case 0xFF1F: ch = 0x6F; break;
                                case 0xFF20: ch = 0xAE; break;
                                case 0xFF21:
                                case 0xFF22:
                                case 0xFF23:
                                case 0xFF24:
                                case 0xFF25:
                                case 0xFF26:
                                case 0xFF27:
                                case 0xFF28:
                                case 0xFF29:
                                        ch -= 0xFE60;
                                        break;
                                case 0xFF2A:
                                case 0xFF2B:
                                case 0xFF2C:
                                case 0xFF2D:
                                case 0xFF2E:
                                case 0xFF2F:
                                case 0xFF30:
                                case 0xFF31:
                                case 0xFF32:
                                        ch -= 0xFE59;
                                        break;
                                case 0xFF33:
                                case 0xFF34:
                                case 0xFF35:
                                case 0xFF36:
                                case 0xFF37:
                                case 0xFF38:
                                case 0xFF39:
                                case 0xFF3A:
                                        ch -= 0xFE51;
                                        break;
                                case 0xFF3B: ch = 0x68; break;
                                case 0xFF3C: ch = 0xDC; break;
                                case 0xFF3D: ch = 0xAC; break;
                                case 0xFF3E: ch = 0x5F; break;
                                case 0xFF3F: ch = 0x6D; break;
                                case 0xFF40: ch = 0x8D; break;
                                case 0xFF41:
                                case 0xFF42:
                                case 0xFF43:
                                case 0xFF44:
                                case 0xFF45:
                                case 0xFF46:
                                case 0xFF47:
                                case 0xFF48:
                                case 0xFF49:
                                        ch -= 0xFEC0;
                                        break;
                                case 0xFF4A:
                                case 0xFF4B:
                                case 0xFF4C:
                                case 0xFF4D:
                                case 0xFF4E:
                                case 0xFF4F:
                                case 0xFF50:
                                case 0xFF51:
                                case 0xFF52:
                                        ch -= 0xFEB9;
                                        break;
                                case 0xFF53:
                                case 0xFF54:
                                case 0xFF55:
                                case 0xFF56:
                                case 0xFF57:
                                case 0xFF58:
                                case 0xFF59:
                                case 0xFF5A:
                                        ch -= 0xFEB1;
                                        break;
                                case 0xFF5B: ch = 0x48; break;
                                case 0xFF5C: ch = 0xBB; break;
                                case 0xFF5D: ch = 0x8C; break;
                                case 0xFF5E: ch = 0xCC; break;
                                default: ch = 0x3F; break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

}; // class CP20905

public class ENCibm905 : CP20905
{
        public ENCibm905() : base() {}

}; // class ENCibm905

}; // namespace I18N.Rare

--- NEW FILE ---
/*
 * CP20924.cs - IBM EBCDIC (Open Systems Latin 1 with Euro) code page.
 *
 * Copyright (c) 2002  Southern Storm Software, Pty Ltd
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

// Generated from "ibm-20924.ucm".

namespace I18N.Rare
{

using System;
using I18N.Common;

public class CP20924 : ByteEncoding
{
        public CP20924()
                : base(20924, ToChars, "IBM EBCDIC (Open Systems Latin 1 with 
Euro)",
                       "IBM20924", "IBM20924", "IBM20924",
                       false, false, false, false, 1252)
        {}

        private static readonly char[] ToChars = {
                '\u0000', '\u0001', '\u0002', '\u0003', '\u009C', '\u0009', 
                '\u0086', '\u007F', '\u0097', '\u008D', '\u008E', '\u000B', 
                '\u000C', '\u000D', '\u000E', '\u000F', '\u0010', '\u0011', 
                '\u0012', '\u0013', '\u009D', '\u0085', '\u0008', '\u0087', 
                '\u0018', '\u0019', '\u0092', '\u008F', '\u001C', '\u001D', 
                '\u001E', '\u001F', '\u0080', '\u0081', '\u0082', '\u0083', 
                '\u0084', '\u000A', '\u0017', '\u001B', '\u0088', '\u0089', 
                '\u008A', '\u008B', '\u008C', '\u0005', '\u0006', '\u0007', 
                '\u0090', '\u0091', '\u0016', '\u0093', '\u0094', '\u0095', 
                '\u0096', '\u0004', '\u0098', '\u0099', '\u009A', '\u009B', 
                '\u0014', '\u0015', '\u009E', '\u001A', '\u0020', '\u00A0', 
                '\u00E2', '\u00E4', '\u00E0', '\u00E1', '\u00E3', '\u00E5', 
                '\u00E7', '\u00F1', '\u00A2', '\u002E', '\u003C', '\u0028', 
                '\u002B', '\u007C', '\u0026', '\u00E9', '\u00EA', '\u00EB', 
                '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', 
                '\u0021', '\u0024', '\u002A', '\u0029', '\u003B', '\u005E', 
                '\u002D', '\u002F', '\u00C2', '\u00C4', '\u00C0', '\u00C1', 
                '\u00C3', '\u00C5', '\u00C7', '\u00D1', '\u00A6', '\u002C', 
                '\u0025', '\u005F', '\u003E', '\u003F', '\u00F8', '\u00C9', 
                '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', 
                '\u00CC', '\u0060', '\u003A', '\u0023', '\u0040', '\u0027', 
                '\u003D', '\u0022', '\u00D8', '\u0061', '\u0062', '\u0063', 
                '\u0064', '\u0065', '\u0066', '\u0067', '\u0068', '\u0069', 
                '\u00AB', '\u00BB', '\u00F0', '\u00FD', '\u00FE', '\u00B1', 
                '\u00B0', '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', 
                '\u006F', '\u0070', '\u0071', '\u0072', '\u00AA', '\u00BA', 
                '\u00E6', '\u00B8', '\u00C6', '\u20AC', '\u00B5', '\u007E', 
                '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', 
                '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u005B', 
                '\u00DE', '\u00AE', '\u00AC', '\u00A3', '\u00A5', '\u00B7', 
                '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', 
                '\u00DD', '\u00A8', '\u00AF', '\u005D', '\u00B4', '\u00D7', 
                '\u007B', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', 
                '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', 
                '\u00F6', '\u00F2', '\u00F3', '\u00F5', '\u007D', '\u004A', 
                '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', 
                '\u0051', '\u0052', '\u00B9', '\u00FB', '\u00FC', '\u00F9', 
                '\u00FA', '\u00FF', '\u005C', '\u00F7', '\u0053', '\u0054', 
                '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', 
                '\u00B2', '\u00D4', '\u00D6', '\u00D2', '\u00D3', '\u00D5', 
                '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', 
                '\u0036', '\u0037', '\u0038', '\u0039', '\u00B3', '\u00DB', 
                '\u00DC', '\u00D9', '\u00DA', '\u009F', 
        };

        protected override void ToBytes(char[] chars, int charIndex, int 
charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(chars[charIndex++]);
                        if(ch >= 4) switch(ch)
                        {
                                case 0x000B:
                                case 0x000C:
                                case 0x000D:
                                case 0x000E:
                                case 0x000F:
                                case 0x0010:
                                case 0x0011:
                                case 0x0012:
                                case 0x0013:
                                case 0x0018:
                                case 0x0019:
                                case 0x001C:
                                case 0x001D:
                                case 0x001E:
                                case 0x001F:
                                case 0x00B6:
                                        break;
                                case 0x0004: ch = 0x37; break;
                                case 0x0005: ch = 0x2D; break;
                                case 0x0006: ch = 0x2E; break;
                                case 0x0007: ch = 0x2F; break;
                                case 0x0008: ch = 0x16; break;
                                case 0x0009: ch = 0x05; break;
                                case 0x000A: ch = 0x25; break;
                                case 0x0014: ch = 0x3C; break;
                                case 0x0015: ch = 0x3D; break;
                                case 0x0016: ch = 0x32; break;
                                case 0x0017: ch = 0x26; break;
                                case 0x001A: ch = 0x3F; break;
                                case 0x001B: ch = 0x27; break;
                                case 0x0020: ch = 0x40; break;
                                case 0x0021: ch = 0x5A; break;
                                case 0x0022: ch = 0x7F; break;
                                case 0x0023: ch = 0x7B; break;
                                case 0x0024: ch = 0x5B; break;
                                case 0x0025: ch = 0x6C; break;
                                case 0x0026: ch = 0x50; break;
                                case 0x0027: ch = 0x7D; break;
                                case 0x0028: ch = 0x4D; break;
                                case 0x0029: ch = 0x5D; break;
                                case 0x002A: ch = 0x5C; break;
                                case 0x002B: ch = 0x4E; break;
                                case 0x002C: ch = 0x6B; break;
                                case 0x002D: ch = 0x60; break;
                                case 0x002E: ch = 0x4B; break;
                                case 0x002F: ch = 0x61; break;
                                case 0x0030:
                                case 0x0031:
                                case 0x0032:
                                case 0x0033:
                                case 0x0034:
                                case 0x0035:
                                case 0x0036:
                                case 0x0037:
                                case 0x0038:
                                case 0x0039:
                                        ch += 0x00C0;
                                        break;
                                case 0x003A: ch = 0x7A; break;
                                case 0x003B: ch = 0x5E; break;
                                case 0x003C: ch = 0x4C; break;
                                case 0x003D: ch = 0x7E; break;
                                case 0x003E: ch = 0x6E; break;
                                case 0x003F: ch = 0x6F; break;
                                case 0x0040: ch = 0x7C; break;
                                case 0x0041:
                                case 0x0042:
                                case 0x0043:
                                case 0x0044:
                                case 0x0045:
                                case 0x0046:
                                case 0x0047:
                                case 0x0048:
                                case 0x0049:
                                        ch += 0x0080;
                                        break;
                                case 0x004A:
                                case 0x004B:
                                case 0x004C:
                                case 0x004D:
                                case 0x004E:
                                case 0x004F:
                                case 0x0050:
                                case 0x0051:
                                case 0x0052:
                                        ch += 0x0087;
                                        break;
                                case 0x0053:
                                case 0x0054:
                                case 0x0055:
                                case 0x0056:
                                case 0x0057:
                                case 0x0058:
                                case 0x0059:
                                case 0x005A:
                                        ch += 0x008F;
                                        break;
                                case 0x005B: ch = 0xAD; break;
                                case 0x005C: ch = 0xE0; break;
                                case 0x005D: ch = 0xBD; break;
                                case 0x005E: ch = 0x5F; break;
                                case 0x005F: ch = 0x6D; break;
                                case 0x0060: ch = 0x79; break;
                                case 0x0061:
                                case 0x0062:
                                case 0x0063:
                                case 0x0064:
                                case 0x0065:
                                case 0x0066:
                                case 0x0067:
                                case 0x0068:
                                case 0x0069:
                                        ch += 0x0020;
                                        break;
                                case 0x006A:
                                case 0x006B:
                                case 0x006C:
                                case 0x006D:
                                case 0x006E:
                                case 0x006F:
                                case 0x0070:
                                case 0x0071:
                                case 0x0072:
                                        ch += 0x0027;
                                        break;
                                case 0x0073:
                                case 0x0074:
                                case 0x0075:
                                case 0x0076:
                                case 0x0077:
                                case 0x0078:
                                case 0x0079:
                                case 0x007A:
                                        ch += 0x002F;
                                        break;
                                case 0x007B: ch = 0xC0; break;
                                case 0x007C: ch = 0x4F; break;
                                case 0x007D: ch = 0xD0; break;
                                case 0x007E: ch = 0xA1; break;
                                case 0x007F: ch = 0x07; break;
                                case 0x0080:
                                case 0x0081:
                                case 0x0082:
                                case 0x0083:
                                case 0x0084:
                                        ch -= 0x0060;
                                        break;
                                case 0x0085: ch = 0x15; break;
                                case 0x0086: ch = 0x06; break;
                                case 0x0087: ch = 0x17; break;
                                case 0x0088:
                                case 0x0089:
                                case 0x008A:
                                case 0x008B:
                                case 0x008C:
                                        ch -= 0x0060;
                                        break;
                                case 0x008D: ch = 0x09; break;
                                case 0x008E: ch = 0x0A; break;
                                case 0x008F: ch = 0x1B; break;
                                case 0x0090: ch = 0x30; break;
                                case 0x0091: ch = 0x31; break;
                                case 0x0092: ch = 0x1A; break;
                                case 0x0093:
                                case 0x0094:
                                case 0x0095:
                                case 0x0096:
                                        ch -= 0x0060;
                                        break;
                                case 0x0097: ch = 0x08; break;
                                case 0x0098:
                                case 0x0099:
                                case 0x009A:
                                case 0x009B:
                                        ch -= 0x0060;
                                        break;
                                case 0x009C: ch = 0x04; break;
                                case 0x009D: ch = 0x14; break;
                                case 0x009E: ch = 0x3E; break;
                                case 0x009F: ch = 0xFF; break;
                                case 0x00A0: ch = 0x41; break;
                                case 0x00A1: ch = 0xAA; break;
                                case 0x00A2: ch = 0x4A; break;
                                case 0x00A3: ch = 0xB1; break;
                                case 0x00A5: ch = 0xB2; break;
                                case 0x00A6: ch = 0x6A; break;
                                case 0x00A7: ch = 0xB5; break;
                                case 0x00A8: ch = 0xBB; break;
                                case 0x00A9: ch = 0xB4; break;
                                case 0x00AA: ch = 0x9A; break;
                                case 0x00AB: ch = 0x8A; break;
                                case 0x00AC: ch = 0xB0; break;
                                case 0x00AD: ch = 0xCA; break;
                                case 0x00AE: ch = 0xAF; break;
                                case 0x00AF: ch = 0xBC; break;
                                case 0x00B0: ch = 0x90; break;
                                case 0x00B1: ch = 0x8F; break;
                                case 0x00B2: ch = 0xEA; break;
                                case 0x00B3: ch = 0xFA; break;
                                case 0x00B4: ch = 0xBE; break;
                                case 0x00B5: ch = 0xA0; break;
                                case 0x00B7: ch = 0xB3; break;
                                case 0x00B8: ch = 0x9D; break;
                                case 0x00B9: ch = 0xDA; break;
                                case 0x00BA: ch = 0x9B; break;
                                case 0x00BB: ch = 0x8B; break;
                                case 0x00BC: ch = 0xB7; break;
                                case 0x00BD: ch = 0xB8; break;
                                case 0x00BE: ch = 0xB9; break;
                                case 0x00BF: ch = 0xAB; break;
                                case 0x00C0: ch = 0x64; break;
                                case 0x00C1: ch = 0x65; break;
                                case 0x00C2: ch = 0x62; break;
                                case 0x00C3: ch = 0x66; break;
                                case 0x00C4: ch = 0x63; break;
                                case 0x00C5: ch = 0x67; break;
                                case 0x00C6: ch = 0x9E; break;
                                case 0x00C7: ch = 0x68; break;
                                case 0x00C8: ch = 0x74; break;
                                case 0x00C9: ch = 0x71; break;
                                case 0x00CA: ch = 0x72; break;
                                case 0x00CB: ch = 0x73; break;
                                case 0x00CC: ch = 0x78; break;
                                case 0x00CD: ch = 0x75; break;
                                case 0x00CE: ch = 0x76; break;
                                case 0x00CF: ch = 0x77; break;
                                case 0x00D0: ch = 0xAC; break;
                                case 0x00D1: ch = 0x69; break;
                                case 0x00D2: ch = 0xED; break;
                                case 0x00D3: ch = 0xEE; break;
                                case 0x00D4: ch = 0xEB; break;
                                case 0x00D5: ch = 0xEF; break;
                                case 0x00D6: ch = 0xEC; break;
                                case 0x00D7: ch = 0xBF; break;
                                case 0x00D8: ch = 0x80; break;
                                case 0x00D9: ch = 0xFD; break;
                                case 0x00DA: ch = 0xFE; break;
                                case 0x00DB: ch = 0xFB; break;
                                case 0x00DC: ch = 0xFC; break;
                                case 0x00DD: ch = 0xBA; break;
                                case 0x00DE: ch = 0xAE; break;
                                case 0x00DF: ch = 0x59; break;
                                case 0x00E0: ch = 0x44; break;
                                case 0x00E1: ch = 0x45; break;
                                case 0x00E2: ch = 0x42; break;
                                case 0x00E3: ch = 0x46; break;
                                case 0x00E4: ch = 0x43; break;
                                case 0x00E5: ch = 0x47; break;
                                case 0x00E6: ch = 0x9C; break;
                                case 0x00E7: ch = 0x48; break;
                                case 0x00E8: ch = 0x54; break;
                                case 0x00E9: ch = 0x51; break;
                                case 0x00EA: ch = 0x52; break;
                                case 0x00EB: ch = 0x53; break;
                                case 0x00EC: ch = 0x58; break;
                                case 0x00ED: ch = 0x55; break;
                                case 0x00EE: ch = 0x56; break;
                                case 0x00EF: ch = 0x57; break;
                                case 0x00F0: ch = 0x8C; break;
                                case 0x00F1: ch = 0x49; break;
                                case 0x00F2: ch = 0xCD; break;
                                case 0x00F3: ch = 0xCE; break;
                                case 0x00F4: ch = 0xCB; break;
                                case 0x00F5: ch = 0xCF; break;
                                case 0x00F6: ch = 0xCC; break;
                                case 0x00F7: ch = 0xE1; break;
                                case 0x00F8: ch = 0x70; break;
                                case 0x00F9: ch = 0xDD; break;
                                case 0x00FA: ch = 0xDE; break;
                                case 0x00FB: ch = 0xDB; break;
                                case 0x00FC: ch = 0xDC; break;
                                case 0x00FD: ch = 0x8D; break;
                                case 0x00FE: ch = 0x8E; break;
                                case 0x00FF: ch = 0xDF; break;
                                case 0x203E: ch = 0xBC; break;
                                case 0x20AC: ch = 0x9F; break;
                                case 0xFF01: ch = 0x5A; break;
                                case 0xFF02: ch = 0x7F; break;
                                case 0xFF03: ch = 0x7B; break;
                                case 0xFF04: ch = 0x5B; break;
                                case 0xFF05: ch = 0x6C; break;
                                case 0xFF06: ch = 0x50; break;
                                case 0xFF07: ch = 0x7D; break;
                                case 0xFF08: ch = 0x4D; break;
                                case 0xFF09: ch = 0x5D; break;
                                case 0xFF0A: ch = 0x5C; break;
                                case 0xFF0B: ch = 0x4E; break;
                                case 0xFF0C: ch = 0x6B; break;
                                case 0xFF0D: ch = 0x60; break;
                                case 0xFF0E: ch = 0x4B; break;
                                case 0xFF0F: ch = 0x61; break;
                                case 0xFF10:
                                case 0xFF11:
                                case 0xFF12:
                                case 0xFF13:
                                case 0xFF14:
                                case 0xFF15:
                                case 0xFF16:
                                case 0xFF17:
                                case 0xFF18:
                                case 0xFF19:
                                        ch -= 0xFE20;
                                        break;
                                case 0xFF1A: ch = 0x7A; break;
                                case 0xFF1B: ch = 0x5E; break;
                                case 0xFF1C: ch = 0x4C; break;
                                case 0xFF1D: ch = 0x7E; break;
                                case 0xFF1E: ch = 0x6E; break;
                                case 0xFF1F: ch = 0x6F; break;
                                case 0xFF20: ch = 0x7C; break;
                                case 0xFF21:
                                case 0xFF22:
                                case 0xFF23:
                                case 0xFF24:
                                case 0xFF25:
                                case 0xFF26:
                                case 0xFF27:
                                case 0xFF28:
                                case 0xFF29:
                                        ch -= 0xFE60;
                                        break;
                                case 0xFF2A:
                                case 0xFF2B:
                                case 0xFF2C:
                                case 0xFF2D:
                                case 0xFF2E:
                                case 0xFF2F:
                                case 0xFF30:
                                case 0xFF31:
                                case 0xFF32:
                                        ch -= 0xFE59;
                                        break;
                                case 0xFF33:
                                case 0xFF34:
                                case 0xFF35:
                                case 0xFF36:
                                case 0xFF37:
                                case 0xFF38:
                                case 0xFF39:
                                case 0xFF3A:
                                        ch -= 0xFE51;
                                        break;
                                case 0xFF3B: ch = 0xAD; break;
                                case 0xFF3C: ch = 0xE0; break;
                                case 0xFF3D: ch = 0xBD; break;
                                case 0xFF3E: ch = 0x5F; break;
                                case 0xFF3F: ch = 0x6D; break;
                                case 0xFF40: ch = 0x79; break;
                                case 0xFF41:
                                case 0xFF42:
                                case 0xFF43:
                                case 0xFF44:
                                case 0xFF45:
                                case 0xFF46:
                                case 0xFF47:
                                case 0xFF48:
                                case 0xFF49:
                                        ch -= 0xFEC0;
                                        break;
                                case 0xFF4A:
                                case 0xFF4B:
                                case 0xFF4C:
                                case 0xFF4D:
                                case 0xFF4E:
                                case 0xFF4F:
                                case 0xFF50:
                                case 0xFF51:
                                case 0xFF52:
                                        ch -= 0xFEB9;
                                        break;
                                case 0xFF53:
                                case 0xFF54:
                                case 0xFF55:
                                case 0xFF56:
                                case 0xFF57:
                                case 0xFF58:
                                case 0xFF59:
                                case 0xFF5A:
                                        ch -= 0xFEB1;
                                        break;
                                case 0xFF5B: ch = 0xC0; break;
                                case 0xFF5C: ch = 0x4F; break;
                                case 0xFF5D: ch = 0xD0; break;
                                case 0xFF5E: ch = 0xA1; break;
                                default: ch = 0x3F; break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

        protected override void ToBytes(String s, int charIndex, int charCount,
                                        byte[] bytes, int byteIndex)
        {
                int ch;
                while(charCount > 0)
                {
                        ch = (int)(s[charIndex++]);
                        if(ch >= 4) switch(ch)
                        {
                                case 0x000B:
                                case 0x000C:
                                case 0x000D:
                                case 0x000E:
                                case 0x000F:
                                case 0x0010:
                                case 0x0011:
                                case 0x0012:
                                case 0x0013:
                                case 0x0018:
                                case 0x0019:
                                case 0x001C:
                                case 0x001D:
                                case 0x001E:
                                case 0x001F:
                                case 0x00B6:
                                        break;
                                case 0x0004: ch = 0x37; break;
                                case 0x0005: ch = 0x2D; break;
                                case 0x0006: ch = 0x2E; break;
                                case 0x0007: ch = 0x2F; break;
                                case 0x0008: ch = 0x16; break;
                                case 0x0009: ch = 0x05; break;
                                case 0x000A: ch = 0x25; break;
                                case 0x0014: ch = 0x3C; break;
                                case 0x0015: ch = 0x3D; break;
                                case 0x0016: ch = 0x32; break;
                                case 0x0017: ch = 0x26; break;
                                case 0x001A: ch = 0x3F; break;
                                case 0x001B: ch = 0x27; break;
                                case 0x0020: ch = 0x40; break;
                                case 0x0021: ch = 0x5A; break;
                                case 0x0022: ch = 0x7F; break;
                                case 0x0023: ch = 0x7B; break;
                                case 0x0024: ch = 0x5B; break;
                                case 0x0025: ch = 0x6C; break;
                                case 0x0026: ch = 0x50; break;
                                case 0x0027: ch = 0x7D; break;
                                case 0x0028: ch = 0x4D; break;
                                case 0x0029: ch = 0x5D; break;
                                case 0x002A: ch = 0x5C; break;
                                case 0x002B: ch = 0x4E; break;
                                case 0x002C: ch = 0x6B; break;
                                case 0x002D: ch = 0x60; break;
                                case 0x002E: ch = 0x4B; break;
                                case 0x002F: ch = 0x61; break;
                                case 0x0030:
                                case 0x0031:
                                case 0x0032:
                                case 0x0033:
                                case 0x0034:
                                case 0x0035:
                                case 0x0036:
                                case 0x0037:
                                case 0x0038:
                                case 0x0039:
                                        ch += 0x00C0;
                                        break;
                                case 0x003A: ch = 0x7A; break;
                                case 0x003B: ch = 0x5E; break;
                                case 0x003C: ch = 0x4C; break;
                                case 0x003D: ch = 0x7E; break;
                                case 0x003E: ch = 0x6E; break;
                                case 0x003F: ch = 0x6F; break;
                                case 0x0040: ch = 0x7C; break;
                                case 0x0041:
                                case 0x0042:
                                case 0x0043:
                                case 0x0044:
                                case 0x0045:
                                case 0x0046:
                                case 0x0047:
                                case 0x0048:
                                case 0x0049:
                                        ch += 0x0080;
                                        break;
                                case 0x004A:
                                case 0x004B:
                                case 0x004C:
                                case 0x004D:
                                case 0x004E:
                                case 0x004F:
                                case 0x0050:
                                case 0x0051:
                                case 0x0052:
                                        ch += 0x0087;
                                        break;
                                case 0x0053:
                                case 0x0054:
                                case 0x0055:
                                case 0x0056:
                                case 0x0057:
                                case 0x0058:
                                case 0x0059:
                                case 0x005A:
                                        ch += 0x008F;
                                        break;
                                case 0x005B: ch = 0xAD; break;
                                case 0x005C: ch = 0xE0; break;
                                case 0x005D: ch = 0xBD; break;
                                case 0x005E: ch = 0x5F; break;
                                case 0x005F: ch = 0x6D; break;
                                case 0x0060: ch = 0x79; break;
                                case 0x0061:
                                case 0x0062:
                                case 0x0063:
                                case 0x0064:
                                case 0x0065:
                                case 0x0066:
                                case 0x0067:
                                case 0x0068:
                                case 0x0069:
                                        ch += 0x0020;
                                        break;
                                case 0x006A:
                                case 0x006B:
                                case 0x006C:
                                case 0x006D:
                                case 0x006E:
                                case 0x006F:
                                case 0x0070:
                                case 0x0071:
                                case 0x0072:
                                        ch += 0x0027;
                                        break;
                                case 0x0073:
                                case 0x0074:
                                case 0x0075:
                                case 0x0076:
                                case 0x0077:
                                case 0x0078:
                                case 0x0079:
                                case 0x007A:
                                        ch += 0x002F;
                                        break;
                                case 0x007B: ch = 0xC0; break;
                                case 0x007C: ch = 0x4F; break;
                                case 0x007D: ch = 0xD0; break;
                                case 0x007E: ch = 0xA1; break;
                                case 0x007F: ch = 0x07; break;
                                case 0x0080:
                                case 0x0081:
                                case 0x0082:
                                case 0x0083:
                                case 0x0084:
                                        ch -= 0x0060;
                                        break;
                                case 0x0085: ch = 0x15; break;
                                case 0x0086: ch = 0x06; break;
                                case 0x0087: ch = 0x17; break;
                                case 0x0088:
                                case 0x0089:
                                case 0x008A:
                                case 0x008B:
                                case 0x008C:
                                        ch -= 0x0060;
                                        break;
                                case 0x008D: ch = 0x09; break;
                                case 0x008E: ch = 0x0A; break;
                                case 0x008F: ch = 0x1B; break;
                                case 0x0090: ch = 0x30; break;
                                case 0x0091: ch = 0x31; break;
                                case 0x0092: ch = 0x1A; break;
                                case 0x0093:
                                case 0x0094:
                                case 0x0095:
                                case 0x0096:
                                        ch -= 0x0060;
                                        break;
                                case 0x0097: ch = 0x08; break;
                                case 0x0098:
                                case 0x0099:
                                case 0x009A:
                                case 0x009B:
                                        ch -= 0x0060;
                                        break;
                                case 0x009C: ch = 0x04; break;
                                case 0x009D: ch = 0x14; break;
                                case 0x009E: ch = 0x3E; break;
                                case 0x009F: ch = 0xFF; break;
                                case 0x00A0: ch = 0x41; break;
                                case 0x00A1: ch = 0xAA; break;
                                case 0x00A2: ch = 0x4A; break;
                                case 0x00A3: ch = 0xB1; break;
                                case 0x00A5: ch = 0xB2; break;
                                case 0x00A6: ch = 0x6A; break;
                                case 0x00A7: ch = 0xB5; break;
                                case 0x00A8: ch = 0xBB; break;
                                case 0x00A9: ch = 0xB4; break;
                                case 0x00AA: ch = 0x9A; break;
                                case 0x00AB: ch = 0x8A; break;
                                case 0x00AC: ch = 0xB0; break;
                                case 0x00AD: ch = 0xCA; break;
                                case 0x00AE: ch = 0xAF; break;
                                case 0x00AF: ch = 0xBC; break;
                                case 0x00B0: ch = 0x90; break;
                                case 0x00B1: ch = 0x8F; break;
                                case 0x00B2: ch = 0xEA; break;
                                case 0x00B3: ch = 0xFA; break;
                                case 0x00B4: ch = 0xBE; break;
                                case 0x00B5: ch = 0xA0; break;
                                case 0x00B7: ch = 0xB3; break;
                                case 0x00B8: ch = 0x9D; break;
                                case 0x00B9: ch = 0xDA; break;
                                case 0x00BA: ch = 0x9B; break;
                                case 0x00BB: ch = 0x8B; break;
                                case 0x00BC: ch = 0xB7; break;
                                case 0x00BD: ch = 0xB8; break;
                                case 0x00BE: ch = 0xB9; break;
                                case 0x00BF: ch = 0xAB; break;
                                case 0x00C0: ch = 0x64; break;
                                case 0x00C1: ch = 0x65; break;
                                case 0x00C2: ch = 0x62; break;
                                case 0x00C3: ch = 0x66; break;
                                case 0x00C4: ch = 0x63; break;
                                case 0x00C5: ch = 0x67; break;
                                case 0x00C6: ch = 0x9E; break;
                                case 0x00C7: ch = 0x68; break;
                                case 0x00C8: ch = 0x74; break;
                                case 0x00C9: ch = 0x71; break;
                                case 0x00CA: ch = 0x72; break;
                                case 0x00CB: ch = 0x73; break;
                                case 0x00CC: ch = 0x78; break;
                                case 0x00CD: ch = 0x75; break;
                                case 0x00CE: ch = 0x76; break;
                                case 0x00CF: ch = 0x77; break;
                                case 0x00D0: ch = 0xAC; break;
                                case 0x00D1: ch = 0x69; break;
                                case 0x00D2: ch = 0xED; break;
                                case 0x00D3: ch = 0xEE; break;
                                case 0x00D4: ch = 0xEB; break;
                                case 0x00D5: ch = 0xEF; break;
                                case 0x00D6: ch = 0xEC; break;
                                case 0x00D7: ch = 0xBF; break;
                                case 0x00D8: ch = 0x80; break;
                                case 0x00D9: ch = 0xFD; break;
                                case 0x00DA: ch = 0xFE; break;
                                case 0x00DB: ch = 0xFB; break;
                                case 0x00DC: ch = 0xFC; break;
                                case 0x00DD: ch = 0xBA; break;
                                case 0x00DE: ch = 0xAE; break;
                                case 0x00DF: ch = 0x59; break;
                                case 0x00E0: ch = 0x44; break;
                                case 0x00E1: ch = 0x45; break;
                                case 0x00E2: ch = 0x42; break;
                                case 0x00E3: ch = 0x46; break;
                                case 0x00E4: ch = 0x43; break;
                                case 0x00E5: ch = 0x47; break;
                                case 0x00E6: ch = 0x9C; break;
                                case 0x00E7: ch = 0x48; break;
                                case 0x00E8: ch = 0x54; break;
                                case 0x00E9: ch = 0x51; break;
                                case 0x00EA: ch = 0x52; break;
                                case 0x00EB: ch = 0x53; break;
                                case 0x00EC: ch = 0x58; break;
                                case 0x00ED: ch = 0x55; break;
                                case 0x00EE: ch = 0x56; break;
                                case 0x00EF: ch = 0x57; break;
                                case 0x00F0: ch = 0x8C; break;
                                case 0x00F1: ch = 0x49; break;
                                case 0x00F2: ch = 0xCD; break;
                                case 0x00F3: ch = 0xCE; break;
                                case 0x00F4: ch = 0xCB; break;
                                case 0x00F5: ch = 0xCF; break;
                                case 0x00F6: ch = 0xCC; break;
                                case 0x00F7: ch = 0xE1; break;
                                case 0x00F8: ch = 0x70; break;
                                case 0x00F9: ch = 0xDD; break;
                                case 0x00FA: ch = 0xDE; break;
                                case 0x00FB: ch = 0xDB; break;
                                case 0x00FC: ch = 0xDC; break;
                                case 0x00FD: ch = 0x8D; break;
                                case 0x00FE: ch = 0x8E; break;
                                case 0x00FF: ch = 0xDF; break;
                                case 0x203E: ch = 0xBC; break;
                                case 0x20AC: ch = 0x9F; break;
                                case 0xFF01: ch = 0x5A; break;
                                case 0xFF02: ch = 0x7F; break;
                                case 0xFF03: ch = 0x7B; break;
                                case 0xFF04: ch = 0x5B; break;
                                case 0xFF05: ch = 0x6C; break;
                                case 0xFF06: ch = 0x50; break;
                                case 0xFF07: ch = 0x7D; break;
                                case 0xFF08: ch = 0x4D; break;
                                case 0xFF09: ch = 0x5D; break;
                                case 0xFF0A: ch = 0x5C; break;
                                case 0xFF0B: ch = 0x4E; break;
                                case 0xFF0C: ch = 0x6B; break;
                                case 0xFF0D: ch = 0x60; break;
                                case 0xFF0E: ch = 0x4B; break;
                                case 0xFF0F: ch = 0x61; break;
                                case 0xFF10:
                                case 0xFF11:
                                case 0xFF12:
                                case 0xFF13:
                                case 0xFF14:
                                case 0xFF15:
                                case 0xFF16:
                                case 0xFF17:
                                case 0xFF18:
                                case 0xFF19:
                                        ch -= 0xFE20;
                                        break;
                                case 0xFF1A: ch = 0x7A; break;
                                case 0xFF1B: ch = 0x5E; break;
                                case 0xFF1C: ch = 0x4C; break;
                                case 0xFF1D: ch = 0x7E; break;
                                case 0xFF1E: ch = 0x6E; break;
                                case 0xFF1F: ch = 0x6F; break;
                                case 0xFF20: ch = 0x7C; break;
                                case 0xFF21:
                                case 0xFF22:
                                case 0xFF23:
                                case 0xFF24:
                                case 0xFF25:
                                case 0xFF26:
                                case 0xFF27:
                                case 0xFF28:
                                case 0xFF29:
                                        ch -= 0xFE60;
                                        break;
                                case 0xFF2A:
                                case 0xFF2B:
                                case 0xFF2C:
                                case 0xFF2D:
                                case 0xFF2E:
                                case 0xFF2F:
                                case 0xFF30:
                                case 0xFF31:
                                case 0xFF32:
                                        ch -= 0xFE59;
                                        break;
                                case 0xFF33:
                                case 0xFF34:
                                case 0xFF35:
                                case 0xFF36:
                                case 0xFF37:
                                case 0xFF38:
                                case 0xFF39:
                                case 0xFF3A:
                                        ch -= 0xFE51;
                                        break;
                                case 0xFF3B: ch = 0xAD; break;
                                case 0xFF3C: ch = 0xE0; break;
                                case 0xFF3D: ch = 0xBD; break;
                                case 0xFF3E: ch = 0x5F; break;
                                case 0xFF3F: ch = 0x6D; break;
                                case 0xFF40: ch = 0x79; break;
                                case 0xFF41:
                                case 0xFF42:
                                case 0xFF43:
                                case 0xFF44:
                                case 0xFF45:
                                case 0xFF46:
                                case 0xFF47:
                                case 0xFF48:
                                case 0xFF49:
                                        ch -= 0xFEC0;
                                        break;
                                case 0xFF4A:
                                case 0xFF4B:
                                case 0xFF4C:
                                case 0xFF4D:
                                case 0xFF4E:
                                case 0xFF4F:
                                case 0xFF50:
                                case 0xFF51:
                                case 0xFF52:
                                        ch -= 0xFEB9;
                                        break;
                                case 0xFF53:
                                case 0xFF54:
                                case 0xFF55:
                                case 0xFF56:
                                case 0xFF57:
                                case 0xFF58:
                                case 0xFF59:
                                case 0xFF5A:
                                        ch -= 0xFEB1;
                                        break;
                                case 0xFF5B: ch = 0xC0; break;
                                case 0xFF5C: ch = 0x4F; break;
                                case 0xFF5D: ch = 0xD0; break;
                                case 0xFF5E: ch = 0xA1; break;
                                default: ch = 0x3F; break;
                        }
                        bytes[byteIndex++] = (byte)ch;
                        --charCount;
                }
        }

}; // class CP20924

public class ENCibm20924 : CP20924
{
        public ENCibm20924() : base() {}

}; // class ENCibm20924

}; // namespace I18N.Rare

--- NEW FILE ---
# Code page 20105 - IA5 IRV International Alphabet No. 5 (7-bit)

<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
<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
<UFF1F> \x3F |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

--- NEW FILE ---
# Code page 20106 - IA5 German (7-bit)

<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 |1
<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 |1
<U005C> \x5C |1
<U005D> \x5D |1
<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 |1
<U007C> \x7C |1
<U007D> \x7D |1
<U007E> \x7E |1
<U007F> \x7F |0
<U00A7> \x40 |0
<U00C4> \x5B |0
<U00D6> \x5C |0
<U00DC> \x5D |0
<U00E4> \x7B |0
<U00F6> \x7C |0
<U00FC> \x7D |0
<U00DF> \x7E |0
<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
<UFF1F> \x3F |1
<UFF20> \x40 |2
<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 |2
<UFF3C> \x5C |2
<UFF3D> \x5D |2
<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 |2
<UFF5C> \x7C |2
<UFF5D> \x7D |2
<UFF5E> \x7E |2
END CHARMAP

--- NEW FILE ---
# Code page 20107 - IA5 Swedish (7-bit)

<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 |1
<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 |1
<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 |1
<U005C> \x5C |1
<U005D> \x5D |1
<U005E> \x5E |1
<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 |1
<U007C> \x7C |1
<U007D> \x7D |1
<U007E> \x7E |1
<U007F> \x7F |0
<U00A4> \x24 |0
<U00C4> \x5B |0
<U00C5> \x5D |0
<U00C9> \x40 |0
<U00D6> \x5C |0
<U00DC> \x5E |0
<U00E4> \x7B |0
<U00E5> \x7D |0
<U00E9> \x60 |0
<U00F6> \x7C |0
<U00FC> \x7E |0
<UFF01> \x21 |1
<UFF02> \x22 |1
<UFF03> \x23 |1
<UFF04> \x24 |2
<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
<UFF1F> \x3F |1
<UFF20> \x40 |2
<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 |2
<UFF3C> \x5C |2
<UFF3D> \x5D |2
<UFF3E> \x5E |2
<UFF3F> \x5F |1
<UFF40> \x60 |2
<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 |2
<UFF5C> \x7C |2
<UFF5D> \x7D |2
<UFF5E> \x7E |2
END CHARMAP

--- NEW FILE ---
# Code page 20108 - IA5 Norwegian (7-bit)

<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 |1
<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 |1
<U005C> \x5C |1
<U005D> \x5D |1
<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 |1
<U007C> \x7E |0
<U007D> \x7D |1
<U007E> \x7E |1
<U007F> \x7F |0
<U00B6> \x23 |0
<U00C5> \x5D |0
<U00C6> \x5B |0
<U00D8> \x5C |0
<U00E5> \x7D |0
<U00E6> \x7B |0
<U00F8> \x7C |0
<UFF01> \x21 |1
<UFF02> \x22 |1
<UFF03> \x23 |2
<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
<UFF1F> \x3F |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 |2
<UFF3C> \x5C |2
<UFF3D> \x5D |2
<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 |2
<UFF5C> \x7E |2
<UFF5D> \x7D |2
<UFF5E> \x7E |2
END CHARMAP

--- NEW FILE ---
# ***************************************************************************
# *
# *   Copyright (C) 1995-2002, International Business Machines
# *   Corporation and others.  All Rights Reserved.
# *
# ***************************************************************************
#
# File created by rptp2ucm (compiled on Dec  3 2002)
# from source files 44B00482.RPMAP100 and 048244B0.TPMAP100
#
<code_set_name>               "ibm-1154_P100-1999"
<char_name_mask>              "AXXXX"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<subchar>                     \x3F
<icu:charsetFamily>           "EBCDIC"
<icu:alias>                   "ibm-1154_STD"

CHARMAP
<U0000> \x00 |0
<U0001> \x01 |0
<U0002> \x02 |0
<U0003> \x03 |0
<U0004> \x37 |0
<U0005> \x2D |0
<U0006> \x2E |0
<U0007> \x2F |0
<U0008> \x16 |0
<U0009> \x05 |0
<U000A> \x25 |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> \x3C |0
<U0015> \x3D |0
<U0016> \x32 |0
<U0017> \x26 |0
<U0018> \x18 |0
<U0019> \x19 |0
<U001A> \x3F |0
<U001B> \x27 |0
<U001C> \x1C |0
<U001D> \x1D |0
<U001E> \x1E |0
<U001F> \x1F |0
<U0020> \x40 |0
<U0021> \x4F |0
<U0022> \x7F |0
<U0023> \x7B |0
<U0024> \x5B |0
<U0025> \x6C |0
<U0026> \x50 |0
<U0027> \x7D |0
<U0028> \x4D |0
<U0029> \x5D |0
<U002A> \x5C |0
<U002B> \x4E |0
<U002C> \x6B |0
<U002D> \x60 |0
<U002E> \x4B |0
<U002F> \x61 |0
<U0030> \xF0 |0
<U0031> \xF1 |0
<U0032> \xF2 |0
<U0033> \xF3 |0
<U0034> \xF4 |0
<U0035> \xF5 |0
<U0036> \xF6 |0
<U0037> \xF7 |0
<U0038> \xF8 |0
<U0039> \xF9 |0
<U003A> \x7A |0
<U003B> \x5E |0
<U003C> \x4C |0
<U003D> \x7E |0
<U003E> \x6E |0
<U003F> \x6F |0
<U0040> \x7C |0
<U0041> \xC1 |0
<U0042> \xC2 |0
<U0043> \xC3 |0
<U0044> \xC4 |0
<U0045> \xC5 |0
<U0046> \xC6 |0
<U0047> \xC7 |0
<U0048> \xC8 |0
<U0049> \xC9 |0
<U004A> \xD1 |0
<U004B> \xD2 |0
<U004C> \xD3 |0
<U004D> \xD4 |0
<U004E> \xD5 |0
<U004F> \xD6 |0
<U0050> \xD7 |0
<U0051> \xD8 |0
<U0052> \xD9 |0
<U0053> \xE2 |0
<U0054> \xE3 |0
<U0055> \xE4 |0
<U0056> \xE5 |0
<U0057> \xE6 |0
<U0058> \xE7 |0
<U0059> \xE8 |0
<U005A> \xE9 |0
<U005B> \x4A |0
<U005C> \xE0 |0
<U005D> \x5A |0
<U005E> \x5F |0
<U005F> \x6D |0
<U0060> \x79 |0
<U0061> \x81 |0
<U0062> \x82 |0
<U0063> \x83 |0
<U0064> \x84 |0
<U0065> \x85 |0
<U0066> \x86 |0
<U0067> \x87 |0
<U0068> \x88 |0
<U0069> \x89 |0
<U006A> \x91 |0
<U006B> \x92 |0
<U006C> \x93 |0
<U006D> \x94 |0
<U006E> \x95 |0
<U006F> \x96 |0
<U0070> \x97 |0
<U0071> \x98 |0
<U0072> \x99 |0
<U0073> \xA2 |0
<U0074> \xA3 |0
<U0075> \xA4 |0
<U0076> \xA5 |0
<U0077> \xA6 |0
<U0078> \xA7 |0
<U0079> \xA8 |0
<U007A> \xA9 |0
<U007B> \xC0 |0
<U007C> \x6A |0
<U007D> \xD0 |0
<U007E> \xA1 |0
<U007F> \x07 |0
<U0080> \x20 |0
<U0081> \x21 |0
<U0082> \x22 |0
<U0083> \x23 |0
<U0084> \x24 |0
<U0085> \x15 |0
<U0086> \x06 |0
<U0087> \x17 |0
<U0088> \x28 |0
<U0089> \x29 |0
<U008A> \x2A |0
<U008B> \x2B |0
<U008C> \x2C |0
<U008D> \x09 |0
<U008E> \x0A |0
<U008F> \x1B |0
<U0090> \x30 |0
<U0091> \x31 |0
<U0092> \x1A |0
<U0093> \x33 |0
<U0094> \x34 |0
<U0095> \x35 |0
<U0096> \x36 |0
<U0097> \x08 |0
<U0098> \x38 |0
<U0099> \x39 |0
<U009A> \x3A |0
<U009B> \x3B |0
<U009C> \x04 |0
<U009D> \x14 |0
<U009E> \x3E |0
<U009F> \xFF |0
<U00A0> \x41 |0
<U00AD> \x73 |0
<U0401> \x63 |0
<U0402> \x59 |0
<U0403> \x62 |0
<U0404> \x64 |0
<U0405> \x65 |0
<U0406> \x66 |0
<U0407> \x67 |0
<U0408> \x68 |0
<U0409> \x69 |0
<U040A> \x70 |0
<U040B> \x71 |0
<U040C> \x72 |0
<U040E> \x74 |0
<U040F> \x75 |0
<U0410> \xB9 |0
<U0411> \xBA |0
<U0412> \xED |0
<U0413> \xBF |0
<U0414> \xBC |0
<U0415> \xBD |0
<U0416> \xEC |0
<U0417> \xFA |0
<U0418> \xCB |0
<U0419> \xCC |0
<U041A> \xCD |0
<U041B> \xCE |0
<U041C> \xCF |0
<U041D> \xDA |0
<U041E> \xDB |0
<U041F> \xDC |0
<U0420> \xDE |0
<U0421> \xDF |0
<U0422> \xEA |0
<U0423> \xEB |0
<U0424> \xBE |0
<U0425> \xCA |0
<U0426> \xBB |0
<U0427> \xFE |0
<U0428> \xFB |0
<U0429> \xFD |0
<U042A> \x57 |0
<U042B> \xEF |0
<U042C> \xEE |0
<U042D> \xFC |0
<U042E> \xB8 |0
<U042F> \xDD |0
<U0430> \x77 |0
<U0431> \x78 |0
<U0432> \xAF |0
<U0433> \x8D |0
<U0434> \x8A |0
<U0435> \x8B |0
<U0436> \xAE |0
<U0437> \xB2 |0
<U0438> \x8F |0
<U0439> \x90 |0
<U043A> \x9A |0
<U043B> \x9B |0
<U043C> \x9C |0
<U043D> \x9D |0
<U043E> \x9E |0
<U043F> \x9F |0
<U0440> \xAA |0
<U0441> \xAB |0
<U0442> \xAC |0
<U0443> \xAD |0
<U0444> \x8C |0
<U0445> \x8E |0
<U0446> \x80 |0
<U0447> \xB6 |0
<U0448> \xB3 |0
<U0449> \xB5 |0
<U044A> \xB7 |0
<U044B> \xB1 |0
<U044C> \xB0 |0
<U044D> \xB4 |0
<U044E> \x76 |0
<U044F> \xA0 |0
<U0451> \x44 |0
<U0452> \x42 |0
<U0453> \x43 |0
<U0454> \x45 |0
<U0455> \x46 |0
<U0456> \x47 |0
<U0457> \x48 |0
<U0458> \x49 |0
<U0459> \x51 |0
<U045A> \x52 |0
<U045B> \x53 |0
<U045C> \x54 |0
<U045E> \x55 |0
<U045F> \x56 |0
<U20AC> \xE1 |0
<U2116> \x58 |0
<UFF01> \x4F |1
<UFF02> \x7F |1
<UFF03> \x7B |1
<UFF04> \x5B |1
<UFF05> \x6C |1
<UFF06> \x50 |1
<UFF07> \x7D |1
<UFF08> \x4D |1
<UFF09> \x5D |1
<UFF0A> \x5C |1
<UFF0B> \x4E |1
<UFF0C> \x6B |1
<UFF0D> \x60 |1
<UFF0E> \x4B |1
<UFF0F> \x61 |1
<UFF10> \xF0 |1
<UFF11> \xF1 |1
<UFF12> \xF2 |1
<UFF13> \xF3 |1
<UFF14> \xF4 |1
<UFF15> \xF5 |1
<UFF16> \xF6 |1
<UFF17> \xF7 |1
<UFF18> \xF8 |1
<UFF19> \xF9 |1
<UFF1A> \x7A |1
<UFF1B> \x5E |1
<UFF1C> \x4C |1
<UFF1D> \x7E |1
<UFF1E> \x6E |1
<UFF1F> \x6F |1
<UFF20> \x7C |1
<UFF21> \xC1 |1
<UFF22> \xC2 |1
<UFF23> \xC3 |1
<UFF24> \xC4 |1
<UFF25> \xC5 |1
<UFF26> \xC6 |1
<UFF27> \xC7 |1
<UFF28> \xC8 |1
<UFF29> \xC9 |1
<UFF2A> \xD1 |1
<UFF2B> \xD2 |1
<UFF2C> \xD3 |1
<UFF2D> \xD4 |1
<UFF2E> \xD5 |1
<UFF2F> \xD6 |1
<UFF30> \xD7 |1
<UFF31> \xD8 |1
<UFF32> \xD9 |1
<UFF33> \xE2 |1
<UFF34> \xE3 |1
<UFF35> \xE4 |1
<UFF36> \xE5 |1
<UFF37> \xE6 |1
<UFF38> \xE7 |1
<UFF39> \xE8 |1
<UFF3A> \xE9 |1
<UFF3B> \x4A |1
<UFF3C> \xE0 |1
<UFF3D> \x5A |1
<UFF3E> \x5F |1
<UFF3F> \x6D |1
<UFF40> \x79 |1
<UFF41> \x81 |1
<UFF42> \x82 |1
<UFF43> \x83 |1
<UFF44> \x84 |1
<UFF45> \x85 |1
<UFF46> \x86 |1
<UFF47> \x87 |1
<UFF48> \x88 |1
<UFF49> \x89 |1
<UFF4A> \x91 |1
<UFF4B> \x92 |1
<UFF4C> \x93 |1
<UFF4D> \x94 |1
<UFF4E> \x95 |1
<UFF4F> \x96 |1
<UFF50> \x97 |1
<UFF51> \x98 |1
<UFF52> \x99 |1
<UFF53> \xA2 |1
<UFF54> \xA3 |1
<UFF55> \xA4 |1
<UFF56> \xA5 |1
<UFF57> \xA6 |1
<UFF58> \xA7 |1
<UFF59> \xA8 |1
<UFF5A> \xA9 |1
<UFF5B> \xC0 |1
<UFF5C> \x6A |1
<UFF5D> \xD0 |1
<UFF5E> \xA1 |1
END CHARMAP

--- NEW FILE ---
# 
*******************************************************************************
# *
# *   Copyright (C) 1995-2000, International Business Machines
# *   Corporation and others.  All Rights Reserved.
# *
# 
*******************************************************************************
#
# File created on Fri Nov 10 13:07:47 2000
#
# File created by dtcocm version 3.00
# from source files 34B00417.RPMAP100 and 041734B0.TPMAP100
#
# Table Version : 1.01
#
<code_set_name>               "IBM-1047"
<char_name_mask>              "AXXXX"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<subchar>                     \x3F
#
CHARMAP
#
#
#ISO 10646      IBM-1047
#_________      _________
<U0000> \x00 |0
<U0001> \x01 |0
<U0002> \x02 |0
<U0003> \x03 |0
<U0004> \x37 |0
<U0005> \x2D |0
<U0006> \x2E |0
<U0007> \x2F |0
<U0008> \x16 |0
<U0009> \x05 |0
<U000A> \x25 |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> \x3C |0
<U0015> \x3D |0
<U0016> \x32 |0
<U0017> \x26 |0
<U0018> \x18 |0
<U0019> \x19 |0
<U001A> \x3F |0
<U001B> \x27 |0
<U001C> \x1C |0
<U001D> \x1D |0
<U001E> \x1E |0
<U001F> \x1F |0
<U0020> \x40 |0
<U0021> \x5A |0
<U0022> \x7F |0
<U0023> \x7B |0
<U0024> \x5B |0
<U0025> \x6C |0
<U0026> \x50 |0
<U0027> \x7D |0
<U0028> \x4D |0
<U0029> \x5D |0
<U002A> \x5C |0
<U002B> \x4E |0
<U002C> \x6B |0
<U002D> \x60 |0
<U002E> \x4B |0
<U002F> \x61 |0
<U0030> \xF0 |0
<U0031> \xF1 |0
<U0032> \xF2 |0
<U0033> \xF3 |0
<U0034> \xF4 |0
<U0035> \xF5 |0
<U0036> \xF6 |0
<U0037> \xF7 |0
<U0038> \xF8 |0
<U0039> \xF9 |0
<U003A> \x7A |0
<U003B> \x5E |0
<U003C> \x4C |0
<U003D> \x7E |0
<U003E> \x6E |0
<U003F> \x6F |0
<U0040> \x7C |0
<U0041> \xC1 |0
<U0042> \xC2 |0
<U0043> \xC3 |0
<U0044> \xC4 |0
<U0045> \xC5 |0
<U0046> \xC6 |0
<U0047> \xC7 |0
<U0048> \xC8 |0
<U0049> \xC9 |0
<U004A> \xD1 |0
<U004B> \xD2 |0
<U004C> \xD3 |0
<U004D> \xD4 |0
<U004E> \xD5 |0
<U004F> \xD6 |0
<U0050> \xD7 |0
<U0051> \xD8 |0
<U0052> \xD9 |0
<U0053> \xE2 |0
<U0054> \xE3 |0
<U0055> \xE4 |0
<U0056> \xE5 |0
<U0057> \xE6 |0
<U0058> \xE7 |0
<U0059> \xE8 |0
<U005A> \xE9 |0
<U005B> \xAD |0
<U005C> \xE0 |0
<U005D> \xBD |0
<U005E> \x5F |0
<U005F> \x6D |0
<U0060> \x79 |0
<U0061> \x81 |0
<U0062> \x82 |0
<U0063> \x83 |0
<U0064> \x84 |0
<U0065> \x85 |0
<U0066> \x86 |0
<U0067> \x87 |0
<U0068> \x88 |0
<U0069> \x89 |0
<U006A> \x91 |0
<U006B> \x92 |0
<U006C> \x93 |0
<U006D> \x94 |0
<U006E> \x95 |0
<U006F> \x96 |0
<U0070> \x97 |0
<U0071> \x98 |0
<U0072> \x99 |0
<U0073> \xA2 |0
<U0074> \xA3 |0
<U0075> \xA4 |0
<U0076> \xA5 |0
<U0077> \xA6 |0
<U0078> \xA7 |0
<U0079> \xA8 |0
<U007A> \xA9 |0
<U007B> \xC0 |0
<U007C> \x4F |0
<U007D> \xD0 |0
<U007E> \xA1 |0
<U007F> \x07 |0
<U0080> \x20 |0
<U0081> \x21 |0
<U0082> \x22 |0
<U0083> \x23 |0
<U0084> \x24 |0
<U0085> \x15 |0
<U0086> \x06 |0
<U0087> \x17 |0
<U0088> \x28 |0
<U0089> \x29 |0
<U008A> \x2A |0
<U008B> \x2B |0
<U008C> \x2C |0
<U008D> \x09 |0
<U008E> \x0A |0
<U008F> \x1B |0
<U0090> \x30 |0
<U0091> \x31 |0
<U0092> \x1A |0
<U0093> \x33 |0
<U0094> \x34 |0
<U0095> \x35 |0
<U0096> \x36 |0
<U0097> \x08 |0
<U0098> \x38 |0
<U0099> \x39 |0
<U009A> \x3A |0
<U009B> \x3B |0
<U009C> \x04 |0
<U009D> \x14 |0
<U009E> \x3E |0
<U009F> \xFF |0
<U00A0> \x41 |0
<U00A1> \xAA |0
<U00A2> \x4A |0
<U00A3> \xB1 |0
<U00A5> \xB2 |0
<U00A6> \x6A |0
<U00A7> \xB5 |0
<U00A8> \xBB |0
<U00A9> \xB4 |0
<U00AA> \x9A |0
<U00AB> \x8A |0
<U00AC> \xB0 |0
<U00AD> \xCA |0
<U00AE> \xAF |0
<U00AF> \xBC |0
<U00B0> \x90 |0
<U00B1> \x8F |0
<U00B2> \xEA |0
<U00B3> \xFA |0
<U00B4> \xBE |0
<U00B5> \xA0 |0
<U00B6> \xB6 |0
<U00B7> \xB3 |0
<U00B8> \x9D |0
<U00B9> \xDA |0
<U00BA> \x9B |0
<U00BB> \x8B |0
<U00BC> \xB7 |0
<U00BD> \xB8 |0
<U00BE> \xB9 |0
<U00BF> \xAB |0
<U00C0> \x64 |0
<U00C1> \x65 |0
<U00C2> \x62 |0
<U00C3> \x66 |0
<U00C4> \x63 |0
<U00C5> \x67 |0
<U00C6> \x9E |0
<U00C7> \x68 |0
<U00C8> \x74 |0
<U00C9> \x71 |0
<U00CA> \x72 |0
<U00CB> \x73 |0
<U00CC> \x78 |0
<U00CD> \x75 |0
<U00CE> \x76 |0
<U00CF> \x77 |0
<U00D0> \xAC |0
<U00D1> \x69 |0
<U00D2> \xED |0
<U00D3> \xEE |0
<U00D4> \xEB |0
<U00D5> \xEF |0
<U00D6> \xEC |0
<U00D7> \xBF |0
<U00D8> \x80 |0
<U00D9> \xFD |0
<U00DA> \xFE |0
<U00DB> \xFB |0
<U00DC> \xFC |0
<U00DD> \xBA |0
<U00DE> \xAE |0
<U00DF> \x59 |0
<U00E0> \x44 |0
<U00E1> \x45 |0
<U00E2> \x42 |0
<U00E3> \x46 |0
<U00E4> \x43 |0
<U00E5> \x47 |0
<U00E6> \x9C |0
<U00E7> \x48 |0
<U00E8> \x54 |0
<U00E9> \x51 |0
<U00EA> \x52 |0
<U00EB> \x53 |0
<U00EC> \x58 |0
<U00ED> \x55 |0
<U00EE> \x56 |0
<U00EF> \x57 |0
<U00F0> \x8C |0
<U00F1> \x49 |0
<U00F2> \xCD |0
<U00F3> \xCE |0
<U00F4> \xCB |0
<U00F5> \xCF |0
<U00F6> \xCC |0
<U00F7> \xE1 |0
<U00F8> \x70 |0
<U00F9> \xDD |0
<U00FA> \xDE |0
<U00FB> \xDB |0
<U00FC> \xDC |0
<U00FD> \x8D |0
<U00FE> \x8E |0
<U00FF> \xDF |0
<U203E> \xBC |1
<U20AC> \x9F |1
<UFF01> \x5A |1
<UFF02> \x7F |1
<UFF03> \x7B |1
<UFF04> \x5B |1
<UFF05> \x6C |1
<UFF06> \x50 |1
<UFF07> \x7D |1
<UFF08> \x4D |1
<UFF09> \x5D |1
<UFF0A> \x5C |1
<UFF0B> \x4E |1
<UFF0C> \x6B |1
<UFF0D> \x60 |1
<UFF0E> \x4B |1
<UFF0F> \x61 |1
<UFF10> \xF0 |1
<UFF11> \xF1 |1
<UFF12> \xF2 |1
<UFF13> \xF3 |1
<UFF14> \xF4 |1
<UFF15> \xF5 |1
<UFF16> \xF6 |1
<UFF17> \xF7 |1
<UFF18> \xF8 |1
<UFF19> \xF9 |1
<UFF1A> \x7A |1
<UFF1B> \x5E |1
<UFF1C> \x4C |1
<UFF1D> \x7E |1
<UFF1E> \x6E |1
<UFF1F> \x6F |1
<UFF20> \x7C |1
<UFF21> \xC1 |1
<UFF22> \xC2 |1
<UFF23> \xC3 |1
<UFF24> \xC4 |1
<UFF25> \xC5 |1
<UFF26> \xC6 |1
<UFF27> \xC7 |1
<UFF28> \xC8 |1
<UFF29> \xC9 |1
<UFF2A> \xD1 |1
<UFF2B> \xD2 |1
<UFF2C> \xD3 |1
<UFF2D> \xD4 |1
<UFF2E> \xD5 |1
<UFF2F> \xD6 |1
<UFF30> \xD7 |1
<UFF31> \xD8 |1
<UFF32> \xD9 |1
<UFF33> \xE2 |1
<UFF34> \xE3 |1
<UFF35> \xE4 |1
<UFF36> \xE5 |1
<UFF37> \xE6 |1
<UFF38> \xE7 |1
<UFF39> \xE8 |1
<UFF3A> \xE9 |1
<UFF3B> \xAD |1
<UFF3C> \xE0 |1
<UFF3D> \xBD |1
<UFF3E> \x5F |1
<UFF3F> \x6D |1
<UFF40> \x79 |1
<UFF41> \x81 |1
<UFF42> \x82 |1
<UFF43> \x83 |1
<UFF44> \x84 |1
<UFF45> \x85 |1
<UFF46> \x86 |1
<UFF47> \x87 |1
<UFF48> \x88 |1
<UFF49> \x89 |1
<UFF4A> \x91 |1
<UFF4B> \x92 |1
<UFF4C> \x93 |1
<UFF4D> \x94 |1
<UFF4E> \x95 |1
<UFF4F> \x96 |1
<UFF50> \x97 |1
<UFF51> \x98 |1
<UFF52> \x99 |1
<UFF53> \xA2 |1
<UFF54> \xA3 |1
<UFF55> \xA4 |1
<UFF56> \xA5 |1
<UFF57> \xA6 |1
<UFF58> \xA7 |1
<UFF59> \xA8 |1
<UFF5A> \xA9 |1
<UFF5B> \xC0 |1
<UFF5C> \x4F |1
<UFF5D> \xD0 |1
<UFF5E> \xA1 |1
END CHARMAP





reply via email to

[Prev in Thread] Current Thread [Next in Thread]