diff options
Diffstat (limited to 'mcs/class/I18N')
170 files changed, 75474 insertions, 0 deletions
diff --git a/mcs/class/I18N/.cvsignore b/mcs/class/I18N/.cvsignore new file mode 100644 index 00000000000..1d613ca39bc --- /dev/null +++ b/mcs/class/I18N/.cvsignore @@ -0,0 +1,5 @@ +Makefile +Makefile.in +.deps +*.dll +I18N-handlers.def diff --git a/mcs/class/I18N/CJK/.cvsignore b/mcs/class/I18N/CJK/.cvsignore new file mode 100644 index 00000000000..0c2ee6906fa --- /dev/null +++ b/mcs/class/I18N/CJK/.cvsignore @@ -0,0 +1,4 @@ +list +.makefrag +.response +library-deps.stamp diff --git a/mcs/class/I18N/CJK/CP932.cs b/mcs/class/I18N/CJK/CP932.cs new file mode 100644 index 00000000000..1a3044a412e --- /dev/null +++ b/mcs/class/I18N/CJK/CP932.cs @@ -0,0 +1,849 @@ +/* + * CP932.cs - Japanese (Shift-JIS) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +namespace I18N.CJK +{ + +using System; +using System.Text; +using I18N.Common; + +public unsafe class CP932 : Encoding +{ + // Magic number used by Windows for the Shift-JIS code page. + private const int SHIFTJIS_CODE_PAGE = 932; + + // Internal state. + private JISConvert convert; + + // Constructor. + public CP932() : base(SHIFTJIS_CODE_PAGE) + { + // Load the JIS conversion tables. + convert = JISConvert.Convert; + } + + // Get the number of bytes needed to encode a character buffer. + public override int GetByteCount(char[] chars, int index, int count) + { + // Validate the parameters. + if(chars == null) + { + throw new ArgumentNullException("chars"); + } + if(index < 0 || index > chars.Length) + { + throw new ArgumentOutOfRangeException + ("index", Strings.GetString("ArgRange_Array")); + } + if(count < 0 || count > (chars.Length - index)) + { + throw new ArgumentOutOfRangeException + ("count", Strings.GetString("ArgRange_Array")); + } + + // Determine the length of the final output. + int length = 0; + int ch, value; +#if __PNET__ + byte *cjkToJis = convert.cjkToJis; + byte *extraToJis = convert.extraToJis; +#else + byte[] cjkToJis = convert.cjkToJis; + byte[] extraToJis = convert.extraToJis; +#endif + while(count > 0) + { + ch = chars[index++]; + --count; + ++length; + if(ch < 0x0080) + { + // Character maps to itself. + continue; + } + else if(ch < 0x0100) + { + // Check for special Latin 1 characters that + // can be mapped to double-byte code points. + if(ch == 0x00A2 || ch == 0x00A3 || ch == 0x00A7 || + ch == 0x00A8 || ch == 0x00AC || ch == 0x00B0 || + ch == 0x00B1 || ch == 0x00B4 || ch == 0x00B6 || + ch == 0x00D7 || ch == 0x00F7) + { + ++length; + } + } + else if(ch >= 0x0391 && ch <= 0x0451) + { + // Greek subset characters. + ++length; + } + else if(ch >= 0x2010 && ch <= 0x9FA5) + { + // This range contains the bulk of the CJK set. + value = (ch - 0x2010) * 2; + value = ((int)(cjkToJis[value])) | + (((int)(cjkToJis[value + 1])) << 8); + if(value >= 0x0100) + { + ++length; + } + } + else if(ch >= 0xFF01 && ch <= 0xFFEF) + { + // This range contains extra characters, + // including half-width katakana. + value = (ch - 0xFF01) * 2; + value = ((int)(extraToJis[value])) | + (((int)(extraToJis[value + 1])) << 8); + if(value >= 0x0100) + { + ++length; + } + } + } + + // Return the length to the caller. + return length; + } + + // Get the bytes that result from encoding a character buffer. + public override int GetBytes(char[] chars, int charIndex, int charCount, + byte[] bytes, int byteIndex) + { + // Validate the parameters. + if(chars == null) + { + throw new ArgumentNullException("chars"); + } + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(charIndex < 0 || charIndex > chars.Length) + { + throw new ArgumentOutOfRangeException + ("charIndex", Strings.GetString("ArgRange_Array")); + } + if(charCount < 0 || charCount > (chars.Length - charIndex)) + { + throw new ArgumentOutOfRangeException + ("charCount", Strings.GetString("ArgRange_Array")); + } + if(byteIndex < 0 || byteIndex > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("byteIndex", Strings.GetString("ArgRange_Array")); + } + + // Convert the characters into their byte form. + int posn = byteIndex; + int byteLength = bytes.Length; + int ch, value; +#if __PNET__ + byte *cjkToJis = convert.cjkToJis; + byte *greekToJis = convert.greekToJis; + byte *extraToJis = convert.extraToJis; +#else + byte[] cjkToJis = convert.cjkToJis; + byte[] greekToJis = convert.greekToJis; + byte[] extraToJis = convert.extraToJis; +#endif + while(charCount > 0) + { + ch = chars[charIndex++]; + --charCount; + if(posn >= byteLength) + { + throw new ArgumentException + (Strings.GetString("Arg_InsufficientSpace"), + "bytes"); + } + if(ch < 0x0080) + { + // Character maps to itself. + bytes[posn++] = (byte)ch; + continue; + } + else if(ch < 0x0100) + { + // Check for special Latin 1 characters that + // can be mapped to double-byte code points. + if(ch == 0x00A2 || ch == 0x00A3 || ch == 0x00A7 || + ch == 0x00A8 || ch == 0x00AC || ch == 0x00B0 || + ch == 0x00B1 || ch == 0x00B4 || ch == 0x00B6 || + ch == 0x00D7 || ch == 0x00F7) + { + if((posn + 1) >= byteLength) + { + throw new ArgumentException + (Strings.GetString + ("Arg_InsufficientSpace"), "bytes"); + } + switch(ch) + { + case 0x00A2: + bytes[posn++] = (byte)0x81; + bytes[posn++] = (byte)0x91; + break; + + case 0x00A3: + bytes[posn++] = (byte)0x81; + bytes[posn++] = (byte)0x92; + break; + + case 0x00A7: + bytes[posn++] = (byte)0x81; + bytes[posn++] = (byte)0x98; + break; + + case 0x00A8: + bytes[posn++] = (byte)0x81; + bytes[posn++] = (byte)0x4E; + break; + + case 0x00AC: + bytes[posn++] = (byte)0x81; + bytes[posn++] = (byte)0xCA; + break; + + case 0x00B0: + bytes[posn++] = (byte)0x81; + bytes[posn++] = (byte)0x8B; + break; + + case 0x00B1: + bytes[posn++] = (byte)0x81; + bytes[posn++] = (byte)0x7D; + break; + + case 0x00B4: + bytes[posn++] = (byte)0x81; + bytes[posn++] = (byte)0x4C; + break; + + case 0x00B6: + bytes[posn++] = (byte)0x81; + bytes[posn++] = (byte)0xF7; + break; + + case 0x00D7: + bytes[posn++] = (byte)0x81; + bytes[posn++] = (byte)0x7E; + break; + + case 0x00F7: + bytes[posn++] = (byte)0x81; + bytes[posn++] = (byte)0x80; + break; + } + } + else if(ch == 0x00A5) + { + // Yen sign. + bytes[posn++] = (byte)0x5C; + } + else + { + // Invalid character. + bytes[posn++] = (byte)'?'; + } + continue; + } + else if(ch >= 0x0391 && ch <= 0x0451) + { + // Greek subset characters. + value = (ch - 0x0391) * 2; + value = ((int)(greekToJis[value])) | + (((int)(greekToJis[value + 1])) << 8); + } + else if(ch >= 0x2010 && ch <= 0x9FA5) + { + // This range contains the bulk of the CJK set. + value = (ch - 0x2010) * 2; + value = ((int)(cjkToJis[value])) | + (((int)(cjkToJis[value + 1])) << 8); + } + else if(ch >= 0xFF01 && ch <= 0xFFEF) + { + // This range contains extra characters, + // including half-width katakana. + value = (ch - 0xFF01) * 2; + value = ((int)(extraToJis[value])) | + (((int)(extraToJis[value + 1])) << 8); + } + else + { + // Invalid character. + value = 0; + } + if(value == 0) + { + bytes[posn++] = (byte)'?'; + } + else if(value < 0x0100) + { + bytes[posn++] = (byte)value; + } + else if((posn + 1) >= byteLength) + { + throw new ArgumentException + (Strings.GetString("Arg_InsufficientSpace"), + "bytes"); + } + else if(value < 0x8000) + { + // JIS X 0208 character. + value -= 0x0100; + ch = (value / 0xBC); + value = (value % 0xBC) + 0x40; + if(value >= 0x7F) + { + ++value; + } + if(ch < (0x9F - 0x80)) + { + bytes[posn++] = (byte)(ch + 0x81); + } + else + { + bytes[posn++] = (byte)(ch - (0x9F - 0x80) + 0xE0); + } + bytes[posn++] = (byte)value; + } + else + { + // JIS X 0212 character, which Shift-JIS doesn't + // support, but we've already allocated two slots. + bytes[posn++] = (byte)'?'; + bytes[posn++] = (byte)'?'; + } + } + + // Return the final length to the caller. + return posn - byteIndex; + } + + // Get the number of characters needed to decode a byte buffer. + public override int GetCharCount(byte[] bytes, int index, int count) + { + // Validate the parameters. + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(index < 0 || index > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("index", Strings.GetString("ArgRange_Array")); + } + if(count < 0 || count > (bytes.Length - index)) + { + throw new ArgumentOutOfRangeException + ("count", Strings.GetString("ArgRange_Array")); + } + + // Determine the total length of the converted string. + int length = 0; + int byteval; + while(count > 0) + { + byteval = bytes[index++]; + --count; + ++length; + if(byteval < 0x80) + { + // Ordinary ASCII/Latin1 character, or the + // single-byte Yen or overline signs. + continue; + } + else if(byteval >= 0xA1 && byteval <= 0xDF) + { + // Half-width katakana. + continue; + } + else if(byteval < 0x81 || + (byteval > 0x9F && byteval < 0xE0) || + byteval > 0xEF) + { + // Invalid first byte. + continue; + } + if(count == 0) + { + // Missing second byte. + continue; + } + ++index; + --count; + } + + // Return the total length. + return length; + } + + // Get the characters that result from decoding a byte buffer. + public override int GetChars(byte[] bytes, int byteIndex, int byteCount, + char[] chars, int charIndex) + { + // Validate the parameters. + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(chars == null) + { + throw new ArgumentNullException("chars"); + } + if(byteIndex < 0 || byteIndex > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("byteIndex", Strings.GetString("ArgRange_Array")); + } + if(byteCount < 0 || byteCount > (bytes.Length - byteIndex)) + { + throw new ArgumentOutOfRangeException + ("byteCount", Strings.GetString("ArgRange_Array")); + } + if(charIndex < 0 || charIndex > chars.Length) + { + throw new ArgumentOutOfRangeException + ("charIndex", Strings.GetString("ArgRange_Array")); + } + + // Determine the total length of the converted string. + int charLength = chars.Length; + int posn = charIndex; + int length = 0; + int byteval, value; +#if __PNET__ + byte *table = convert.jisx0208ToUnicode; +#else + byte[] table = convert.jisx0208ToUnicode; +#endif + while(byteCount > 0) + { + byteval = bytes[byteIndex++]; + --byteCount; + ++length; + if(posn >= charLength) + { + throw new ArgumentException + (Strings.GetString("Arg_InsufficientSpace"), + "chars"); + } + if(byteval == 0x5C) + { + // Yen sign. + chars[posn++] = '\u00A5'; + continue; + } + else if(byteval == 0x7E) + { + // Overline symbol. + chars[posn++] = '\u203E'; + continue; + } + else if(byteval < 0x80) + { + // Ordinary ASCII/Latin1 character. + chars[posn++] = (char)byteval; + continue; + } + else if(byteval >= 0xA1 && byteval <= 0xDF) + { + // Half-width katakana. + chars[posn++] = (char)(byteval - 0xA1 + 0xFF61); + continue; + } + else if(byteval >= 0x81 && byteval <= 0x9F) + { + value = (byteval - 0x81) * 0xBC; + } + else if(byteval >= 0xE0 && byteval <= 0xEF) + { + value = (byteval - 0xE0 + (0xA0 - 0x81)) * 0xBC; + } + else + { + // Invalid first byte. + chars[posn++] = '?'; + continue; + } + if(byteCount == 0) + { + // Missing second byte. + chars[posn++] = '?'; + continue; + } + byteval = bytes[byteIndex++]; + --byteCount; + if(byteval >= 0x40 && byteval <= 0x7E) + { + value += (byteval - 0x40); + } + else if(byteval >= 0x80 && byteval <= 0xFC) + { + value += (byteval - 0x80 + 0x3F); + } + else + { + // Invalid second byte. + chars[posn++] = '?'; + continue; + } + value *= 2; + value = ((int)(table[value])) | + (((int)(table[value + 1])) << 8); + if(value != 0) + { + chars[posn++] = (char)value; + } + else + { + chars[posn++] = '?'; + } + } + + // Return the total length. + return posn - charIndex; + } + + // Get the maximum number of bytes needed to encode a + // specified number of characters. + public override int GetMaxByteCount(int charCount) + { + if(charCount < 0) + { + throw new ArgumentOutOfRangeException + ("charCount", + Strings.GetString("ArgRange_NonNegative")); + } + return charCount * 2; + } + + // Get the maximum number of characters needed to decode a + // specified number of bytes. + public override int GetMaxCharCount(int byteCount) + { + if(byteCount < 0) + { + throw new ArgumentOutOfRangeException + ("byteCount", + Strings.GetString("ArgRange_NonNegative")); + } + return byteCount; + } + + // Get a decoder that handles a rolling Shift-JIS state. + public override Decoder GetDecoder() + { + return new CP932Decoder(convert); + } + +#if !ECMA_COMPAT + + // Get the mail body name for this encoding. + public override String BodyName + { + get + { + return "iso-2022-jp"; + } + } + + // Get the human-readable name for this encoding. + public override String EncodingName + { + get + { + return "Japanese (Shift-JIS)"; + } + } + + // Get the mail agent header name for this encoding. + public override String HeaderName + { + get + { + return "iso-2022-jp"; + } + } + + // Determine if this encoding can be displayed in a Web browser. + public override bool IsBrowserDisplay + { + get + { + return true; + } + } + + // Determine if this encoding can be saved from a Web browser. + public override bool IsBrowserSave + { + get + { + return true; + } + } + + // Determine if this encoding can be displayed in a mail/news agent. + public override bool IsMailNewsDisplay + { + get + { + return true; + } + } + + // Determine if this encoding can be saved from a mail/news agent. + public override bool IsMailNewsSave + { + get + { + return true; + } + } + + // Get the IANA-preferred Web name for this encoding. + public override String WebName + { + get + { + return "shift_jis"; + } + } + + // Get the Windows code page represented by this object. + public override int WindowsCodePage + { + get + { + return SHIFTJIS_CODE_PAGE; + } + } + +#endif // !ECMA_COMPAT + + // Decoder that handles a rolling Shift-JIS state. + private sealed class CP932Decoder : Decoder + { + private JISConvert convert; + private int lastByte; + + // Constructor. + public CP932Decoder(JISConvert convert) + { + this.convert = convert; + this.lastByte = 0; + } + + // Override inherited methods. + public override int GetCharCount(byte[] bytes, int index, int count) + { + // Validate the parameters. + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(index < 0 || index > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("index", Strings.GetString("ArgRange_Array")); + } + if(count < 0 || count > (bytes.Length - index)) + { + throw new ArgumentOutOfRangeException + ("count", Strings.GetString("ArgRange_Array")); + } + + // Determine the total length of the converted string. + int length = 0; + int byteval; + int last = lastByte; + while(count > 0) + { + byteval = bytes[index++]; + --count; + if(last == 0) + { + if((byteval >= 0x81 && byteval <= 0x9F) || + (byteval >= 0xE0 && byteval <= 0xEF)) + { + // First byte in a double-byte sequence. + last = byteval; + } + ++length; + } + else + { + // Second byte in a double-byte sequence. + last = 0; + } + } + + // Return the total length. + return length; + } + public override int GetChars(byte[] bytes, int byteIndex, + int byteCount, char[] chars, + int charIndex) + { + // Validate the parameters. + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(chars == null) + { + throw new ArgumentNullException("chars"); + } + if(byteIndex < 0 || byteIndex > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("byteIndex", Strings.GetString("ArgRange_Array")); + } + if(byteCount < 0 || byteCount > (bytes.Length - byteIndex)) + { + throw new ArgumentOutOfRangeException + ("byteCount", Strings.GetString("ArgRange_Array")); + } + if(charIndex < 0 || charIndex > chars.Length) + { + throw new ArgumentOutOfRangeException + ("charIndex", Strings.GetString("ArgRange_Array")); + } + + // Decode the bytes in the buffer. + int posn = charIndex; + int charLength = chars.Length; + int byteval, value; + int last = lastByte; +#if __PNET__ + byte *table = convert.jisx0208ToUnicode; +#else + byte[] table = convert.jisx0208ToUnicode; +#endif + while(byteCount > 0) + { + byteval = bytes[byteIndex++]; + --byteCount; + if(last == 0) + { + if(posn >= charLength) + { + throw new ArgumentException + (Strings.GetString + ("Arg_InsufficientSpace"), "chars"); + } + if((byteval >= 0x81 && byteval <= 0x9F) || + (byteval >= 0xE0 && byteval <= 0xEF)) + { + // First byte in a double-byte sequence. + last = byteval; + } + else if(byteval == 0x5C) + { + // Yen sign. + chars[posn++] ='\u00A5'; + } + else if(byteval == 0x7E) + { + // Overline symbol. + chars[posn++] ='\u203E'; + } + else if(byteval < 0x80) + { + // Ordinary ASCII/Latin1 character. + chars[posn++] = (char)byteval; + } + else if(byteval >= 0xA1 && byteval <= 0xDF) + { + // Half-width katakana character. + chars[posn++] = (char)(byteval - 0xA1 + 0xFF61); + } + else + { + // Invalid first byte. + chars[posn++] = '?'; + } + } + else + { + // Second byte in a double-byte sequence. + if(last >= 0x81 && last <= 0x9F) + { + value = (last - 0x81) * 0xBC; + } + else + { + value = (last - 0xE0 + (0xA0 - 0x81)) * 0xBC; + } + last = 0; + if(byteval >= 0x40 && byteval <= 0x7E) + { + value += (byteval - 0x40); + } + else if(byteval >= 0x80 && byteval <= 0xFC) + { + value += (byteval - 0x80 + 0x3F); + } + else + { + // Invalid second byte. + chars[posn++] = '?'; + continue; + } + value *= 2; + value = ((int)(table[value])) | + (((int)(table[value + 1])) << 8); + if(value != 0) + { + chars[posn++] = (char)value; + } + else + { + chars[posn++] = '?'; + } + } + } + lastByte = last; + + // Return the final length to the caller. + return posn - charIndex; + } + + } // class CP932Decoder + +}; // class CP932 + +public class ENCshift_jis : CP932 +{ + public ENCshift_jis() : base() {} + +}; // class ENCshift_jis + +}; // namespace I18N.CJK diff --git a/mcs/class/I18N/CJK/CodeTable.cs b/mcs/class/I18N/CJK/CodeTable.cs new file mode 100644 index 00000000000..2f766f59cbe --- /dev/null +++ b/mcs/class/I18N/CJK/CodeTable.cs @@ -0,0 +1,143 @@ +/* + * CodeTable.cs - Implementation of the "System.Text.CodeTable" class. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +namespace I18N.CJK +{ + +using System; +using System.IO; +using System.Reflection; +using System.Runtime.CompilerServices; +using I18N.Common; + +// This class assists encoding classes for the large CJK character +// sets by providing pointer access to table data in the resource +// section of the current assembly. +// +// Code tables are named by their resource (e.g. "jis.table") and +// contain one or more sections. Each section has an 8-byte header, +// consisting of a 32-bit section number and a 32-bit section length. +// The alignment of the data in the table is not guaranteed. + +internal unsafe sealed class CodeTable : IDisposable +{ + // Internal state. + private Stream stream; + + // Load a code table from the resource section of this assembly. + public CodeTable(String name) + { + stream = (Assembly.GetExecutingAssembly() + .GetManifestResourceStream(name)); + if(stream == null) + { + throw new NotSupportedException + (String.Format + (Strings.GetString("NotSupp_MissingCodeTable"), + name)); + } + } + + // Implement the IDisposable interface. + public void Dispose() + { + if(stream != null) + { + stream.Close(); + stream = null; + } + } + + // Get the starting address for a particular section within + // the code table. This address is guaranteed to persist + // after "Dispose" is called. +#if __PNET__ + public byte *GetSection(int num) +#else + public byte[] GetSection(int num) +#endif + { + // If the table has been disposed, then bail out. + if(stream == null) + { + return null; + } + + // Scan through the stream looking for the section. + long posn = 0; + long length = stream.Length; + byte[] header = new byte [8]; + int sectNum, sectLen; + while((posn + 8) <= length) + { + // Read the next header block. + stream.Position = posn; + if(stream.Read(header, 0, 8) != 8) + { + break; + } + + // Decode the fields in the header block. + sectNum = ((int)(header[0])) | + (((int)(header[1])) << 8) | + (((int)(header[2])) << 16) | + (((int)(header[3])) << 24); + sectLen = ((int)(header[4])) | + (((int)(header[5])) << 8) | + (((int)(header[6])) << 16) | + (((int)(header[7])) << 24); + + // Is this the section we are looking for? + if(sectNum == num) + { +#if __PNET__ + return GetAddress(stream, posn + 8); +#else + byte[] buf = new byte [sectLen]; + if(stream.Read(buf, 0, sectLen) != sectLen) + { + break; + } + return buf; +#endif + } + + // Advance to the next section. + posn += 8 + sectLen; + } + + // We were unable to find the requested section. + return null; + } + +#if __PNET__ + // Back door access into the engine to get the address of + // an offset within a manifest resource stream. + [MethodImpl(MethodImplOptions.InternalCall)] + extern private static byte *GetAddress(Stream stream, long position); +#endif + +}; // class CodeTable + +}; // namespace I18N.CJK diff --git a/mcs/class/I18N/CJK/JISConvert.cs b/mcs/class/I18N/CJK/JISConvert.cs new file mode 100644 index 00000000000..17191f8a15e --- /dev/null +++ b/mcs/class/I18N/CJK/JISConvert.cs @@ -0,0 +1,97 @@ +/* + * JISConvert.cs - Implementation of the "System.Text.JISConvert" class. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +namespace I18N.CJK +{ + +using System; + +// This class assists other encoding classes in converting back +// and forth between JIS character sets and Unicode. It uses +// several large tables to do this, some of which are stored in +// the resource section of the assembly for efficient access. + +internal unsafe sealed class JISConvert +{ + // Table identifiers. + private const int JISX0208_To_Unicode = 1; + private const int JISX0212_To_Unicode = 2; + private const int CJK_To_JIS = 3; + private const int Greek_To_JIS = 4; + private const int Extra_To_JIS = 5; + + // Public access to the conversion tables. +#if __PNET__ + public byte *jisx0208ToUnicode; + public byte *jisx0212ToUnicode; + public byte *cjkToJis; + public byte *greekToJis; + public byte *extraToJis; +#else + public byte[] jisx0208ToUnicode; + public byte[] jisx0212ToUnicode; + public byte[] cjkToJis; + public byte[] greekToJis; + public byte[] extraToJis; +#endif + + // Constructor. + private JISConvert() + { + // Load the conversion tables. + CodeTable table = new CodeTable("jis.table"); + jisx0208ToUnicode = table.GetSection(JISX0208_To_Unicode); + jisx0212ToUnicode = table.GetSection(JISX0212_To_Unicode); + cjkToJis = table.GetSection(CJK_To_JIS); + greekToJis = table.GetSection(Greek_To_JIS); + extraToJis = table.GetSection(Extra_To_JIS); + table.Dispose(); + } + + // The one and only JIS conversion object in the system. + private static JISConvert convert; + + // Get the primary JIS conversion object. + public static JISConvert Convert + { + get + { + lock(typeof(JISConvert)) + { + if(convert != null) + { + return convert; + } + else + { + convert = new JISConvert(); + return convert; + } + } + } + } + +}; // class JISConvert + +}; // namespace I18N.CJK diff --git a/mcs/class/I18N/CJK/jis.table b/mcs/class/I18N/CJK/jis.table Binary files differnew file mode 100644 index 00000000000..80a6f78f46d --- /dev/null +++ b/mcs/class/I18N/CJK/jis.table diff --git a/mcs/class/I18N/CJK/list.unix b/mcs/class/I18N/CJK/list.unix new file mode 100755 index 00000000000..8713b3ebdf1 --- /dev/null +++ b/mcs/class/I18N/CJK/list.unix @@ -0,0 +1,3 @@ +CP932.cs +CodeTable.cs +JISConvert.cs diff --git a/mcs/class/I18N/CJK/makefile.gnu b/mcs/class/I18N/CJK/makefile.gnu new file mode 100755 index 00000000000..917db24bcac --- /dev/null +++ b/mcs/class/I18N/CJK/makefile.gnu @@ -0,0 +1,13 @@ +topdir = ../../.. + +LIBRARY = $(topdir)/class/lib/I18N.CJK.dll + +LIB_LIST = list.unix +LIB_FLAGS = --unsafe --resource jis.table -r corlib -r mscorlib -r I18N + +SOURCES_INCLUDE=*.cs +SOURCES_EXCLUDE= + +export MONO_PATH_PREFIX = $(topdir)/class/lib: + +include $(topdir)/class/library.make diff --git a/mcs/class/I18N/Common/.cvsignore b/mcs/class/I18N/Common/.cvsignore new file mode 100644 index 00000000000..0c2ee6906fa --- /dev/null +++ b/mcs/class/I18N/Common/.cvsignore @@ -0,0 +1,4 @@ +list +.makefrag +.response +library-deps.stamp diff --git a/mcs/class/I18N/Common/ByteEncoding.cs b/mcs/class/I18N/Common/ByteEncoding.cs new file mode 100644 index 00000000000..9ea1ef2b01d --- /dev/null +++ b/mcs/class/I18N/Common/ByteEncoding.cs @@ -0,0 +1,401 @@ +/* + * ByteEncoding.cs - Implementation of the "I18N.Common.ByteEncoding" class. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +namespace I18N.Common +{ + +using System; +using System.Text; + +// This class provides an abstract base for encodings that use a single +// byte per character. The bulk of the work is done in this class, with +// subclasses providing implementations of the "ToBytes" methods to perform +// the char->byte conversion. + +public abstract class ByteEncoding : Encoding +{ + // Internal state. + protected char[] toChars; + protected String encodingName; + protected String bodyName; + protected String headerName; + protected String webName; + protected bool isBrowserDisplay; + protected bool isBrowserSave; + protected bool isMailNewsDisplay; + protected bool isMailNewsSave; + protected int windowsCodePage; + + // Constructor. + protected ByteEncoding(int codePage, char[] toChars, + String encodingName, String bodyName, + String headerName, String webName, + bool isBrowserDisplay, bool isBrowserSave, + bool isMailNewsDisplay, bool isMailNewsSave, + int windowsCodePage) + : base(codePage) + { + this.toChars = toChars; + this.encodingName = encodingName; + this.bodyName = bodyName; + this.headerName = headerName; + this.webName = webName; + this.isBrowserDisplay = isBrowserDisplay; + this.isBrowserSave = isBrowserSave; + this.isMailNewsDisplay = isMailNewsDisplay; + this.isMailNewsSave = isMailNewsSave; + this.windowsCodePage = windowsCodePage; + } + + // Get the number of bytes needed to encode a character buffer. + public override int GetByteCount(char[] chars, int index, int count) + { + if(chars == null) + { + throw new ArgumentNullException("chars"); + } + if(index < 0 || index > chars.Length) + { + throw new ArgumentOutOfRangeException + ("index", Strings.GetString("ArgRange_Array")); + } + if(count < 0 || count > (chars.Length - index)) + { + throw new ArgumentOutOfRangeException + ("count", Strings.GetString("ArgRange_Array")); + } + return count; + } + + // Convenience wrappers for "GetByteCount". + public override int GetByteCount(String s) + { + if(s == null) + { + throw new ArgumentNullException("s"); + } + return s.Length; + } + + // Convert an array of characters into a byte buffer, + // once the parameters have been validated. + protected abstract void ToBytes(char[] chars, int charIndex, int charCount, + byte[] bytes, int byteIndex); + + // Convert a string into a byte buffer, once the parameters + // have been validated. + protected abstract void ToBytes(String s, int charIndex, int charCount, + byte[] bytes, int byteIndex); + + // Get the bytes that result from encoding a character buffer. + public override int GetBytes(char[] chars, int charIndex, int charCount, + byte[] bytes, int byteIndex) + { + if(chars == null) + { + throw new ArgumentNullException("chars"); + } + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(charIndex < 0 || charIndex > chars.Length) + { + throw new ArgumentOutOfRangeException + ("charIndex", Strings.GetString("ArgRange_Array")); + } + if(charCount < 0 || charCount > (chars.Length - charIndex)) + { + throw new ArgumentOutOfRangeException + ("charCount", Strings.GetString("ArgRange_Array")); + } + if(byteIndex < 0 || byteIndex > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("byteIndex", Strings.GetString("ArgRange_Array")); + } + if((bytes.Length - byteIndex) < charCount) + { + throw new ArgumentException + (Strings.GetString("Arg_InsufficientSpace")); + } + ToBytes(chars, charIndex, charCount, bytes, byteIndex); + return charCount; + } + + // Convenience wrappers for "GetBytes". + public override int GetBytes(String s, int charIndex, int charCount, + byte[] bytes, int byteIndex) + { + if(s == null) + { + throw new ArgumentNullException("s"); + } + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(charIndex < 0 || charIndex > s.Length) + { + throw new ArgumentOutOfRangeException + ("charIndex", + Strings.GetString("ArgRange_StringIndex")); + } + if(charCount < 0 || charCount > (s.Length - charIndex)) + { + throw new ArgumentOutOfRangeException + ("charCount", + Strings.GetString("ArgRange_StringRange")); + } + if(byteIndex < 0 || byteIndex > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("byteIndex", Strings.GetString("ArgRange_Array")); + } + if((bytes.Length - byteIndex) < charCount) + { + throw new ArgumentException + (Strings.GetString("Arg_InsufficientSpace")); + } + ToBytes(s, charIndex, charCount, bytes, byteIndex); + return charCount; + } + + // Get the number of characters needed to decode a byte buffer. + public override int GetCharCount(byte[] bytes, int index, int count) + { + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(index < 0 || index > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("index", Strings.GetString("ArgRange_Array")); + } + if(count < 0 || count > (bytes.Length - index)) + { + throw new ArgumentOutOfRangeException + ("count", Strings.GetString("ArgRange_Array")); + } + return count; + } + + // Get the characters that result from decoding a byte buffer. + public override int GetChars(byte[] bytes, int byteIndex, int byteCount, + char[] chars, int charIndex) + { + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(chars == null) + { + throw new ArgumentNullException("chars"); + } + if(byteIndex < 0 || byteIndex > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("byteIndex", Strings.GetString("ArgRange_Array")); + } + if(byteCount < 0 || byteCount > (bytes.Length - byteIndex)) + { + throw new ArgumentOutOfRangeException + ("byteCount", Strings.GetString("ArgRange_Array")); + } + if(charIndex < 0 || charIndex > chars.Length) + { + throw new ArgumentOutOfRangeException + ("charIndex", Strings.GetString("ArgRange_Array")); + } + if((chars.Length - charIndex) < byteCount) + { + throw new ArgumentException + (Strings.GetString("Arg_InsufficientSpace")); + } + int count = byteCount; + char[] cvt = toChars; + while(count-- > 0) + { + chars[charIndex++] = cvt[(int)(bytes[byteIndex++])]; + } + return byteCount; + } + + // Get the maximum number of bytes needed to encode a + // specified number of characters. + public override int GetMaxByteCount(int charCount) + { + if(charCount < 0) + { + throw new ArgumentOutOfRangeException + ("charCount", + Strings.GetString("ArgRange_NonNegative")); + } + return charCount; + } + + // Get the maximum number of characters needed to decode a + // specified number of bytes. + public override int GetMaxCharCount(int byteCount) + { + if(byteCount < 0) + { + throw new ArgumentOutOfRangeException + ("byteCount", + Strings.GetString("ArgRange_NonNegative")); + } + return byteCount; + } + + // Decode a buffer of bytes into a string. + public override String GetString(byte[] bytes, int index, int count) + { + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(index < 0 || index > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("index", Strings.GetString("ArgRange_Array")); + } + if(count < 0 || count > (bytes.Length - index)) + { + throw new ArgumentOutOfRangeException + ("count", Strings.GetString("ArgRange_Array")); + } + StringBuilder s = new StringBuilder(); + char[] cvt = toChars; + while(count-- > 0) + { + s.Append(cvt[(int)(bytes[index++])]); + } + return s.ToString(); + } + public override String GetString(byte[] bytes) + { + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + int count = bytes.Length; + int posn = 0; + StringBuilder s = new StringBuilder(); + char[] cvt = toChars; + while(count-- > 0) + { + s.Append(cvt[(int)(bytes[posn++])]); + } + return s.ToString(); + } + +#if !ECMA_COMPAT + + // Get the mail body name for this encoding. + public override String BodyName + { + get + { + return bodyName; + } + } + + // Get the human-readable name for this encoding. + public override String EncodingName + { + get + { + return encodingName; + } + } + + // Get the mail agent header name for this encoding. + public override String HeaderName + { + get + { + return headerName; + } + } + + // Determine if this encoding can be displayed in a Web browser. + public override bool IsBrowserDisplay + { + get + { + return isBrowserDisplay; + } + } + + // Determine if this encoding can be saved from a Web browser. + public override bool IsBrowserSave + { + get + { + return isBrowserSave; + } + } + + // Determine if this encoding can be displayed in a mail/news agent. + public override bool IsMailNewsDisplay + { + get + { + return isMailNewsDisplay; + } + } + + // Determine if this encoding can be saved from a mail/news agent. + public override bool IsMailNewsSave + { + get + { + return isMailNewsSave; + } + } + + // Get the IANA-preferred Web name for this encoding. + public override String WebName + { + get + { + return webName; + } + } + + // Get the Windows code page represented by this object. + public override int WindowsCodePage + { + get + { + return windowsCodePage; + } + } + +#endif // !ECMA_COMPAT + +}; // class ByteEncoding + +}; // namespace I18N.Encoding diff --git a/mcs/class/I18N/Common/Handlers.cs b/mcs/class/I18N/Common/Handlers.cs new file mode 100644 index 00000000000..89ede0c69c0 --- /dev/null +++ b/mcs/class/I18N/Common/Handlers.cs @@ -0,0 +1,198 @@ +/* + * Handlers.cs - Implementation of the "I18N.Common.Handlers" class. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +namespace I18N.Common +{ + +using System; + +// This class provides an internal list of handlers, for runtime +// engines that do not implement the altered "GetFile" semantics. +// The list must be kept up to date manually. + +public sealed class Handlers +{ + public static readonly String[] List = { + "I18N.CJK.CP932", + "I18N.CJK.ENCshift_jis", + "I18N.MidEast.CP1254", + "I18N.MidEast.ENCwindows_1254", + "I18N.MidEast.CP1255", + "I18N.MidEast.ENCwindows_1255", + "I18N.MidEast.CP1256", + "I18N.MidEast.ENCwindows_1256", + "I18N.MidEast.CP28596", + "I18N.MidEast.ENCiso_8859_6", + "I18N.MidEast.CP28598", + "I18N.MidEast.ENCiso_8859_8", + "I18N.MidEast.CP28599", + "I18N.MidEast.ENCiso_8859_9", + "I18N.MidEast.CP38598", + "I18N.MidEast.ENCwindows_38598", + "I18N.Other.CP1251", + "I18N.Other.ENCwindows_1251", + "I18N.Other.CP1257", + "I18N.Other.ENCwindows_1257", + "I18N.Other.CP1258", + "I18N.Other.ENCwindows_1258", + "I18N.Other.CP20866", + "I18N.Other.ENCkoi8_r", + "I18N.Other.CP21866", + "I18N.Other.ENCkoi8_u", + "I18N.Other.CP28594", + "I18N.Other.ENCiso_8859_4", + "I18N.Other.CP28595", + "I18N.Other.ENCiso_8859_5", + "I18N.Other.ISCIIEncoding", + "I18N.Other.CP57002", + "I18N.Other.CP57003", + "I18N.Other.CP57004", + "I18N.Other.CP57005", + "I18N.Other.CP57006", + "I18N.Other.CP57007", + "I18N.Other.CP57008", + "I18N.Other.CP57009", + "I18N.Other.CP57010", + "I18N.Other.CP57011", + "I18N.Other.ENCx_iscii_de", + "I18N.Other.ENCx_iscii_be", + "I18N.Other.ENCx_iscii_ta", + "I18N.Other.ENCx_iscii_te", + "I18N.Other.ENCx_iscii_as", + "I18N.Other.ENCx_iscii_or", + "I18N.Other.ENCx_iscii_ka", + "I18N.Other.ENCx_iscii_ma", + "I18N.Other.ENCx_iscii_gu", + "I18N.Other.ENCx_iscii_pa", + "I18N.Other.CP874", + "I18N.Other.ENCwindows_874", + "I18N.Rare.CP1026", + "I18N.Rare.ENCibm1026", + "I18N.Rare.CP1047", + "I18N.Rare.ENCibm1047", + "I18N.Rare.CP1140", + "I18N.Rare.ENCibm01140", + "I18N.Rare.CP1141", + "I18N.Rare.ENCibm01141", + "I18N.Rare.CP1142", + "I18N.Rare.ENCibm01142", + "I18N.Rare.CP1143", + "I18N.Rare.ENCibm01143", + "I18N.Rare.CP1144", + "I18N.Rare.ENCibm1144", + "I18N.Rare.CP1145", + "I18N.Rare.ENCibm1145", + "I18N.Rare.CP1146", + "I18N.Rare.ENCibm1146", + "I18N.Rare.CP1147", + "I18N.Rare.ENCibm1147", + "I18N.Rare.CP1148", + "I18N.Rare.ENCibm1148", + "I18N.Rare.CP1149", + "I18N.Rare.ENCibm1149", + "I18N.Rare.CP20273", + "I18N.Rare.ENCibm273", + "I18N.Rare.CP20277", + "I18N.Rare.ENCibm277", + "I18N.Rare.CP20278", + "I18N.Rare.ENCibm278", + "I18N.Rare.CP20280", + "I18N.Rare.ENCibm280", + "I18N.Rare.CP20284", + "I18N.Rare.ENCibm284", + "I18N.Rare.CP20285", + "I18N.Rare.ENCibm285", + "I18N.Rare.CP20290", + "I18N.Rare.ENCibm290", + "I18N.Rare.CP20297", + "I18N.Rare.ENCibm297", + "I18N.Rare.CP20420", + "I18N.Rare.ENCibm420", + "I18N.Rare.CP20424", + "I18N.Rare.ENCibm424", + "I18N.Rare.CP20871", + "I18N.Rare.ENCibm871", + "I18N.Rare.CP21025", + "I18N.Rare.ENCibm1025", + "I18N.Rare.CP37", + "I18N.Rare.ENCibm037", + "I18N.Rare.CP500", + "I18N.Rare.ENCibm500", + "I18N.Rare.CP708", + "I18N.Rare.ENCasmo_708", + "I18N.Rare.CP852", + "I18N.Rare.ENCibm852", + "I18N.Rare.CP855", + "I18N.Rare.ENCibm855", + "I18N.Rare.CP857", + "I18N.Rare.ENCibm857", + "I18N.Rare.CP858", + "I18N.Rare.ENCibm00858", + "I18N.Rare.CP862", + "I18N.Rare.ENCibm862", + "I18N.Rare.CP864", + "I18N.Rare.ENCibm864", + "I18N.Rare.CP866", + "I18N.Rare.ENCibm866", + "I18N.Rare.CP869", + "I18N.Rare.ENCibm869", + "I18N.Rare.CP870", + "I18N.Rare.ENCibm870", + "I18N.Rare.CP875", + "I18N.Rare.ENCibm875", + "I18N.West.CP10000", + "I18N.West.ENCmacintosh", + "I18N.West.CP10079", + "I18N.West.ENCx_mac_icelandic", + "I18N.West.CP1250", + "I18N.West.ENCwindows_1250", + "I18N.West.CP1252", + "I18N.West.ENCwindows_1252", + "I18N.West.CP1253", + "I18N.West.ENCwindows_1253", + "I18N.West.CP28592", + "I18N.West.ENCiso_8859_2", + "I18N.West.CP28593", + "I18N.West.ENCiso_8859_3", + "I18N.West.CP28597", + "I18N.West.ENCiso_8859_7", + "I18N.West.CP28605", + "I18N.West.ENCiso_8859_15", + "I18N.West.CP437", + "I18N.West.ENCibm437", + "I18N.West.CP850", + "I18N.West.ENCibm850", + "I18N.West.CP860", + "I18N.West.ENCibm860", + "I18N.West.CP861", + "I18N.West.ENCibm861", + "I18N.West.CP863", + "I18N.West.ENCibm863", + "I18N.West.CP865", + "I18N.West.ENCibm865" + }; + +}; // class Handlers + +}; // namespace I18N.Common diff --git a/mcs/class/I18N/Common/Manager.cs b/mcs/class/I18N/Common/Manager.cs new file mode 100644 index 00000000000..6cf4fde14d8 --- /dev/null +++ b/mcs/class/I18N/Common/Manager.cs @@ -0,0 +1,342 @@ +/* + * Manager.cs - Implementation of the "I18N.Common.Manager" class. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +namespace I18N.Common +{ + +using System; +using System.IO; +using System.Text; +using System.Globalization; +using System.Collections; +using System.Reflection; +using System.Security; + +// This class provides the primary entry point into the I18N +// library. Users of the library start by getting the value +// of the "PrimaryManager" property. They then invoke methods +// on the manager to obtain further I18N information. + +public class Manager +{ + // The primary I18N manager. + private static Manager manager; + + // Internal state. + private Hashtable handlers; // List of all handler classes. + private Hashtable active; // Currently active handlers. + private Hashtable assemblies; // Currently loaded region assemblies. + + // Constructor. + private Manager() + { + handlers = new Hashtable (CaseInsensitiveHashCodeProvider.Default, + CaseInsensitiveComparer.Default); + active = new Hashtable(16); + assemblies = new Hashtable(8); + LoadClassList(); + } + + // Get the primary I18N manager instance. + public static Manager PrimaryManager + { + get + { + lock(typeof(Manager)) + { + if(manager == null) + { + manager = new Manager(); + } + return manager; + } + } + } + + // Normalize a name. + private static String Normalize(String name) + { + #if ECMA_COMPAT + return (name.ToLower()).Replace('-', '_'); + #else + return (name.ToLower(CultureInfo.InvariantCulture)) + .Replace('-', '_'); + #endif + } + + // Get an encoding object for a specific code page. + // Returns NULL if the code page is not available. + public Encoding GetEncoding(int codePage) + { + return (Instantiate("CP" + codePage.ToString()) as Encoding); + } + + // Get an encoding object for a specific Web encoding. + // Returns NULL if the encoding is not available. + public Encoding GetEncoding(String name) + { + // Validate the parameter. + if(name == null) + { + return null; + } + + // Normalize the encoding name. + name = Normalize(name); + + // Try to find a class called "ENCname". + Encoding e = Instantiate ("ENC" + name) as Encoding; + if (e == null) + e = Instantiate (name) as Encoding; + + return e; + } + + // List of hex digits for use by "GetCulture". + private const String hex = "0123456789abcdef"; + + // Get a specific culture by identifier. Returns NULL + // if the culture information is not available. + public CultureInfo GetCulture(int culture, bool useUserOverride) + { + // Create the hex version of the culture identifier. + StringBuilder builder = new StringBuilder(); + builder.Append(hex[(culture >> 12) & 0x0F]); + builder.Append(hex[(culture >> 8) & 0x0F]); + builder.Append(hex[(culture >> 4) & 0x0F]); + builder.Append(hex[culture & 0x0F]); + String name = builder.ToString(); + + // Try looking for an override culture handler. + if(useUserOverride) + { + Object obj = Instantiate("CIDO" + name); + if(obj != null) + { + return (obj as CultureInfo); + } + } + + // Look for the generic non-override culture. + return (Instantiate("CID" + name) as CultureInfo); + } + + // Get a specific culture by name. Returns NULL if the + // culture informaion is not available. + public CultureInfo GetCulture(String name, bool useUserOverride) + { + // Validate the parameter. + if(name == null) + { + return null; + } + + // Normalize the culture name. + name = Normalize(name); + + // Try looking for an override culture handler. + if(useUserOverride) + { + Object obj = Instantiate("CNO" + name.ToString()); + if(obj != null) + { + return (obj as CultureInfo); + } + } + + // Look for the generic non-override culture. + return (Instantiate("CN" + name.ToString()) as CultureInfo); + } + + // Instantiate a handler class. Returns null if it is not + // possible to instantiate the class. + internal Object Instantiate(String name) + { + Object handler; + String region; + Assembly assembly; + Type type; + + lock(this) + { + // See if we already have an active handler by this name. + handler = active[name]; + if(handler != null) + { + return handler; + } + + // Determine which region assembly handles the class. + region = (String)(handlers[name]); + if(region == null) + { + // The class does not exist in any region assembly. + return null; + } + + // Find the region-specific assembly and load it. + assembly = (Assembly)(assemblies[region]); + if(assembly == null) + { + try + { + assembly = Assembly.Load(region); + } + catch(SystemException) + { + assembly = null; + } + if(assembly == null) + { + return null; + } + assemblies[region] = assembly; + } + + // Look for the class within the region-specific assembly. + type = assembly.GetType(region + "." + name, false, true); + if(type == null) + { + return null; + } + + // Invoke the constructor, which we assume is public + // and has zero arguments. + try + { + handler = type.InvokeMember + (String.Empty, + BindingFlags.CreateInstance | + BindingFlags.Public | + BindingFlags.NonPublic | + BindingFlags.Instance, + null, null, null, null, null, null); + } + catch(MissingMethodException) + { + // The constructor was not present. + return null; + } + catch(SecurityException) + { + // The constructor was inaccessible. + return null; + } + + // Add the handler to the active handlers cache. + active.Add(name, handler); + + // Return the handler to the caller. + return handler; + } + } + + // Load the list of classes that are present in all region assemblies. + private void LoadClassList() + { + FileStream stream; + + // Look for "I18N-handlers.def" in the same directory + // as this assembly. Note: this assumes that the + // "Assembly.GetFile" method can access files that + // aren't explicitly part of the assembly manifest. + // + // This is necessary because the "I18N-handlers.def" + // file is generated after the "i18n" assembly is + // compiled and linked. So it cannot be embedded + // directly into the assembly manifest. + try + { + stream = Assembly.GetExecutingAssembly() + .GetFile("I18N-handlers.def"); + if(stream == null) + { + LoadInternalClasses(); + return; + } + } + catch(FileLoadException) + { + // The file does not exist, or the runtime engine + // refuses to implement the necessary semantics. + // Fall back to an internal list, which must be + // kept up to date manually. + LoadInternalClasses(); + return; + } + + // Load the class list from the stream. + StreamReader reader = new StreamReader(stream); + String line; + int posn; + while((line = reader.ReadLine()) != null) + { + // Skip comment lines in the input. + if(line.Length == 0 || line[0] == '#') + { + continue; + } + + // Split the line into namespace and name. We assume + // that the line has the form "I18N.<Region>.<Name>". + posn = line.LastIndexOf('.'); + if(posn != -1) + { + // Add the namespace to the "handlers" hash, + // attached to the name of the handler class. + String name = line.Substring(posn + 1); + if(!handlers.Contains(name)) + { + handlers.Add(name, line.Substring(0, posn)); + } + } + } + reader.Close(); + } + + // Load the list of classes from the internal list. + private void LoadInternalClasses() + { + int posn; + foreach(String line in Handlers.List) + { + // Split the line into namespace and name. We assume + // that the line has the form "I18N.<Region>.<Name>". + posn = line.LastIndexOf('.'); + if(posn != -1) + { + // Add the namespace to the "handlers" hash, + // attached to the name of the handler class. + String name = line.Substring(posn + 1); + if(!handlers.Contains(name)) + { + handlers.Add(name, line.Substring(0, posn)); + } + } + } + } + +}; // class Manager + +}; // namespace I18N.Common diff --git a/mcs/class/I18N/Common/Strings.cs b/mcs/class/I18N/Common/Strings.cs new file mode 100644 index 00000000000..97be16676f7 --- /dev/null +++ b/mcs/class/I18N/Common/Strings.cs @@ -0,0 +1,56 @@ +/* + * Strings.cs - Implementation of the "I18N.Common.Strings" class. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +namespace I18N.Common +{ + +using System; +using System.Reflection; +using System.Resources; + +// This class provides string resource support to the rest +// of the I18N library assemblies. + +public sealed class Strings +{ + // Cached copy of the resources for this assembly. + private static ResourceManager resources = null; + + // Helper for obtaining string resources for this assembly. + public static String GetString(String tag) + { + lock(typeof(Strings)) + { + if(resources == null) + { + resources = new ResourceManager + ("I18N", Assembly.GetExecutingAssembly()); + } + return resources.GetString(tag, null); + } + } + +}; // class Strings + +}; // namespace I18N.Common diff --git a/mcs/class/I18N/Common/list.unix b/mcs/class/I18N/Common/list.unix new file mode 100755 index 00000000000..e7e03344343 --- /dev/null +++ b/mcs/class/I18N/Common/list.unix @@ -0,0 +1,4 @@ +ByteEncoding.cs +Handlers.cs +Manager.cs +Strings.cs diff --git a/mcs/class/I18N/Common/makefile.gnu b/mcs/class/I18N/Common/makefile.gnu new file mode 100755 index 00000000000..7ad76a2ed74 --- /dev/null +++ b/mcs/class/I18N/Common/makefile.gnu @@ -0,0 +1,13 @@ +topdir = ../../.. + +LIBRARY = $(topdir)/class/lib/I18N.dll + +LIB_LIST = list.unix +LIB_FLAGS = -r corlib -r mscorlib + +SOURCES_INCLUDE=*.cs +SOURCES_EXCLUDE= + +export MONO_PATH_PREFIX = $(topdir)/class/lib: + +include $(topdir)/class/library.make diff --git a/mcs/class/I18N/I18N.build b/mcs/class/I18N/I18N.build new file mode 100644 index 00000000000..5a9e8a56347 --- /dev/null +++ b/mcs/class/I18N/I18N.build @@ -0,0 +1,116 @@ +<?xml version="1.0"?> +<project name="pnetlib I18N" default="build"> + <property name="debug" value="false"/> + <target name="build"> + + <!-- Build the primary I18N.dll library --> + <csc output="../lib/I18N.dll" target="library" debug="${debug}"> + <arg value="/nowarn:1595"/> + <arg value="/unsafe"/> + <arg value="/noconfig"/> <!-- don't reference ms assemblies --> + <arg value="/lib:../lib/"/> + <arg value="/r:corlib.dll"/> + + <sources> + <includes name="Common/*.cs"/> + </sources> + + <!--<resources> + <file name="../resources/en_US/I18N/I18N.resources"/> + </resources>--> + + </csc> + + <!-- Build the I18N.CJK.dll library --> + <csc output="../lib/I18N.CJK.dll" target="library" debug="${debug}"> + <arg value="/unsafe"/> + <arg value="/noconfig"/> <!-- don't reference ms assemblies --> + <arg value="/lib:../lib/"/> + <arg value="/r:I18N.dll"/> + <arg value="/resource:CJK/jis.table"/> + + <sources> + <includes name="CJK/*.cs"/> + </sources> + + <!--<resources> + <file name="CJK/jis.table"/> + </resources>--> + + + </csc> + + <!-- Build the I18N.MidEast.dll library --> + <csc output="../lib/I18N.MidEast.dll" target="library" debug="${debug}"> + <arg value="/unsafe"/> + <arg value="/noconfig"/> <!-- don't reference ms assemblies --> + <arg value="/lib:../lib/"/> + <arg value="/r:I18N.dll"/> + + <sources> + <includes name="MidEast/*.cs"/> + </sources> + + </csc> + + <!-- Build the I18N.Other.dll library --> + <csc output="../lib/I18N.Other.dll" target="library" debug="${debug}"> + <arg value="/unsafe"/> + <arg value="/noconfig"/> <!-- don't reference ms assemblies --> + <arg value="/lib:../lib/"/> + <arg value="/r:I18N.dll"/> + + <sources> + <includes name="Other/*.cs"/> + </sources> + + </csc> + + <!-- Build the I18N.Rare.dll library --> + <csc output="../lib/I18N.Rare.dll" target="library" debug="${debug}"> + <arg value="/unsafe"/> + <arg value="/noconfig"/> <!-- don't reference ms assemblies --> + <arg value="/lib:../lib/"/> + <arg value="/r:I18N.dll"/> + + <sources> + <includes name="Rare/*.cs"/> + </sources> + + </csc> + + <!-- Build the I18N.West.dll library --> + <csc output="../lib/I18N.West.dll" target="library" debug="${debug}"> + <arg value="/unsafe"/> + <arg value="/noconfig"/> <!-- don't reference ms assemblies --> + <arg value="/lib:../lib/"/> + <arg value="/r:I18N.dll"/> + + <sources> + <includes name="West/*.cs"/> + </sources> + + </csc> + + </target> + <target name="clean"> + <delete failonerror="false"> + <fileset basedir="../lib"> + <includes name="I18N.dll"/> + <includes name="I18N.CJK.dll"/> + <includes name="I18N.MidEast.dll"/> + <includes name="I18N.Other.dll"/> + <includes name="I18N.Rare.dll"/> + <includes name="I18N.West.dll"/> + </fileset> + </delete> + <!-- Uncomment this if build file added for those. + <nant basedir="Common" target="clean"/> + <nant basedir="CJK" target="clean"/> + <nant basedir="MidEast" target="clean"/> + <nant basedir="Other" target="clean"/> + <nant basedir="Rare" target="clean"/> + <nant basedir="West" target="clean"/> + --> + </target> +</project> diff --git a/mcs/class/I18N/MidEast/.cvsignore b/mcs/class/I18N/MidEast/.cvsignore new file mode 100644 index 00000000000..0c2ee6906fa --- /dev/null +++ b/mcs/class/I18N/MidEast/.cvsignore @@ -0,0 +1,4 @@ +list +.makefrag +.response +library-deps.stamp diff --git a/mcs/class/I18N/MidEast/CP1254.cs b/mcs/class/I18N/MidEast/CP1254.cs new file mode 100644 index 00000000000..06700748fc5 --- /dev/null +++ b/mcs/class/I18N/MidEast/CP1254.cs @@ -0,0 +1,399 @@ +/* + * CP1254.cs - Turkish (Windows) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-5350.ucm". + +namespace I18N.MidEast +{ + +using System; +using I18N.Common; + +public class CP1254 : ByteEncoding +{ + public CP1254() + : base(1254, ToChars, "Turkish (Windows)", + "iso-8859-9", "windows-1254", "windows-1254", + true, true, true, true, 1254) + {} + + 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', '\u20AC', '\u0081', '\u201A', '\u0192', + '\u201E', '\u2026', '\u2020', '\u2021', '\u02C6', '\u2030', + '\u0160', '\u2039', '\u0152', '\u008D', '\u008E', '\u008F', + '\u0090', '\u2018', '\u2019', '\u201C', '\u201D', '\u2022', + '\u2013', '\u2014', '\u02DC', '\u2122', '\u0161', '\u203A', + '\u0153', '\u009D', '\u009E', '\u0178', '\u00A0', '\u00A1', + '\u00A2', '\u00A3', '\u00A4', '\u00A5', '\u00A6', '\u00A7', + '\u00A8', '\u00A9', '\u00AA', '\u00AB', '\u00AC', '\u00AD', + '\u00AE', '\u00AF', '\u00B0', '\u00B1', '\u00B2', '\u00B3', + '\u00B4', '\u00B5', '\u00B6', '\u00B7', '\u00B8', '\u00B9', + '\u00BA', '\u00BB', '\u00BC', '\u00BD', '\u00BE', '\u00BF', + '\u00C0', '\u00C1', '\u00C2', '\u00C3', '\u00C4', '\u00C5', + '\u00C6', '\u00C7', '\u00C8', '\u00C9', '\u00CA', '\u00CB', + '\u00CC', '\u00CD', '\u00CE', '\u00CF', '\u011E', '\u00D1', + '\u00D2', '\u00D3', '\u00D4', '\u00D5', '\u00D6', '\u00D7', + '\u00D8', '\u00D9', '\u00DA', '\u00DB', '\u00DC', '\u0130', + '\u015E', '\u00DF', '\u00E0', '\u00E1', '\u00E2', '\u00E3', + '\u00E4', '\u00E5', '\u00E6', '\u00E7', '\u00E8', '\u00E9', + '\u00EA', '\u00EB', '\u00EC', '\u00ED', '\u00EE', '\u00EF', + '\u011F', '\u00F1', '\u00F2', '\u00F3', '\u00F4', '\u00F5', + '\u00F6', '\u00F7', '\u00F8', '\u00F9', '\u00FA', '\u00FB', + '\u00FC', '\u0131', '\u015F', '\u00FF', + }; + + 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 0x0081: + case 0x008D: + case 0x008E: + case 0x008F: + case 0x0090: + case 0x009D: + case 0x009E: + case 0x00A0: + case 0x00A1: + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AA: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00AF: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B8: + case 0x00B9: + case 0x00BA: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + case 0x00BF: + case 0x00C0: + case 0x00C1: + case 0x00C2: + case 0x00C3: + case 0x00C4: + case 0x00C5: + case 0x00C6: + case 0x00C7: + case 0x00C8: + case 0x00C9: + case 0x00CA: + case 0x00CB: + case 0x00CC: + case 0x00CD: + case 0x00CE: + case 0x00CF: + case 0x00D1: + case 0x00D2: + case 0x00D3: + case 0x00D4: + case 0x00D5: + case 0x00D6: + case 0x00D7: + case 0x00D8: + case 0x00D9: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DF: + case 0x00E0: + case 0x00E1: + case 0x00E2: + case 0x00E3: + case 0x00E4: + case 0x00E5: + case 0x00E6: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00EC: + case 0x00ED: + case 0x00EE: + case 0x00EF: + case 0x00F1: + case 0x00F2: + case 0x00F3: + case 0x00F4: + case 0x00F5: + case 0x00F6: + case 0x00F7: + case 0x00F8: + case 0x00F9: + case 0x00FA: + case 0x00FB: + case 0x00FC: + case 0x00FF: + break; + case 0x011E: ch = 0xD0; break; + case 0x011F: ch = 0xF0; break; + case 0x0130: ch = 0xDD; break; + case 0x0131: ch = 0xFD; break; + case 0x0152: ch = 0x8C; break; + case 0x0153: ch = 0x9C; break; + case 0x015E: ch = 0xDE; break; + case 0x015F: ch = 0xFE; break; + case 0x0160: ch = 0x8A; break; + case 0x0161: ch = 0x9A; break; + case 0x0178: ch = 0x9F; break; + case 0x0192: ch = 0x83; break; + case 0x02C6: ch = 0x88; break; + case 0x02DC: ch = 0x98; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; 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 0x0081: + case 0x008D: + case 0x008E: + case 0x008F: + case 0x0090: + case 0x009D: + case 0x009E: + case 0x00A0: + case 0x00A1: + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AA: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00AF: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B8: + case 0x00B9: + case 0x00BA: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + case 0x00BF: + case 0x00C0: + case 0x00C1: + case 0x00C2: + case 0x00C3: + case 0x00C4: + case 0x00C5: + case 0x00C6: + case 0x00C7: + case 0x00C8: + case 0x00C9: + case 0x00CA: + case 0x00CB: + case 0x00CC: + case 0x00CD: + case 0x00CE: + case 0x00CF: + case 0x00D1: + case 0x00D2: + case 0x00D3: + case 0x00D4: + case 0x00D5: + case 0x00D6: + case 0x00D7: + case 0x00D8: + case 0x00D9: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DF: + case 0x00E0: + case 0x00E1: + case 0x00E2: + case 0x00E3: + case 0x00E4: + case 0x00E5: + case 0x00E6: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00EC: + case 0x00ED: + case 0x00EE: + case 0x00EF: + case 0x00F1: + case 0x00F2: + case 0x00F3: + case 0x00F4: + case 0x00F5: + case 0x00F6: + case 0x00F7: + case 0x00F8: + case 0x00F9: + case 0x00FA: + case 0x00FB: + case 0x00FC: + case 0x00FF: + break; + case 0x011E: ch = 0xD0; break; + case 0x011F: ch = 0xF0; break; + case 0x0130: ch = 0xDD; break; + case 0x0131: ch = 0xFD; break; + case 0x0152: ch = 0x8C; break; + case 0x0153: ch = 0x9C; break; + case 0x015E: ch = 0xDE; break; + case 0x015F: ch = 0xFE; break; + case 0x0160: ch = 0x8A; break; + case 0x0161: ch = 0x9A; break; + case 0x0178: ch = 0x9F; break; + case 0x0192: ch = 0x83; break; + case 0x02C6: ch = 0x88; break; + case 0x02DC: ch = 0x98; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1254 + +public class ENCwindows_1254 : CP1254 +{ + public ENCwindows_1254() : base() {} + +}; // class ENCwindows_1254 + +}; // namespace I18N.MidEast diff --git a/mcs/class/I18N/MidEast/CP1255.cs b/mcs/class/I18N/MidEast/CP1255.cs new file mode 100644 index 00000000000..c732d08dc76 --- /dev/null +++ b/mcs/class/I18N/MidEast/CP1255.cs @@ -0,0 +1,393 @@ +/* + * CP1255.cs - Hebrew (Windows) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-5351.ucm". + +namespace I18N.MidEast +{ + +using System; +using I18N.Common; + +public class CP1255 : ByteEncoding +{ + public CP1255() + : base(1255, ToChars, "Hebrew (Windows)", + "windows-1255", "windows-1255", "windows-1255", + true, true, true, true, 1255) + {} + + 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', '\u20AC', '\u0081', '\u201A', '\u0192', + '\u201E', '\u2026', '\u2020', '\u2021', '\u02C6', '\u2030', + '\u008A', '\u2039', '\u008C', '\u008D', '\u008E', '\u008F', + '\u0090', '\u2018', '\u2019', '\u201C', '\u201D', '\u2022', + '\u2013', '\u2014', '\u02DC', '\u2122', '\u009A', '\u203A', + '\u009C', '\u009D', '\u009E', '\u009F', '\u00A0', '\u00A1', + '\u00A2', '\u00A3', '\u20AA', '\u00A5', '\u00A6', '\u00A7', + '\u00A8', '\u00A9', '\u00D7', '\u00AB', '\u00AC', '\u00AD', + '\u00AE', '\u00AF', '\u00B0', '\u00B1', '\u00B2', '\u00B3', + '\u00B4', '\u00B5', '\u00B6', '\u00B7', '\u00B8', '\u00B9', + '\u00F7', '\u00BB', '\u00BC', '\u00BD', '\u00BE', '\u00BF', + '\u05B0', '\u05B1', '\u05B2', '\u05B3', '\u05B4', '\u05B5', + '\u05B6', '\u05B7', '\u05B8', '\u05B9', '\u003F', '\u05BB', + '\u05BC', '\u05BD', '\u05BE', '\u05BF', '\u05C0', '\u05C1', + '\u05C2', '\u05C3', '\u05F0', '\u05F1', '\u05F2', '\u05F3', + '\u05F4', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u05D0', '\u05D1', '\u05D2', '\u05D3', + '\u05D4', '\u05D5', '\u05D6', '\u05D7', '\u05D8', '\u05D9', + '\u05DA', '\u05DB', '\u05DC', '\u05DD', '\u05DE', '\u05DF', + '\u05E0', '\u05E1', '\u05E2', '\u05E3', '\u05E4', '\u05E5', + '\u05E6', '\u05E7', '\u05E8', '\u05E9', '\u05EA', '\u003F', + '\u003F', '\u200E', '\u200F', '\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 0x0081: + case 0x008A: + case 0x008C: + case 0x008D: + case 0x008E: + case 0x008F: + case 0x0090: + case 0x009A: + case 0x009C: + case 0x009D: + case 0x009E: + case 0x009F: + case 0x00A0: + case 0x00A1: + case 0x00A2: + case 0x00A3: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00AF: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B8: + case 0x00B9: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + case 0x00BF: + break; + case 0x00D7: ch = 0xAA; break; + case 0x00F7: ch = 0xBA; break; + case 0x0192: ch = 0x83; break; + case 0x02C6: ch = 0x88; break; + case 0x02DC: ch = 0x98; break; + case 0x05B0: + case 0x05B1: + case 0x05B2: + case 0x05B3: + case 0x05B4: + case 0x05B5: + case 0x05B6: + case 0x05B7: + case 0x05B8: + case 0x05B9: + ch -= 0x04F0; + break; + case 0x05BB: + case 0x05BC: + case 0x05BD: + case 0x05BE: + case 0x05BF: + case 0x05C0: + case 0x05C1: + case 0x05C2: + case 0x05C3: + ch -= 0x04F0; + break; + case 0x05D0: + case 0x05D1: + case 0x05D2: + case 0x05D3: + case 0x05D4: + case 0x05D5: + case 0x05D6: + case 0x05D7: + case 0x05D8: + case 0x05D9: + case 0x05DA: + case 0x05DB: + case 0x05DC: + case 0x05DD: + case 0x05DE: + case 0x05DF: + case 0x05E0: + case 0x05E1: + case 0x05E2: + case 0x05E3: + case 0x05E4: + case 0x05E5: + case 0x05E6: + case 0x05E7: + case 0x05E8: + case 0x05E9: + case 0x05EA: + ch -= 0x04F0; + break; + case 0x05F0: + case 0x05F1: + case 0x05F2: + case 0x05F3: + case 0x05F4: + ch -= 0x051C; + break; + case 0x200E: ch = 0xFD; break; + case 0x200F: ch = 0xFE; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AA: ch = 0xA4; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; 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 0x0081: + case 0x008A: + case 0x008C: + case 0x008D: + case 0x008E: + case 0x008F: + case 0x0090: + case 0x009A: + case 0x009C: + case 0x009D: + case 0x009E: + case 0x009F: + case 0x00A0: + case 0x00A1: + case 0x00A2: + case 0x00A3: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00AF: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B8: + case 0x00B9: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + case 0x00BF: + break; + case 0x00D7: ch = 0xAA; break; + case 0x00F7: ch = 0xBA; break; + case 0x0192: ch = 0x83; break; + case 0x02C6: ch = 0x88; break; + case 0x02DC: ch = 0x98; break; + case 0x05B0: + case 0x05B1: + case 0x05B2: + case 0x05B3: + case 0x05B4: + case 0x05B5: + case 0x05B6: + case 0x05B7: + case 0x05B8: + case 0x05B9: + ch -= 0x04F0; + break; + case 0x05BB: + case 0x05BC: + case 0x05BD: + case 0x05BE: + case 0x05BF: + case 0x05C0: + case 0x05C1: + case 0x05C2: + case 0x05C3: + ch -= 0x04F0; + break; + case 0x05D0: + case 0x05D1: + case 0x05D2: + case 0x05D3: + case 0x05D4: + case 0x05D5: + case 0x05D6: + case 0x05D7: + case 0x05D8: + case 0x05D9: + case 0x05DA: + case 0x05DB: + case 0x05DC: + case 0x05DD: + case 0x05DE: + case 0x05DF: + case 0x05E0: + case 0x05E1: + case 0x05E2: + case 0x05E3: + case 0x05E4: + case 0x05E5: + case 0x05E6: + case 0x05E7: + case 0x05E8: + case 0x05E9: + case 0x05EA: + ch -= 0x04F0; + break; + case 0x05F0: + case 0x05F1: + case 0x05F2: + case 0x05F3: + case 0x05F4: + ch -= 0x051C; + break; + case 0x200E: ch = 0xFD; break; + case 0x200F: ch = 0xFE; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AA: ch = 0xA4; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1255 + +public class ENCwindows_1255 : CP1255 +{ + public ENCwindows_1255() : base() {} + +}; // class ENCwindows_1255 + +}; // namespace I18N.MidEast diff --git a/mcs/class/I18N/MidEast/CP1256.cs b/mcs/class/I18N/MidEast/CP1256.cs new file mode 100644 index 00000000000..71e5c3288f9 --- /dev/null +++ b/mcs/class/I18N/MidEast/CP1256.cs @@ -0,0 +1,771 @@ +/* + * CP1256.cs - Arabic (Windows) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-5352.ucm". + +namespace I18N.MidEast +{ + +using System; +using I18N.Common; + +public class CP1256 : ByteEncoding +{ + public CP1256() + : base(1256, ToChars, "Arabic (Windows)", + "windows-1256", "windows-1256", "windows-1256", + true, true, true, true, 1256) + {} + + 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', '\u20AC', '\u067E', '\u201A', '\u0192', + '\u201E', '\u2026', '\u2020', '\u2021', '\u02C6', '\u2030', + '\u0679', '\u2039', '\u0152', '\u0686', '\u0698', '\u0688', + '\u06AF', '\u2018', '\u2019', '\u201C', '\u201D', '\u2022', + '\u2013', '\u2014', '\u06A9', '\u2122', '\u0691', '\u203A', + '\u0153', '\u200C', '\u200D', '\u06BA', '\u00A0', '\u060C', + '\u00A2', '\u00A3', '\u00A4', '\u00A5', '\u00A6', '\u00A7', + '\u00A8', '\u00A9', '\u06BE', '\u00AB', '\u00AC', '\u00AD', + '\u00AE', '\u00AF', '\u00B0', '\u00B1', '\u00B2', '\u00B3', + '\u00B4', '\u00B5', '\u00B6', '\u00B7', '\u00B8', '\u00B9', + '\u061B', '\u00BB', '\u00BC', '\u00BD', '\u00BE', '\u061F', + '\u06C1', '\u0621', '\u0622', '\u0623', '\u0624', '\u0625', + '\u0626', '\u0627', '\u0628', '\u0629', '\u062A', '\u062B', + '\u062C', '\u062D', '\u062E', '\u062F', '\u0630', '\u0631', + '\u0632', '\u0633', '\u0634', '\u0635', '\u0636', '\u00D7', + '\u0637', '\u0638', '\u0639', '\u063A', '\u0640', '\u0641', + '\u0642', '\u0643', '\u00E0', '\u0644', '\u00E2', '\u0645', + '\u0646', '\u0647', '\u0648', '\u00E7', '\u00E8', '\u00E9', + '\u00EA', '\u00EB', '\u0649', '\u064A', '\u00EE', '\u00EF', + '\u064B', '\u064C', '\u064D', '\u064E', '\u00F4', '\u064F', + '\u0650', '\u00F7', '\u0651', '\u00F9', '\u0652', '\u00FB', + '\u00FC', '\u200E', '\u200F', '\u06D2', + }; + + 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 0x00A0: + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00AF: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B8: + case 0x00B9: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + case 0x00D7: + case 0x00E0: + case 0x00E2: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00EE: + case 0x00EF: + case 0x00F4: + case 0x00F7: + case 0x00F9: + case 0x00FB: + case 0x00FC: + break; + case 0x0152: ch = 0x8C; break; + case 0x0153: ch = 0x9C; break; + case 0x0192: ch = 0x83; break; + case 0x02C6: ch = 0x88; break; + case 0x060C: ch = 0xA1; break; + case 0x061B: ch = 0xBA; break; + case 0x061F: ch = 0xBF; break; + case 0x0621: + case 0x0622: + case 0x0623: + case 0x0624: + case 0x0625: + case 0x0626: + case 0x0627: + case 0x0628: + case 0x0629: + case 0x062A: + case 0x062B: + case 0x062C: + case 0x062D: + case 0x062E: + case 0x062F: + case 0x0630: + case 0x0631: + case 0x0632: + case 0x0633: + case 0x0634: + case 0x0635: + case 0x0636: + ch -= 0x0560; + break; + case 0x0637: + case 0x0638: + case 0x0639: + case 0x063A: + ch -= 0x055F; + break; + case 0x0640: + case 0x0641: + case 0x0642: + case 0x0643: + ch -= 0x0564; + break; + case 0x0644: ch = 0xE1; break; + case 0x0645: + case 0x0646: + case 0x0647: + case 0x0648: + ch -= 0x0562; + break; + case 0x0649: ch = 0xEC; break; + case 0x064A: ch = 0xED; break; + case 0x064B: + case 0x064C: + case 0x064D: + case 0x064E: + ch -= 0x055B; + break; + case 0x064F: ch = 0xF5; break; + case 0x0650: ch = 0xF6; break; + case 0x0651: ch = 0xF8; break; + case 0x0652: ch = 0xFA; break; + case 0x0660: + case 0x0661: + case 0x0662: + case 0x0663: + case 0x0664: + case 0x0665: + case 0x0666: + case 0x0667: + case 0x0668: + case 0x0669: + ch -= 0x0630; + break; + case 0x066B: ch = 0x2C; break; + case 0x066C: ch = 0x2E; break; + case 0x0679: ch = 0x8A; break; + case 0x067E: ch = 0x81; break; + case 0x0686: ch = 0x8D; break; + case 0x0688: ch = 0x8F; break; + case 0x0691: ch = 0x9A; break; + case 0x0698: ch = 0x8E; break; + case 0x06A9: ch = 0x98; break; + case 0x06AF: ch = 0x90; break; + case 0x06BA: ch = 0x9F; break; + case 0x06BE: ch = 0xAA; break; + case 0x06C1: ch = 0xC0; break; + case 0x06D2: ch = 0xFF; break; + case 0x06F0: + case 0x06F1: + case 0x06F2: + case 0x06F3: + case 0x06F4: + case 0x06F5: + case 0x06F6: + case 0x06F7: + case 0x06F8: + case 0x06F9: + ch -= 0x06C0; + break; + case 0x200C: ch = 0x9D; break; + case 0x200D: ch = 0x9E; break; + case 0x200E: ch = 0xFD; break; + case 0x200F: ch = 0xFE; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; break; + case 0xFB56: ch = 0x81; break; + case 0xFB58: ch = 0x81; break; + case 0xFB66: ch = 0x8A; break; + case 0xFB68: ch = 0x8A; break; + case 0xFB7A: ch = 0x8D; break; + case 0xFB7C: ch = 0x8D; break; + case 0xFB88: ch = 0x8F; break; + case 0xFB8A: ch = 0x8E; break; + case 0xFB8C: ch = 0x9A; break; + case 0xFB8E: ch = 0x98; break; + case 0xFB90: ch = 0x98; break; + case 0xFB92: ch = 0x90; break; + case 0xFB94: ch = 0x90; break; + case 0xFB9E: ch = 0x9F; break; + case 0xFBA6: ch = 0xC0; break; + case 0xFBA8: ch = 0xC0; break; + case 0xFBAA: ch = 0xAA; break; + case 0xFBAC: ch = 0xAA; break; + case 0xFBAE: ch = 0xFF; break; + case 0xFE70: ch = 0xF0; break; + case 0xFE71: ch = 0xF0; break; + case 0xFE72: ch = 0xF1; break; + case 0xFE74: ch = 0xF2; break; + case 0xFE76: ch = 0xF3; break; + case 0xFE77: ch = 0xF3; break; + case 0xFE78: ch = 0xF5; break; + case 0xFE79: ch = 0xF5; break; + case 0xFE7A: ch = 0xF6; break; + case 0xFE7B: ch = 0xF6; break; + case 0xFE7C: ch = 0xF8; break; + case 0xFE7D: ch = 0xF8; break; + case 0xFE7E: ch = 0xFA; break; + case 0xFE7F: ch = 0xFA; break; + case 0xFE80: ch = 0xC1; break; + case 0xFE81: ch = 0xC2; break; + case 0xFE82: ch = 0xC2; break; + case 0xFE83: ch = 0xC3; break; + case 0xFE84: ch = 0xC3; break; + case 0xFE85: ch = 0xC4; break; + case 0xFE86: ch = 0xC4; break; + case 0xFE87: ch = 0xC5; break; + case 0xFE88: ch = 0xC5; break; + case 0xFE89: ch = 0xC6; break; + case 0xFE8A: ch = 0xC6; break; + case 0xFE8B: ch = 0xC6; break; + case 0xFE8C: ch = 0xC6; break; + case 0xFE8D: ch = 0xC7; break; + case 0xFE8E: ch = 0xC7; break; + case 0xFE8F: ch = 0xC8; break; + case 0xFE90: ch = 0xC8; break; + case 0xFE91: ch = 0xC8; break; + case 0xFE92: ch = 0xC8; break; + case 0xFE93: ch = 0xC9; break; + case 0xFE94: ch = 0xC9; break; + case 0xFE95: ch = 0xCA; break; + case 0xFE96: ch = 0xCA; break; + case 0xFE97: ch = 0xCA; break; + case 0xFE98: ch = 0xCA; break; + case 0xFE99: ch = 0xCB; break; + case 0xFE9A: ch = 0xCB; break; + case 0xFE9B: ch = 0xCB; break; + case 0xFE9C: ch = 0xCB; break; + case 0xFE9D: ch = 0xCC; break; + case 0xFE9E: ch = 0xCC; break; + case 0xFE9F: ch = 0xCC; break; + case 0xFEA0: ch = 0xCC; break; + case 0xFEA1: ch = 0xCD; break; + case 0xFEA2: ch = 0xCD; break; + case 0xFEA3: ch = 0xCD; break; + case 0xFEA4: ch = 0xCD; break; + case 0xFEA5: ch = 0xCE; break; + case 0xFEA6: ch = 0xCE; break; + case 0xFEA7: ch = 0xCE; break; + case 0xFEA8: ch = 0xCE; break; + case 0xFEA9: ch = 0xCF; break; + case 0xFEAA: ch = 0xCF; break; + case 0xFEAB: ch = 0xD0; break; + case 0xFEAC: ch = 0xD0; break; + case 0xFEAD: ch = 0xD1; break; + case 0xFEAE: ch = 0xD1; break; + case 0xFEAF: ch = 0xD2; break; + case 0xFEB0: ch = 0xD2; break; + case 0xFEB1: ch = 0xD3; break; + case 0xFEB2: ch = 0xD3; break; + case 0xFEB3: ch = 0xD3; break; + case 0xFEB4: ch = 0xD3; break; + case 0xFEB5: ch = 0xD4; break; + case 0xFEB6: ch = 0xD4; break; + case 0xFEB7: ch = 0xD4; break; + case 0xFEB8: ch = 0xD4; break; + case 0xFEB9: ch = 0xD5; break; + case 0xFEBA: ch = 0xD5; break; + case 0xFEBB: ch = 0xD5; break; + case 0xFEBC: ch = 0xD5; break; + case 0xFEBD: ch = 0xD6; break; + case 0xFEBE: ch = 0xD6; break; + case 0xFEBF: ch = 0xD6; break; + case 0xFEC0: ch = 0xD6; break; + case 0xFEC1: ch = 0xD8; break; + case 0xFEC2: ch = 0xD8; break; + case 0xFEC3: ch = 0xD8; break; + case 0xFEC4: ch = 0xD8; break; + case 0xFEC5: ch = 0xD9; break; + case 0xFEC6: ch = 0xD9; break; + case 0xFEC7: ch = 0xD9; break; + case 0xFEC8: ch = 0xD9; break; + case 0xFEC9: ch = 0xDA; break; + case 0xFECA: ch = 0xDA; break; + case 0xFECB: ch = 0xDA; break; + case 0xFECC: ch = 0xDA; break; + case 0xFECD: ch = 0xDB; break; + case 0xFECE: ch = 0xDB; break; + case 0xFECF: ch = 0xDB; break; + case 0xFED0: ch = 0xDB; break; + case 0xFED1: ch = 0xDD; break; + case 0xFED2: ch = 0xDD; break; + case 0xFED3: ch = 0xDD; break; + case 0xFED4: ch = 0xDD; break; + case 0xFED5: ch = 0xDE; break; + case 0xFED6: ch = 0xDE; break; + case 0xFED7: ch = 0xDE; break; + case 0xFED8: ch = 0xDE; break; + case 0xFED9: ch = 0xDF; break; + case 0xFEDA: ch = 0xDF; break; + case 0xFEDB: ch = 0xDF; break; + case 0xFEDC: ch = 0xDF; break; + case 0xFEDD: ch = 0xE1; break; + case 0xFEDE: ch = 0xE1; break; + case 0xFEDF: ch = 0xE1; break; + case 0xFEE0: ch = 0xE1; break; + case 0xFEE1: ch = 0xE3; break; + case 0xFEE2: ch = 0xE3; break; + case 0xFEE3: ch = 0xE3; break; + case 0xFEE4: ch = 0xE3; break; + case 0xFEE5: ch = 0xE4; break; + case 0xFEE6: ch = 0xE4; break; + case 0xFEE7: ch = 0xE4; break; + case 0xFEE8: ch = 0xE4; break; + case 0xFEE9: ch = 0xE5; break; + case 0xFEEA: ch = 0xE5; break; + case 0xFEEB: ch = 0xE5; break; + case 0xFEEC: ch = 0xE5; break; + case 0xFEED: ch = 0xE6; break; + case 0xFEEE: ch = 0xE6; break; + case 0xFEEF: ch = 0xEC; break; + case 0xFEF0: ch = 0xEC; break; + case 0xFEF1: ch = 0xED; break; + case 0xFEF2: ch = 0xED; break; + case 0xFEF3: ch = 0xED; break; + case 0xFEF4: ch = 0xED; 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 0x00A0: + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00AF: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B8: + case 0x00B9: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + case 0x00D7: + case 0x00E0: + case 0x00E2: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00EE: + case 0x00EF: + case 0x00F4: + case 0x00F7: + case 0x00F9: + case 0x00FB: + case 0x00FC: + break; + case 0x0152: ch = 0x8C; break; + case 0x0153: ch = 0x9C; break; + case 0x0192: ch = 0x83; break; + case 0x02C6: ch = 0x88; break; + case 0x060C: ch = 0xA1; break; + case 0x061B: ch = 0xBA; break; + case 0x061F: ch = 0xBF; break; + case 0x0621: + case 0x0622: + case 0x0623: + case 0x0624: + case 0x0625: + case 0x0626: + case 0x0627: + case 0x0628: + case 0x0629: + case 0x062A: + case 0x062B: + case 0x062C: + case 0x062D: + case 0x062E: + case 0x062F: + case 0x0630: + case 0x0631: + case 0x0632: + case 0x0633: + case 0x0634: + case 0x0635: + case 0x0636: + ch -= 0x0560; + break; + case 0x0637: + case 0x0638: + case 0x0639: + case 0x063A: + ch -= 0x055F; + break; + case 0x0640: + case 0x0641: + case 0x0642: + case 0x0643: + ch -= 0x0564; + break; + case 0x0644: ch = 0xE1; break; + case 0x0645: + case 0x0646: + case 0x0647: + case 0x0648: + ch -= 0x0562; + break; + case 0x0649: ch = 0xEC; break; + case 0x064A: ch = 0xED; break; + case 0x064B: + case 0x064C: + case 0x064D: + case 0x064E: + ch -= 0x055B; + break; + case 0x064F: ch = 0xF5; break; + case 0x0650: ch = 0xF6; break; + case 0x0651: ch = 0xF8; break; + case 0x0652: ch = 0xFA; break; + case 0x0660: + case 0x0661: + case 0x0662: + case 0x0663: + case 0x0664: + case 0x0665: + case 0x0666: + case 0x0667: + case 0x0668: + case 0x0669: + ch -= 0x0630; + break; + case 0x066B: ch = 0x2C; break; + case 0x066C: ch = 0x2E; break; + case 0x0679: ch = 0x8A; break; + case 0x067E: ch = 0x81; break; + case 0x0686: ch = 0x8D; break; + case 0x0688: ch = 0x8F; break; + case 0x0691: ch = 0x9A; break; + case 0x0698: ch = 0x8E; break; + case 0x06A9: ch = 0x98; break; + case 0x06AF: ch = 0x90; break; + case 0x06BA: ch = 0x9F; break; + case 0x06BE: ch = 0xAA; break; + case 0x06C1: ch = 0xC0; break; + case 0x06D2: ch = 0xFF; break; + case 0x06F0: + case 0x06F1: + case 0x06F2: + case 0x06F3: + case 0x06F4: + case 0x06F5: + case 0x06F6: + case 0x06F7: + case 0x06F8: + case 0x06F9: + ch -= 0x06C0; + break; + case 0x200C: ch = 0x9D; break; + case 0x200D: ch = 0x9E; break; + case 0x200E: ch = 0xFD; break; + case 0x200F: ch = 0xFE; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; break; + case 0xFB56: ch = 0x81; break; + case 0xFB58: ch = 0x81; break; + case 0xFB66: ch = 0x8A; break; + case 0xFB68: ch = 0x8A; break; + case 0xFB7A: ch = 0x8D; break; + case 0xFB7C: ch = 0x8D; break; + case 0xFB88: ch = 0x8F; break; + case 0xFB8A: ch = 0x8E; break; + case 0xFB8C: ch = 0x9A; break; + case 0xFB8E: ch = 0x98; break; + case 0xFB90: ch = 0x98; break; + case 0xFB92: ch = 0x90; break; + case 0xFB94: ch = 0x90; break; + case 0xFB9E: ch = 0x9F; break; + case 0xFBA6: ch = 0xC0; break; + case 0xFBA8: ch = 0xC0; break; + case 0xFBAA: ch = 0xAA; break; + case 0xFBAC: ch = 0xAA; break; + case 0xFBAE: ch = 0xFF; break; + case 0xFE70: ch = 0xF0; break; + case 0xFE71: ch = 0xF0; break; + case 0xFE72: ch = 0xF1; break; + case 0xFE74: ch = 0xF2; break; + case 0xFE76: ch = 0xF3; break; + case 0xFE77: ch = 0xF3; break; + case 0xFE78: ch = 0xF5; break; + case 0xFE79: ch = 0xF5; break; + case 0xFE7A: ch = 0xF6; break; + case 0xFE7B: ch = 0xF6; break; + case 0xFE7C: ch = 0xF8; break; + case 0xFE7D: ch = 0xF8; break; + case 0xFE7E: ch = 0xFA; break; + case 0xFE7F: ch = 0xFA; break; + case 0xFE80: ch = 0xC1; break; + case 0xFE81: ch = 0xC2; break; + case 0xFE82: ch = 0xC2; break; + case 0xFE83: ch = 0xC3; break; + case 0xFE84: ch = 0xC3; break; + case 0xFE85: ch = 0xC4; break; + case 0xFE86: ch = 0xC4; break; + case 0xFE87: ch = 0xC5; break; + case 0xFE88: ch = 0xC5; break; + case 0xFE89: ch = 0xC6; break; + case 0xFE8A: ch = 0xC6; break; + case 0xFE8B: ch = 0xC6; break; + case 0xFE8C: ch = 0xC6; break; + case 0xFE8D: ch = 0xC7; break; + case 0xFE8E: ch = 0xC7; break; + case 0xFE8F: ch = 0xC8; break; + case 0xFE90: ch = 0xC8; break; + case 0xFE91: ch = 0xC8; break; + case 0xFE92: ch = 0xC8; break; + case 0xFE93: ch = 0xC9; break; + case 0xFE94: ch = 0xC9; break; + case 0xFE95: ch = 0xCA; break; + case 0xFE96: ch = 0xCA; break; + case 0xFE97: ch = 0xCA; break; + case 0xFE98: ch = 0xCA; break; + case 0xFE99: ch = 0xCB; break; + case 0xFE9A: ch = 0xCB; break; + case 0xFE9B: ch = 0xCB; break; + case 0xFE9C: ch = 0xCB; break; + case 0xFE9D: ch = 0xCC; break; + case 0xFE9E: ch = 0xCC; break; + case 0xFE9F: ch = 0xCC; break; + case 0xFEA0: ch = 0xCC; break; + case 0xFEA1: ch = 0xCD; break; + case 0xFEA2: ch = 0xCD; break; + case 0xFEA3: ch = 0xCD; break; + case 0xFEA4: ch = 0xCD; break; + case 0xFEA5: ch = 0xCE; break; + case 0xFEA6: ch = 0xCE; break; + case 0xFEA7: ch = 0xCE; break; + case 0xFEA8: ch = 0xCE; break; + case 0xFEA9: ch = 0xCF; break; + case 0xFEAA: ch = 0xCF; break; + case 0xFEAB: ch = 0xD0; break; + case 0xFEAC: ch = 0xD0; break; + case 0xFEAD: ch = 0xD1; break; + case 0xFEAE: ch = 0xD1; break; + case 0xFEAF: ch = 0xD2; break; + case 0xFEB0: ch = 0xD2; break; + case 0xFEB1: ch = 0xD3; break; + case 0xFEB2: ch = 0xD3; break; + case 0xFEB3: ch = 0xD3; break; + case 0xFEB4: ch = 0xD3; break; + case 0xFEB5: ch = 0xD4; break; + case 0xFEB6: ch = 0xD4; break; + case 0xFEB7: ch = 0xD4; break; + case 0xFEB8: ch = 0xD4; break; + case 0xFEB9: ch = 0xD5; break; + case 0xFEBA: ch = 0xD5; break; + case 0xFEBB: ch = 0xD5; break; + case 0xFEBC: ch = 0xD5; break; + case 0xFEBD: ch = 0xD6; break; + case 0xFEBE: ch = 0xD6; break; + case 0xFEBF: ch = 0xD6; break; + case 0xFEC0: ch = 0xD6; break; + case 0xFEC1: ch = 0xD8; break; + case 0xFEC2: ch = 0xD8; break; + case 0xFEC3: ch = 0xD8; break; + case 0xFEC4: ch = 0xD8; break; + case 0xFEC5: ch = 0xD9; break; + case 0xFEC6: ch = 0xD9; break; + case 0xFEC7: ch = 0xD9; break; + case 0xFEC8: ch = 0xD9; break; + case 0xFEC9: ch = 0xDA; break; + case 0xFECA: ch = 0xDA; break; + case 0xFECB: ch = 0xDA; break; + case 0xFECC: ch = 0xDA; break; + case 0xFECD: ch = 0xDB; break; + case 0xFECE: ch = 0xDB; break; + case 0xFECF: ch = 0xDB; break; + case 0xFED0: ch = 0xDB; break; + case 0xFED1: ch = 0xDD; break; + case 0xFED2: ch = 0xDD; break; + case 0xFED3: ch = 0xDD; break; + case 0xFED4: ch = 0xDD; break; + case 0xFED5: ch = 0xDE; break; + case 0xFED6: ch = 0xDE; break; + case 0xFED7: ch = 0xDE; break; + case 0xFED8: ch = 0xDE; break; + case 0xFED9: ch = 0xDF; break; + case 0xFEDA: ch = 0xDF; break; + case 0xFEDB: ch = 0xDF; break; + case 0xFEDC: ch = 0xDF; break; + case 0xFEDD: ch = 0xE1; break; + case 0xFEDE: ch = 0xE1; break; + case 0xFEDF: ch = 0xE1; break; + case 0xFEE0: ch = 0xE1; break; + case 0xFEE1: ch = 0xE3; break; + case 0xFEE2: ch = 0xE3; break; + case 0xFEE3: ch = 0xE3; break; + case 0xFEE4: ch = 0xE3; break; + case 0xFEE5: ch = 0xE4; break; + case 0xFEE6: ch = 0xE4; break; + case 0xFEE7: ch = 0xE4; break; + case 0xFEE8: ch = 0xE4; break; + case 0xFEE9: ch = 0xE5; break; + case 0xFEEA: ch = 0xE5; break; + case 0xFEEB: ch = 0xE5; break; + case 0xFEEC: ch = 0xE5; break; + case 0xFEED: ch = 0xE6; break; + case 0xFEEE: ch = 0xE6; break; + case 0xFEEF: ch = 0xEC; break; + case 0xFEF0: ch = 0xEC; break; + case 0xFEF1: ch = 0xED; break; + case 0xFEF2: ch = 0xED; break; + case 0xFEF3: ch = 0xED; break; + case 0xFEF4: ch = 0xED; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1256 + +public class ENCwindows_1256 : CP1256 +{ + public ENCwindows_1256() : base() {} + +}; // class ENCwindows_1256 + +}; // namespace I18N.MidEast diff --git a/mcs/class/I18N/MidEast/CP28596.cs b/mcs/class/I18N/MidEast/CP28596.cs new file mode 100644 index 00000000000..1ee3db0eb1b --- /dev/null +++ b/mcs/class/I18N/MidEast/CP28596.cs @@ -0,0 +1,545 @@ +/* + * CP28596.cs - Arabic (ISO) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1089.ucm". + +namespace I18N.MidEast +{ + +using System; +using I18N.Common; + +public class CP28596 : ByteEncoding +{ + public CP28596() + : base(28596, ToChars, "Arabic (ISO)", + "iso-8859-6", "iso-8859-6", "iso-8859-6", + true, true, true, true, 1256) + {} + + 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', '\u0080', '\u0081', '\u0082', '\u0083', + '\u0084', '\u0085', '\u0086', '\u0087', '\u0088', '\u0089', + '\u008A', '\u008B', '\u008C', '\u008D', '\u008E', '\u008F', + '\u0090', '\u0091', '\u0092', '\u0093', '\u0094', '\u0095', + '\u0096', '\u0097', '\u0098', '\u0099', '\u009A', '\u009B', + '\u009C', '\u009D', '\u009E', '\u009F', '\u00A0', '\u003F', + '\u003F', '\u003F', '\u00A4', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u060C', '\u00AD', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u061B', '\u003F', '\u003F', '\u003F', '\u061F', + '\u003F', '\u0621', '\u0622', '\u0623', '\u0624', '\u0625', + '\u0626', '\u0627', '\u0628', '\u0629', '\u062A', '\u062B', + '\u062C', '\u062D', '\u062E', '\u062F', '\u0630', '\u0631', + '\u0632', '\u0633', '\u0634', '\u0635', '\u0636', '\u0637', + '\u0638', '\u0639', '\u063A', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u0640', '\u0641', '\u0642', '\u0643', + '\u0644', '\u0645', '\u0646', '\u0647', '\u0648', '\u0649', + '\u064A', '\u064B', '\u064C', '\u064D', '\u064E', '\u064F', + '\u0650', '\u0651', '\u0652', '\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 >= 161) switch(ch) + { + case 0x00A4: + case 0x00AD: + break; + case 0x060C: ch = 0xAC; break; + case 0x061B: ch = 0xBB; break; + case 0x061F: ch = 0xBF; break; + case 0x0621: + case 0x0622: + case 0x0623: + case 0x0624: + case 0x0625: + case 0x0626: + case 0x0627: + case 0x0628: + case 0x0629: + case 0x062A: + case 0x062B: + case 0x062C: + case 0x062D: + case 0x062E: + case 0x062F: + case 0x0630: + case 0x0631: + case 0x0632: + case 0x0633: + case 0x0634: + case 0x0635: + case 0x0636: + case 0x0637: + case 0x0638: + case 0x0639: + case 0x063A: + ch -= 0x0560; + break; + case 0x0640: + case 0x0641: + case 0x0642: + case 0x0643: + case 0x0644: + case 0x0645: + case 0x0646: + case 0x0647: + case 0x0648: + case 0x0649: + case 0x064A: + case 0x064B: + case 0x064C: + case 0x064D: + case 0x064E: + case 0x064F: + case 0x0650: + case 0x0651: + case 0x0652: + ch -= 0x0560; + break; + case 0x0660: + case 0x0661: + case 0x0662: + case 0x0663: + case 0x0664: + case 0x0665: + case 0x0666: + case 0x0667: + case 0x0668: + case 0x0669: + ch -= 0x0630; + break; + case 0x066A: ch = 0x25; break; + case 0x066B: ch = 0x2C; break; + case 0x066C: ch = 0x2E; break; + case 0x066D: ch = 0x2A; break; + case 0xFE70: ch = 0xEB; break; + case 0xFE71: ch = 0xEB; break; + case 0xFE72: ch = 0xEC; break; + case 0xFE74: ch = 0xED; break; + case 0xFE76: ch = 0xEE; break; + case 0xFE77: ch = 0xEE; break; + case 0xFE78: ch = 0xEF; break; + case 0xFE79: ch = 0xEF; break; + case 0xFE7A: ch = 0xF0; break; + case 0xFE7B: ch = 0xF0; break; + case 0xFE7C: ch = 0xF1; break; + case 0xFE7D: ch = 0xF1; break; + case 0xFE7E: ch = 0xF2; break; + case 0xFE7F: ch = 0xF2; break; + case 0xFE80: ch = 0xC1; break; + case 0xFE81: ch = 0xC2; break; + case 0xFE82: ch = 0xC2; break; + case 0xFE83: ch = 0xC3; break; + case 0xFE84: ch = 0xC3; break; + case 0xFE85: ch = 0xC4; break; + case 0xFE86: ch = 0xC4; break; + case 0xFE87: ch = 0xC5; break; + case 0xFE88: ch = 0xC5; break; + case 0xFE89: ch = 0xC6; break; + case 0xFE8A: ch = 0xC6; break; + case 0xFE8B: ch = 0xC6; break; + case 0xFE8C: ch = 0xC6; break; + case 0xFE8D: ch = 0xC7; break; + case 0xFE8E: ch = 0xC7; break; + case 0xFE8F: ch = 0xC8; break; + case 0xFE90: ch = 0xC8; break; + case 0xFE91: ch = 0xC8; break; + case 0xFE92: ch = 0xC8; break; + case 0xFE93: ch = 0xC9; break; + case 0xFE94: ch = 0xC9; break; + case 0xFE95: ch = 0xCA; break; + case 0xFE96: ch = 0xCA; break; + case 0xFE97: ch = 0xCA; break; + case 0xFE98: ch = 0xCA; break; + case 0xFE99: ch = 0xCB; break; + case 0xFE9A: ch = 0xCB; break; + case 0xFE9B: ch = 0xCB; break; + case 0xFE9C: ch = 0xCB; break; + case 0xFE9D: ch = 0xCC; break; + case 0xFE9E: ch = 0xCC; break; + case 0xFE9F: ch = 0xCC; break; + case 0xFEA0: ch = 0xCC; break; + case 0xFEA1: ch = 0xCD; break; + case 0xFEA2: ch = 0xCD; break; + case 0xFEA3: ch = 0xCD; break; + case 0xFEA4: ch = 0xCD; break; + case 0xFEA5: ch = 0xCE; break; + case 0xFEA6: ch = 0xCE; break; + case 0xFEA7: ch = 0xCE; break; + case 0xFEA8: ch = 0xCE; break; + case 0xFEA9: ch = 0xCF; break; + case 0xFEAA: ch = 0xCF; break; + case 0xFEAB: ch = 0xD0; break; + case 0xFEAC: ch = 0xD0; break; + case 0xFEAD: ch = 0xD1; break; + case 0xFEAE: ch = 0xD1; break; + case 0xFEAF: ch = 0xD2; break; + case 0xFEB0: ch = 0xD2; break; + case 0xFEB1: ch = 0xD3; break; + case 0xFEB2: ch = 0xD3; break; + case 0xFEB3: ch = 0xD3; break; + case 0xFEB4: ch = 0xD3; break; + case 0xFEB5: ch = 0xD4; break; + case 0xFEB6: ch = 0xD4; break; + case 0xFEB7: ch = 0xD4; break; + case 0xFEB8: ch = 0xD4; break; + case 0xFEB9: ch = 0xD5; break; + case 0xFEBA: ch = 0xD5; break; + case 0xFEBB: ch = 0xD5; break; + case 0xFEBC: ch = 0xD5; break; + case 0xFEBD: ch = 0xD6; break; + case 0xFEBE: ch = 0xD6; break; + case 0xFEBF: ch = 0xD6; break; + case 0xFEC0: ch = 0xD6; break; + case 0xFEC1: ch = 0xD7; break; + case 0xFEC2: ch = 0xD7; break; + case 0xFEC3: ch = 0xD7; break; + case 0xFEC4: ch = 0xD7; break; + case 0xFEC5: ch = 0xD8; break; + case 0xFEC6: ch = 0xD8; break; + case 0xFEC7: ch = 0xD8; break; + case 0xFEC8: ch = 0xD8; break; + case 0xFEC9: ch = 0xD9; break; + case 0xFECA: ch = 0xD9; break; + case 0xFECB: ch = 0xD9; break; + case 0xFECC: ch = 0xD9; break; + case 0xFECD: ch = 0xDA; break; + case 0xFECE: ch = 0xDA; break; + case 0xFECF: ch = 0xDA; break; + case 0xFED0: ch = 0xDA; break; + case 0xFED1: ch = 0xE1; break; + case 0xFED2: ch = 0xE1; break; + case 0xFED3: ch = 0xE1; break; + case 0xFED4: ch = 0xE1; break; + case 0xFED5: ch = 0xE2; break; + case 0xFED6: ch = 0xE2; break; + case 0xFED7: ch = 0xE2; break; + case 0xFED8: ch = 0xE2; break; + case 0xFED9: ch = 0xE3; break; + case 0xFEDA: ch = 0xE3; break; + case 0xFEDB: ch = 0xE3; break; + case 0xFEDC: ch = 0xE3; break; + case 0xFEDD: ch = 0xE4; break; + case 0xFEDE: ch = 0xE4; break; + case 0xFEDF: ch = 0xE4; break; + case 0xFEE0: ch = 0xE4; break; + case 0xFEE1: ch = 0xE5; break; + case 0xFEE2: ch = 0xE5; break; + case 0xFEE3: ch = 0xE5; break; + case 0xFEE4: ch = 0xE5; break; + case 0xFEE5: ch = 0xE6; break; + case 0xFEE6: ch = 0xE6; break; + case 0xFEE7: ch = 0xE6; break; + case 0xFEE8: ch = 0xE6; break; + case 0xFEE9: ch = 0xE7; break; + case 0xFEEA: ch = 0xE7; break; + case 0xFEEB: ch = 0xE7; break; + case 0xFEEC: ch = 0xE7; break; + case 0xFEED: ch = 0xE8; break; + case 0xFEEE: ch = 0xE8; break; + case 0xFEEF: ch = 0xE9; break; + case 0xFEF0: ch = 0xE9; break; + case 0xFEF1: ch = 0xEA; break; + case 0xFEF2: ch = 0xEA; break; + case 0xFEF3: ch = 0xEA; break; + case 0xFEF4: ch = 0xEA; 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 >= 161) switch(ch) + { + case 0x00A4: + case 0x00AD: + break; + case 0x060C: ch = 0xAC; break; + case 0x061B: ch = 0xBB; break; + case 0x061F: ch = 0xBF; break; + case 0x0621: + case 0x0622: + case 0x0623: + case 0x0624: + case 0x0625: + case 0x0626: + case 0x0627: + case 0x0628: + case 0x0629: + case 0x062A: + case 0x062B: + case 0x062C: + case 0x062D: + case 0x062E: + case 0x062F: + case 0x0630: + case 0x0631: + case 0x0632: + case 0x0633: + case 0x0634: + case 0x0635: + case 0x0636: + case 0x0637: + case 0x0638: + case 0x0639: + case 0x063A: + ch -= 0x0560; + break; + case 0x0640: + case 0x0641: + case 0x0642: + case 0x0643: + case 0x0644: + case 0x0645: + case 0x0646: + case 0x0647: + case 0x0648: + case 0x0649: + case 0x064A: + case 0x064B: + case 0x064C: + case 0x064D: + case 0x064E: + case 0x064F: + case 0x0650: + case 0x0651: + case 0x0652: + ch -= 0x0560; + break; + case 0x0660: + case 0x0661: + case 0x0662: + case 0x0663: + case 0x0664: + case 0x0665: + case 0x0666: + case 0x0667: + case 0x0668: + case 0x0669: + ch -= 0x0630; + break; + case 0x066A: ch = 0x25; break; + case 0x066B: ch = 0x2C; break; + case 0x066C: ch = 0x2E; break; + case 0x066D: ch = 0x2A; break; + case 0xFE70: ch = 0xEB; break; + case 0xFE71: ch = 0xEB; break; + case 0xFE72: ch = 0xEC; break; + case 0xFE74: ch = 0xED; break; + case 0xFE76: ch = 0xEE; break; + case 0xFE77: ch = 0xEE; break; + case 0xFE78: ch = 0xEF; break; + case 0xFE79: ch = 0xEF; break; + case 0xFE7A: ch = 0xF0; break; + case 0xFE7B: ch = 0xF0; break; + case 0xFE7C: ch = 0xF1; break; + case 0xFE7D: ch = 0xF1; break; + case 0xFE7E: ch = 0xF2; break; + case 0xFE7F: ch = 0xF2; break; + case 0xFE80: ch = 0xC1; break; + case 0xFE81: ch = 0xC2; break; + case 0xFE82: ch = 0xC2; break; + case 0xFE83: ch = 0xC3; break; + case 0xFE84: ch = 0xC3; break; + case 0xFE85: ch = 0xC4; break; + case 0xFE86: ch = 0xC4; break; + case 0xFE87: ch = 0xC5; break; + case 0xFE88: ch = 0xC5; break; + case 0xFE89: ch = 0xC6; break; + case 0xFE8A: ch = 0xC6; break; + case 0xFE8B: ch = 0xC6; break; + case 0xFE8C: ch = 0xC6; break; + case 0xFE8D: ch = 0xC7; break; + case 0xFE8E: ch = 0xC7; break; + case 0xFE8F: ch = 0xC8; break; + case 0xFE90: ch = 0xC8; break; + case 0xFE91: ch = 0xC8; break; + case 0xFE92: ch = 0xC8; break; + case 0xFE93: ch = 0xC9; break; + case 0xFE94: ch = 0xC9; break; + case 0xFE95: ch = 0xCA; break; + case 0xFE96: ch = 0xCA; break; + case 0xFE97: ch = 0xCA; break; + case 0xFE98: ch = 0xCA; break; + case 0xFE99: ch = 0xCB; break; + case 0xFE9A: ch = 0xCB; break; + case 0xFE9B: ch = 0xCB; break; + case 0xFE9C: ch = 0xCB; break; + case 0xFE9D: ch = 0xCC; break; + case 0xFE9E: ch = 0xCC; break; + case 0xFE9F: ch = 0xCC; break; + case 0xFEA0: ch = 0xCC; break; + case 0xFEA1: ch = 0xCD; break; + case 0xFEA2: ch = 0xCD; break; + case 0xFEA3: ch = 0xCD; break; + case 0xFEA4: ch = 0xCD; break; + case 0xFEA5: ch = 0xCE; break; + case 0xFEA6: ch = 0xCE; break; + case 0xFEA7: ch = 0xCE; break; + case 0xFEA8: ch = 0xCE; break; + case 0xFEA9: ch = 0xCF; break; + case 0xFEAA: ch = 0xCF; break; + case 0xFEAB: ch = 0xD0; break; + case 0xFEAC: ch = 0xD0; break; + case 0xFEAD: ch = 0xD1; break; + case 0xFEAE: ch = 0xD1; break; + case 0xFEAF: ch = 0xD2; break; + case 0xFEB0: ch = 0xD2; break; + case 0xFEB1: ch = 0xD3; break; + case 0xFEB2: ch = 0xD3; break; + case 0xFEB3: ch = 0xD3; break; + case 0xFEB4: ch = 0xD3; break; + case 0xFEB5: ch = 0xD4; break; + case 0xFEB6: ch = 0xD4; break; + case 0xFEB7: ch = 0xD4; break; + case 0xFEB8: ch = 0xD4; break; + case 0xFEB9: ch = 0xD5; break; + case 0xFEBA: ch = 0xD5; break; + case 0xFEBB: ch = 0xD5; break; + case 0xFEBC: ch = 0xD5; break; + case 0xFEBD: ch = 0xD6; break; + case 0xFEBE: ch = 0xD6; break; + case 0xFEBF: ch = 0xD6; break; + case 0xFEC0: ch = 0xD6; break; + case 0xFEC1: ch = 0xD7; break; + case 0xFEC2: ch = 0xD7; break; + case 0xFEC3: ch = 0xD7; break; + case 0xFEC4: ch = 0xD7; break; + case 0xFEC5: ch = 0xD8; break; + case 0xFEC6: ch = 0xD8; break; + case 0xFEC7: ch = 0xD8; break; + case 0xFEC8: ch = 0xD8; break; + case 0xFEC9: ch = 0xD9; break; + case 0xFECA: ch = 0xD9; break; + case 0xFECB: ch = 0xD9; break; + case 0xFECC: ch = 0xD9; break; + case 0xFECD: ch = 0xDA; break; + case 0xFECE: ch = 0xDA; break; + case 0xFECF: ch = 0xDA; break; + case 0xFED0: ch = 0xDA; break; + case 0xFED1: ch = 0xE1; break; + case 0xFED2: ch = 0xE1; break; + case 0xFED3: ch = 0xE1; break; + case 0xFED4: ch = 0xE1; break; + case 0xFED5: ch = 0xE2; break; + case 0xFED6: ch = 0xE2; break; + case 0xFED7: ch = 0xE2; break; + case 0xFED8: ch = 0xE2; break; + case 0xFED9: ch = 0xE3; break; + case 0xFEDA: ch = 0xE3; break; + case 0xFEDB: ch = 0xE3; break; + case 0xFEDC: ch = 0xE3; break; + case 0xFEDD: ch = 0xE4; break; + case 0xFEDE: ch = 0xE4; break; + case 0xFEDF: ch = 0xE4; break; + case 0xFEE0: ch = 0xE4; break; + case 0xFEE1: ch = 0xE5; break; + case 0xFEE2: ch = 0xE5; break; + case 0xFEE3: ch = 0xE5; break; + case 0xFEE4: ch = 0xE5; break; + case 0xFEE5: ch = 0xE6; break; + case 0xFEE6: ch = 0xE6; break; + case 0xFEE7: ch = 0xE6; break; + case 0xFEE8: ch = 0xE6; break; + case 0xFEE9: ch = 0xE7; break; + case 0xFEEA: ch = 0xE7; break; + case 0xFEEB: ch = 0xE7; break; + case 0xFEEC: ch = 0xE7; break; + case 0xFEED: ch = 0xE8; break; + case 0xFEEE: ch = 0xE8; break; + case 0xFEEF: ch = 0xE9; break; + case 0xFEF0: ch = 0xE9; break; + case 0xFEF1: ch = 0xEA; break; + case 0xFEF2: ch = 0xEA; break; + case 0xFEF3: ch = 0xEA; break; + case 0xFEF4: ch = 0xEA; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP28596 + +public class ENCiso_8859_6 : CP28596 +{ + public ENCiso_8859_6() : base() {} + +}; // class ENCiso_8859_6 + +}; // namespace I18N.MidEast diff --git a/mcs/class/I18N/MidEast/CP28598.cs b/mcs/class/I18N/MidEast/CP28598.cs new file mode 100644 index 00000000000..a2b11fffe89 --- /dev/null +++ b/mcs/class/I18N/MidEast/CP28598.cs @@ -0,0 +1,261 @@ +/* + * CP28598.cs - Hebrew (ISO) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-916.ucm". + +namespace I18N.MidEast +{ + +using System; +using I18N.Common; + +public class CP28598 : ByteEncoding +{ + public CP28598() + : base(28598, ToChars, "Hebrew (ISO)", + "iso-8859-8", "iso-8859-8", "iso-8859-8", + true, true, true, true, 1255) + {} + + 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', '\u0080', '\u0081', '\u0082', '\u0083', + '\u0084', '\u0085', '\u0086', '\u0087', '\u0088', '\u0089', + '\u008A', '\u008B', '\u008C', '\u008D', '\u008E', '\u008F', + '\u0090', '\u0091', '\u0092', '\u0093', '\u0094', '\u0095', + '\u0096', '\u0097', '\u0098', '\u0099', '\u009A', '\u009B', + '\u009C', '\u009D', '\u009E', '\u009F', '\u00A0', '\u003F', + '\u00A2', '\u00A3', '\u00A4', '\u00A5', '\u00A6', '\u00A7', + '\u00A8', '\u00A9', '\u00D7', '\u00AB', '\u00AC', '\u00AD', + '\u00AE', '\u203E', '\u00B0', '\u00B1', '\u00B2', '\u00B3', + '\u00B4', '\u00B5', '\u00B6', '\u2022', '\u00B8', '\u00B9', + '\u00F7', '\u00BB', '\u00BC', '\u00BD', '\u00BE', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u2017', '\u05D0', '\u05D1', '\u05D2', '\u05D3', + '\u05D4', '\u05D5', '\u05D6', '\u05D7', '\u05D8', '\u05D9', + '\u05DA', '\u05DB', '\u05DC', '\u05DD', '\u05DE', '\u05DF', + '\u05E0', '\u05E1', '\u05E2', '\u05E3', '\u05E4', '\u05E5', + '\u05E6', '\u05E7', '\u05E8', '\u05E9', '\u05EA', '\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 >= 161) switch(ch) + { + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B8: + case 0x00B9: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + break; + case 0x00D7: ch = 0xAA; break; + case 0x00F7: ch = 0xBA; break; + case 0x05D0: + case 0x05D1: + case 0x05D2: + case 0x05D3: + case 0x05D4: + case 0x05D5: + case 0x05D6: + case 0x05D7: + case 0x05D8: + case 0x05D9: + case 0x05DA: + case 0x05DB: + case 0x05DC: + case 0x05DD: + case 0x05DE: + case 0x05DF: + case 0x05E0: + case 0x05E1: + case 0x05E2: + case 0x05E3: + case 0x05E4: + case 0x05E5: + case 0x05E6: + case 0x05E7: + case 0x05E8: + case 0x05E9: + case 0x05EA: + ch -= 0x04F0; + break; + case 0x2017: ch = 0xDF; break; + case 0x2022: ch = 0xB7; break; + case 0x203E: ch = 0xAF; 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 >= 161) switch(ch) + { + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B8: + case 0x00B9: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + break; + case 0x00D7: ch = 0xAA; break; + case 0x00F7: ch = 0xBA; break; + case 0x05D0: + case 0x05D1: + case 0x05D2: + case 0x05D3: + case 0x05D4: + case 0x05D5: + case 0x05D6: + case 0x05D7: + case 0x05D8: + case 0x05D9: + case 0x05DA: + case 0x05DB: + case 0x05DC: + case 0x05DD: + case 0x05DE: + case 0x05DF: + case 0x05E0: + case 0x05E1: + case 0x05E2: + case 0x05E3: + case 0x05E4: + case 0x05E5: + case 0x05E6: + case 0x05E7: + case 0x05E8: + case 0x05E9: + case 0x05EA: + ch -= 0x04F0; + break; + case 0x2017: ch = 0xDF; break; + case 0x2022: ch = 0xB7; break; + case 0x203E: ch = 0xAF; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP28598 + +public class ENCiso_8859_8 : CP28598 +{ + public ENCiso_8859_8() : base() {} + +}; // class ENCiso_8859_8 + +}; // namespace I18N.MidEast diff --git a/mcs/class/I18N/MidEast/CP28599.cs b/mcs/class/I18N/MidEast/CP28599.cs new file mode 100644 index 00000000000..ab6b96166d7 --- /dev/null +++ b/mcs/class/I18N/MidEast/CP28599.cs @@ -0,0 +1,241 @@ +/* + * CP28599.cs - Latin 5 (ISO) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-920.ucm". + +namespace I18N.MidEast +{ + +using System; +using I18N.Common; + +public class CP28599 : ByteEncoding +{ + public CP28599() + : base(28599, ToChars, "Latin 5 (ISO)", + "iso-8859-9", "iso-8859-9", "iso-8859-9", + true, true, true, true, 1254) + {} + + 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', '\u0080', '\u0081', '\u0082', '\u0083', + '\u0084', '\u0085', '\u0086', '\u0087', '\u0088', '\u0089', + '\u008A', '\u008B', '\u008C', '\u008D', '\u008E', '\u008F', + '\u0090', '\u0091', '\u0092', '\u0093', '\u0094', '\u0095', + '\u0096', '\u0097', '\u0098', '\u0099', '\u009A', '\u009B', + '\u009C', '\u009D', '\u009E', '\u009F', '\u00A0', '\u00A1', + '\u00A2', '\u00A3', '\u00A4', '\u00A5', '\u00A6', '\u00A7', + '\u00A8', '\u00A9', '\u00AA', '\u00AB', '\u00AC', '\u00AD', + '\u00AE', '\u00AF', '\u00B0', '\u00B1', '\u00B2', '\u00B3', + '\u00B4', '\u00B5', '\u00B6', '\u00B7', '\u00B8', '\u00B9', + '\u00BA', '\u00BB', '\u00BC', '\u00BD', '\u00BE', '\u00BF', + '\u00C0', '\u00C1', '\u00C2', '\u00C3', '\u00C4', '\u00C5', + '\u00C6', '\u00C7', '\u00C8', '\u00C9', '\u00CA', '\u00CB', + '\u00CC', '\u00CD', '\u00CE', '\u00CF', '\u011E', '\u00D1', + '\u00D2', '\u00D3', '\u00D4', '\u00D5', '\u00D6', '\u00D7', + '\u00D8', '\u00D9', '\u00DA', '\u00DB', '\u00DC', '\u0130', + '\u015E', '\u00DF', '\u00E0', '\u00E1', '\u00E2', '\u00E3', + '\u00E4', '\u00E5', '\u00E6', '\u00E7', '\u00E8', '\u00E9', + '\u00EA', '\u00EB', '\u00EC', '\u00ED', '\u00EE', '\u00EF', + '\u011F', '\u00F1', '\u00F2', '\u00F3', '\u00F4', '\u00F5', + '\u00F6', '\u00F7', '\u00F8', '\u00F9', '\u00FA', '\u00FB', + '\u00FC', '\u0131', '\u015F', '\u00FF', + }; + + 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 >= 208) switch(ch) + { + case 0x00D1: + case 0x00D2: + case 0x00D3: + case 0x00D4: + case 0x00D5: + case 0x00D6: + case 0x00D7: + case 0x00D8: + case 0x00D9: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DF: + case 0x00E0: + case 0x00E1: + case 0x00E2: + case 0x00E3: + case 0x00E4: + case 0x00E5: + case 0x00E6: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00EC: + case 0x00ED: + case 0x00EE: + case 0x00EF: + case 0x00F1: + case 0x00F2: + case 0x00F3: + case 0x00F4: + case 0x00F5: + case 0x00F6: + case 0x00F7: + case 0x00F8: + case 0x00F9: + case 0x00FA: + case 0x00FB: + case 0x00FC: + case 0x00FF: + break; + case 0x011E: ch = 0xD0; break; + case 0x011F: ch = 0xF0; break; + case 0x0130: ch = 0xDD; break; + case 0x0131: ch = 0xFD; break; + case 0x015E: ch = 0xDE; break; + case 0x015F: ch = 0xFE; break; + case 0x203E: ch = 0xAF; 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 >= 208) switch(ch) + { + case 0x00D1: + case 0x00D2: + case 0x00D3: + case 0x00D4: + case 0x00D5: + case 0x00D6: + case 0x00D7: + case 0x00D8: + case 0x00D9: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DF: + case 0x00E0: + case 0x00E1: + case 0x00E2: + case 0x00E3: + case 0x00E4: + case 0x00E5: + case 0x00E6: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00EC: + case 0x00ED: + case 0x00EE: + case 0x00EF: + case 0x00F1: + case 0x00F2: + case 0x00F3: + case 0x00F4: + case 0x00F5: + case 0x00F6: + case 0x00F7: + case 0x00F8: + case 0x00F9: + case 0x00FA: + case 0x00FB: + case 0x00FC: + case 0x00FF: + break; + case 0x011E: ch = 0xD0; break; + case 0x011F: ch = 0xF0; break; + case 0x0130: ch = 0xDD; break; + case 0x0131: ch = 0xFD; break; + case 0x015E: ch = 0xDE; break; + case 0x015F: ch = 0xFE; break; + case 0x203E: ch = 0xAF; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP28599 + +public class ENCiso_8859_9 : CP28599 +{ + public ENCiso_8859_9() : base() {} + +}; // class ENCiso_8859_9 + +}; // namespace I18N.MidEast diff --git a/mcs/class/I18N/MidEast/CP38598.cs b/mcs/class/I18N/MidEast/CP38598.cs new file mode 100644 index 00000000000..c0b8e4de9d7 --- /dev/null +++ b/mcs/class/I18N/MidEast/CP38598.cs @@ -0,0 +1,261 @@ +/* + * CP38598.cs - Hebrew (ISO Alternative) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-916.ucm". + +namespace I18N.MidEast +{ + +using System; +using I18N.Common; + +public class CP38598 : ByteEncoding +{ + public CP38598() + : base(38598, ToChars, "Hebrew (ISO Alternative)", + "iso-8859-8", "windows-38598", "windows-38598", + true, true, true, true, 1255) + {} + + 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', '\u0080', '\u0081', '\u0082', '\u0083', + '\u0084', '\u0085', '\u0086', '\u0087', '\u0088', '\u0089', + '\u008A', '\u008B', '\u008C', '\u008D', '\u008E', '\u008F', + '\u0090', '\u0091', '\u0092', '\u0093', '\u0094', '\u0095', + '\u0096', '\u0097', '\u0098', '\u0099', '\u009A', '\u009B', + '\u009C', '\u009D', '\u009E', '\u009F', '\u00A0', '\u003F', + '\u00A2', '\u00A3', '\u00A4', '\u00A5', '\u00A6', '\u00A7', + '\u00A8', '\u00A9', '\u00D7', '\u00AB', '\u00AC', '\u00AD', + '\u00AE', '\u203E', '\u00B0', '\u00B1', '\u00B2', '\u00B3', + '\u00B4', '\u00B5', '\u00B6', '\u2022', '\u00B8', '\u00B9', + '\u00F7', '\u00BB', '\u00BC', '\u00BD', '\u00BE', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u2017', '\u05D0', '\u05D1', '\u05D2', '\u05D3', + '\u05D4', '\u05D5', '\u05D6', '\u05D7', '\u05D8', '\u05D9', + '\u05DA', '\u05DB', '\u05DC', '\u05DD', '\u05DE', '\u05DF', + '\u05E0', '\u05E1', '\u05E2', '\u05E3', '\u05E4', '\u05E5', + '\u05E6', '\u05E7', '\u05E8', '\u05E9', '\u05EA', '\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 >= 161) switch(ch) + { + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B8: + case 0x00B9: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + break; + case 0x00D7: ch = 0xAA; break; + case 0x00F7: ch = 0xBA; break; + case 0x05D0: + case 0x05D1: + case 0x05D2: + case 0x05D3: + case 0x05D4: + case 0x05D5: + case 0x05D6: + case 0x05D7: + case 0x05D8: + case 0x05D9: + case 0x05DA: + case 0x05DB: + case 0x05DC: + case 0x05DD: + case 0x05DE: + case 0x05DF: + case 0x05E0: + case 0x05E1: + case 0x05E2: + case 0x05E3: + case 0x05E4: + case 0x05E5: + case 0x05E6: + case 0x05E7: + case 0x05E8: + case 0x05E9: + case 0x05EA: + ch -= 0x04F0; + break; + case 0x2017: ch = 0xDF; break; + case 0x2022: ch = 0xB7; break; + case 0x203E: ch = 0xAF; 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 >= 161) switch(ch) + { + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B8: + case 0x00B9: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + break; + case 0x00D7: ch = 0xAA; break; + case 0x00F7: ch = 0xBA; break; + case 0x05D0: + case 0x05D1: + case 0x05D2: + case 0x05D3: + case 0x05D4: + case 0x05D5: + case 0x05D6: + case 0x05D7: + case 0x05D8: + case 0x05D9: + case 0x05DA: + case 0x05DB: + case 0x05DC: + case 0x05DD: + case 0x05DE: + case 0x05DF: + case 0x05E0: + case 0x05E1: + case 0x05E2: + case 0x05E3: + case 0x05E4: + case 0x05E5: + case 0x05E6: + case 0x05E7: + case 0x05E8: + case 0x05E9: + case 0x05EA: + ch -= 0x04F0; + break; + case 0x2017: ch = 0xDF; break; + case 0x2022: ch = 0xB7; break; + case 0x203E: ch = 0xAF; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP38598 + +public class ENCwindows_38598 : CP38598 +{ + public ENCwindows_38598() : base() {} + +}; // class ENCwindows_38598 + +}; // namespace I18N.MidEast diff --git a/mcs/class/I18N/MidEast/ibm-1089.ucm b/mcs/class/I18N/MidEast/ibm-1089.ucm new file mode 100644 index 00000000000..3356cdfa543 --- /dev/null +++ b/mcs/class/I18N/MidEast/ibm-1089.ucm @@ -0,0 +1,477 @@ +# ******************************************************************************* +# * +# * 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 34B00441.RPMAP100 and 044134B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-1089" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-1089 +#_________ _________ +<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 +<U0080> \x80 |0 +<U0081> \x81 |0 +<U0082> \x82 |0 +<U0083> \x83 |0 +<U0084> \x84 |0 +<U0085> \x85 |0 +<U0086> \x86 |0 +<U0087> \x87 |0 +<U0088> \x88 |0 +<U0089> \x89 |0 +<U008A> \x8A |0 +<U008B> \x8B |0 +<U008C> \x8C |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U0091> \x91 |0 +<U0092> \x92 |0 +<U0093> \x93 |0 +<U0094> \x94 |0 +<U0095> \x95 |0 +<U0096> \x96 |0 +<U0097> \x97 |0 +<U0098> \x98 |0 +<U0099> \x99 |0 +<U009A> \x9A |0 +<U009B> \x9B |0 +<U009C> \x9C |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U009F> \x9F |0 +<U00A0> \xA0 |0 +<U00A4> \xA4 |0 +<U00AD> \xAD |0 +<U060C> \xAC |0 +<U061B> \xBB |0 +<U061F> \xBF |0 +<U0621> \xC1 |0 +<U0622> \xC2 |0 +<U0623> \xC3 |0 +<U0624> \xC4 |0 +<U0625> \xC5 |0 +<U0626> \xC6 |0 +<U0627> \xC7 |0 +<U0628> \xC8 |0 +<U0629> \xC9 |0 +<U062A> \xCA |0 +<U062B> \xCB |0 +<U062C> \xCC |0 +<U062D> \xCD |0 +<U062E> \xCE |0 +<U062F> \xCF |0 +<U0630> \xD0 |0 +<U0631> \xD1 |0 +<U0632> \xD2 |0 +<U0633> \xD3 |0 +<U0634> \xD4 |0 +<U0635> \xD5 |0 +<U0636> \xD6 |0 +<U0637> \xD7 |0 +<U0638> \xD8 |0 +<U0639> \xD9 |0 +<U063A> \xDA |0 +<U0640> \xE0 |0 +<U0641> \xE1 |0 +<U0642> \xE2 |0 +<U0643> \xE3 |0 +<U0644> \xE4 |0 +<U0645> \xE5 |0 +<U0646> \xE6 |0 +<U0647> \xE7 |0 +<U0648> \xE8 |0 +<U0649> \xE9 |0 +<U064A> \xEA |0 +<U064B> \xEB |0 +<U064C> \xEC |0 +<U064D> \xED |0 +<U064E> \xEE |0 +<U064F> \xEF |0 +<U0650> \xF0 |0 +<U0651> \xF1 |0 +<U0652> \xF2 |0 +<U0660> \x30 |1 +<U0661> \x31 |1 +<U0662> \x32 |1 +<U0663> \x33 |1 +<U0664> \x34 |1 +<U0665> \x35 |1 +<U0666> \x36 |1 +<U0667> \x37 |1 +<U0668> \x38 |1 +<U0669> \x39 |1 +<U066A> \x25 |1 +<U066B> \x2C |1 +<U066C> \x2E |1 +<U066D> \x2A |1 +<UFE70> \xEB |1 +<UFE71> \xEB |1 +<UFE72> \xEC |1 +<UFE74> \xED |1 +<UFE76> \xEE |1 +<UFE77> \xEE |1 +<UFE78> \xEF |1 +<UFE79> \xEF |1 +<UFE7A> \xF0 |1 +<UFE7B> \xF0 |1 +<UFE7C> \xF1 |1 +<UFE7D> \xF1 |1 +<UFE7E> \xF2 |1 +<UFE7F> \xF2 |1 +<UFE80> \xC1 |1 +<UFE81> \xC2 |1 +<UFE82> \xC2 |1 +<UFE83> \xC3 |1 +<UFE84> \xC3 |1 +<UFE85> \xC4 |1 +<UFE86> \xC4 |1 +<UFE87> \xC5 |1 +<UFE88> \xC5 |1 +<UFE89> \xC6 |1 +<UFE8A> \xC6 |1 +<UFE8B> \xC6 |1 +<UFE8C> \xC6 |1 +<UFE8D> \xC7 |1 +<UFE8E> \xC7 |1 +<UFE8F> \xC8 |1 +<UFE90> \xC8 |1 +<UFE91> \xC8 |1 +<UFE92> \xC8 |1 +<UFE93> \xC9 |1 +<UFE94> \xC9 |1 +<UFE95> \xCA |1 +<UFE96> \xCA |1 +<UFE97> \xCA |1 +<UFE98> \xCA |1 +<UFE99> \xCB |1 +<UFE9A> \xCB |1 +<UFE9B> \xCB |1 +<UFE9C> \xCB |1 +<UFE9D> \xCC |1 +<UFE9E> \xCC |1 +<UFE9F> \xCC |1 +<UFEA0> \xCC |1 +<UFEA1> \xCD |1 +<UFEA2> \xCD |1 +<UFEA3> \xCD |1 +<UFEA4> \xCD |1 +<UFEA5> \xCE |1 +<UFEA6> \xCE |1 +<UFEA7> \xCE |1 +<UFEA8> \xCE |1 +<UFEA9> \xCF |1 +<UFEAA> \xCF |1 +<UFEAB> \xD0 |1 +<UFEAC> \xD0 |1 +<UFEAD> \xD1 |1 +<UFEAE> \xD1 |1 +<UFEAF> \xD2 |1 +<UFEB0> \xD2 |1 +<UFEB1> \xD3 |1 +<UFEB2> \xD3 |1 +<UFEB3> \xD3 |1 +<UFEB4> \xD3 |1 +<UFEB5> \xD4 |1 +<UFEB6> \xD4 |1 +<UFEB7> \xD4 |1 +<UFEB8> \xD4 |1 +<UFEB9> \xD5 |1 +<UFEBA> \xD5 |1 +<UFEBB> \xD5 |1 +<UFEBC> \xD5 |1 +<UFEBD> \xD6 |1 +<UFEBE> \xD6 |1 +<UFEBF> \xD6 |1 +<UFEC0> \xD6 |1 +<UFEC1> \xD7 |1 +<UFEC2> \xD7 |1 +<UFEC3> \xD7 |1 +<UFEC4> \xD7 |1 +<UFEC5> \xD8 |1 +<UFEC6> \xD8 |1 +<UFEC7> \xD8 |1 +<UFEC8> \xD8 |1 +<UFEC9> \xD9 |1 +<UFECA> \xD9 |1 +<UFECB> \xD9 |1 +<UFECC> \xD9 |1 +<UFECD> \xDA |1 +<UFECE> \xDA |1 +<UFECF> \xDA |1 +<UFED0> \xDA |1 +<UFED1> \xE1 |1 +<UFED2> \xE1 |1 +<UFED3> \xE1 |1 +<UFED4> \xE1 |1 +<UFED5> \xE2 |1 +<UFED6> \xE2 |1 +<UFED7> \xE2 |1 +<UFED8> \xE2 |1 +<UFED9> \xE3 |1 +<UFEDA> \xE3 |1 +<UFEDB> \xE3 |1 +<UFEDC> \xE3 |1 +<UFEDD> \xE4 |1 +<UFEDE> \xE4 |1 +<UFEDF> \xE4 |1 +<UFEE0> \xE4 |1 +<UFEE1> \xE5 |1 +<UFEE2> \xE5 |1 +<UFEE3> \xE5 |1 +<UFEE4> \xE5 |1 +<UFEE5> \xE6 |1 +<UFEE6> \xE6 |1 +<UFEE7> \xE6 |1 +<UFEE8> \xE6 |1 +<UFEE9> \xE7 |1 +<UFEEA> \xE7 |1 +<UFEEB> \xE7 |1 +<UFEEC> \xE7 |1 +<UFEED> \xE8 |1 +<UFEEE> \xE8 |1 +<UFEEF> \xE9 |1 +<UFEF0> \xE9 |1 +<UFEF1> \xEA |1 +<UFEF2> \xEA |1 +<UFEF3> \xEA |1 +<UFEF4> \xEA |1 +<UFF01> \x21 |1 +<UFF02> \x22 |1 +<UFF03> \x23 |1 +<UFF04> \x24 |1 +<UFF05> \x25 |1 +<UFF06> \x26 |1 +<UFF07> \x27 |1 +<UFF08> \x28 |1 +<UFF09> \x29 |1 +<UFF0A> \x2A |1 +<UFF0B> \x2B |1 +<UFF0C> \x2C |1 +<UFF0D> \x2D |1 +<UFF0E> \x2E |1 +<UFF0F> \x2F |1 +<UFF10> \x30 |1 +<UFF11> \x31 |1 +<UFF12> \x32 |1 +<UFF13> \x33 |1 +<UFF14> \x34 |1 +<UFF15> \x35 |1 +<UFF16> \x36 |1 +<UFF17> \x37 |1 +<UFF18> \x38 |1 +<UFF19> \x39 |1 +<UFF1A> \x3A |1 +<UFF1B> \x3B |1 +<UFF1C> \x3C |1 +<UFF1D> \x3D |1 +<UFF1E> \x3E |1 +<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 diff --git a/mcs/class/I18N/MidEast/ibm-5350.ucm b/mcs/class/I18N/MidEast/ibm-5350.ucm new file mode 100644 index 00000000000..7ee3c6fc82d --- /dev/null +++ b/mcs/class/I18N/MidEast/ibm-5350.ucm @@ -0,0 +1,377 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1998-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:45 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B014E6.RPMAP100 and 14E644B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-5350" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-5350 +#_________ _________ +<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 +<U0081> \x81 |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U00A0> \xA0 |0 +<U00A1> \xA1 |0 +<U00A2> \xA2 |0 +<U00A3> \xA3 |0 +<U00A4> \xA4 |0 +<U00A5> \xA5 |0 +<U00A6> \xA6 |0 +<U00A7> \xA7 |0 +<U00A8> \xA8 |0 +<U00A9> \xA9 |0 +<U00AA> \xAA |0 +<U00AB> \xAB |0 +<U00AC> \xAC |0 +<U00AD> \xAD |0 +<U00AE> \xAE |0 +<U00AF> \xAF |0 +<U00B0> \xB0 |0 +<U00B1> \xB1 |0 +<U00B2> \xB2 |0 +<U00B3> \xB3 |0 +<U00B4> \xB4 |0 +<U00B5> \xB5 |0 +<U00B6> \xB6 |0 +<U00B7> \xB7 |0 +<U00B8> \xB8 |0 +<U00B9> \xB9 |0 +<U00BA> \xBA |0 +<U00BB> \xBB |0 +<U00BC> \xBC |0 +<U00BD> \xBD |0 +<U00BE> \xBE |0 +<U00BF> \xBF |0 +<U00C0> \xC0 |0 +<U00C1> \xC1 |0 +<U00C2> \xC2 |0 +<U00C3> \xC3 |0 +<U00C4> \xC4 |0 +<U00C5> \xC5 |0 +<U00C6> \xC6 |0 +<U00C7> \xC7 |0 +<U00C8> \xC8 |0 +<U00C9> \xC9 |0 +<U00CA> \xCA |0 +<U00CB> \xCB |0 +<U00CC> \xCC |0 +<U00CD> \xCD |0 +<U00CE> \xCE |0 +<U00CF> \xCF |0 +<U00D1> \xD1 |0 +<U00D2> \xD2 |0 +<U00D3> \xD3 |0 +<U00D4> \xD4 |0 +<U00D5> \xD5 |0 +<U00D6> \xD6 |0 +<U00D7> \xD7 |0 +<U00D8> \xD8 |0 +<U00D9> \xD9 |0 +<U00DA> \xDA |0 +<U00DB> \xDB |0 +<U00DC> \xDC |0 +<U00DF> \xDF |0 +<U00E0> \xE0 |0 +<U00E1> \xE1 |0 +<U00E2> \xE2 |0 +<U00E3> \xE3 |0 +<U00E4> \xE4 |0 +<U00E5> \xE5 |0 +<U00E6> \xE6 |0 +<U00E7> \xE7 |0 +<U00E8> \xE8 |0 +<U00E9> \xE9 |0 +<U00EA> \xEA |0 +<U00EB> \xEB |0 +<U00EC> \xEC |0 +<U00ED> \xED |0 +<U00EE> \xEE |0 +<U00EF> \xEF |0 +<U00F1> \xF1 |0 +<U00F2> \xF2 |0 +<U00F3> \xF3 |0 +<U00F4> \xF4 |0 +<U00F5> \xF5 |0 +<U00F6> \xF6 |0 +<U00F7> \xF7 |0 +<U00F8> \xF8 |0 +<U00F9> \xF9 |0 +<U00FA> \xFA |0 +<U00FB> \xFB |0 +<U00FC> \xFC |0 +<U00FF> \xFF |0 +<U011E> \xD0 |0 +<U011F> \xF0 |0 +<U0130> \xDD |0 +<U0131> \xFD |0 +<U0152> \x8C |0 +<U0153> \x9C |0 +<U015E> \xDE |0 +<U015F> \xFE |0 +<U0160> \x8A |0 +<U0161> \x9A |0 +<U0178> \x9F |0 +<U0192> \x83 |0 +<U02C6> \x88 |0 +<U02DC> \x98 |0 +<U2013> \x96 |0 +<U2014> \x97 |0 +<U2018> \x91 |0 +<U2019> \x92 |0 +<U201A> \x82 |0 +<U201C> \x93 |0 +<U201D> \x94 |0 +<U201E> \x84 |0 +<U2020> \x86 |0 +<U2021> \x87 |0 +<U2022> \x95 |0 +<U2026> \x85 |0 +<U2030> \x89 |0 +<U2039> \x8B |0 +<U203A> \x9B |0 +<U20AC> \x80 |0 +<U2122> \x99 |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 diff --git a/mcs/class/I18N/MidEast/ibm-5351.ucm b/mcs/class/I18N/MidEast/ibm-5351.ucm new file mode 100644 index 00000000000..c341195d357 --- /dev/null +++ b/mcs/class/I18N/MidEast/ibm-5351.ucm @@ -0,0 +1,368 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1998-2001, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:45 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B014E7.RPMAP100 and 14E744B0.TPMAP100 +# +# Patched for jitterbug 792 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-5351" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-5351 +#_________ _________ +<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 +<U0081> \x81 |0 +<U008A> \x8A |0 +<U008C> \x8C |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U009A> \x9A |0 +<U009C> \x9C |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U009F> \x9F |0 +<U00A0> \xA0 |0 +<U00A1> \xA1 |0 +<U00A2> \xA2 |0 +<U00A3> \xA3 |0 +<U00A5> \xA5 |0 +<U00A6> \xA6 |0 +<U00A7> \xA7 |0 +<U00A8> \xA8 |0 +<U00A9> \xA9 |0 +<U00AB> \xAB |0 +<U00AC> \xAC |0 +<U00AD> \xAD |0 +<U00AE> \xAE |0 +<U00AF> \xAF |0 +<U00B0> \xB0 |0 +<U00B1> \xB1 |0 +<U00B2> \xB2 |0 +<U00B3> \xB3 |0 +<U00B4> \xB4 |0 +<U00B5> \xB5 |0 +<U00B6> \xB6 |0 +<U00B7> \xB7 |0 +<U00B8> \xB8 |0 +<U00B9> \xB9 |0 +<U00BB> \xBB |0 +<U00BC> \xBC |0 +<U00BD> \xBD |0 +<U00BE> \xBE |0 +<U00BF> \xBF |0 +<U00D7> \xAA |0 +<U00F7> \xBA |0 +<U0192> \x83 |0 +<U02C6> \x88 |0 +<U02DC> \x98 |0 +<U05B0> \xC0 |0 +<U05B1> \xC1 |0 +<U05B2> \xC2 |0 +<U05B3> \xC3 |0 +<U05B4> \xC4 |0 +<U05B5> \xC5 |0 +<U05B6> \xC6 |0 +<U05B7> \xC7 |0 +<U05B8> \xC8 |0 +<U05B9> \xC9 |0 +<U05BB> \xCB |0 +<U05BC> \xCC |0 +<U05BD> \xCD |0 +<U05BE> \xCE |0 +<U05BF> \xCF |0 +<U05C0> \xD0 |0 +<U05C1> \xD1 |0 +<U05C2> \xD2 |0 +<U05C3> \xD3 |0 +<U05D0> \xE0 |0 +<U05D1> \xE1 |0 +<U05D2> \xE2 |0 +<U05D3> \xE3 |0 +<U05D4> \xE4 |0 +<U05D5> \xE5 |0 +<U05D6> \xE6 |0 +<U05D7> \xE7 |0 +<U05D8> \xE8 |0 +<U05D9> \xE9 |0 +<U05DA> \xEA |0 +<U05DB> \xEB |0 +<U05DC> \xEC |0 +<U05DD> \xED |0 +<U05DE> \xEE |0 +<U05DF> \xEF |0 +<U05E0> \xF0 |0 +<U05E1> \xF1 |0 +<U05E2> \xF2 |0 +<U05E3> \xF3 |0 +<U05E4> \xF4 |0 +<U05E5> \xF5 |0 +<U05E6> \xF6 |0 +<U05E7> \xF7 |0 +<U05E8> \xF8 |0 +<U05E9> \xF9 |0 +<U05EA> \xFA |0 +<U05F0> \xD4 |0 +<U05F1> \xD5 |0 +<U05F2> \xD6 |0 +<U05F3> \xD7 |0 +<U05F4> \xD8 |0 +<U200E> \xFD |0 +<U200F> \xFE |0 +<U2013> \x96 |0 +<U2014> \x97 |0 +<U2018> \x91 |0 +<U2019> \x92 |0 +<U201A> \x82 |0 +<U201C> \x93 |0 +<U201D> \x94 |0 +<U201E> \x84 |0 +<U2020> \x86 |0 +<U2021> \x87 |0 +<U2022> \x95 |0 +<U2026> \x85 |0 +<U2030> \x89 |0 +<U2039> \x8B |0 +<U203A> \x9B |0 +<U20AA> \xA4 |0 +<U20AC> \x80 |0 +<U2122> \x99 |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 diff --git a/mcs/class/I18N/MidEast/ibm-5352.ucm b/mcs/class/I18N/MidEast/ibm-5352.ucm new file mode 100644 index 00000000000..63fa0ab7975 --- /dev/null +++ b/mcs/class/I18N/MidEast/ibm-5352.ucm @@ -0,0 +1,551 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1998-2001, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:45 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B014E8.RPMAP100 and 14E844B0.TPMAP100 +# +# Patched for jitterbug 792 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-5352" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-5352 +#_________ _________ +<U0000> \x00 |0 +<U0001> \x01 |0 +<U0002> \x02 |0 +<U0003> \x03 |0 +<U0004> \x04 |0 +<U0005> \x05 |0 +<U0006> \x06 |0 +<U0007> \x07 |0 +<U0008> \x08 |0 +<U0009> \x09 |0 +<U000A> \x0A |0 +<U000B> \x0B |0 +<U000C> \x0C |0 +<U000D> \x0D |0 +<U000E> \x0E |0 +<U000F> \x0F |0 +<U0010> \x10 |0 +<U0011> \x11 |0 +<U0012> \x12 |0 +<U0013> \x13 |0 +<U0014> \x14 |0 +<U0015> \x15 |0 +<U0016> \x16 |0 +<U0017> \x17 |0 +<U0018> \x18 |0 +<U0019> \x19 |0 +<U001A> \x1A |0 +<U001B> \x1B |0 +<U001C> \x1C |0 +<U001D> \x1D |0 +<U001E> \x1E |0 +<U001F> \x1F |0 +<U0020> \x20 |0 +<U0021> \x21 |0 +<U0022> \x22 |0 +<U0023> \x23 |0 +<U0024> \x24 |0 +<U0025> \x25 |0 +<U0026> \x26 |0 +<U0027> \x27 |0 +<U0028> \x28 |0 +<U0029> \x29 |0 +<U002A> \x2A |0 +<U002B> \x2B |0 +<U002C> \x2C |0 +<U002D> \x2D |0 +<U002E> \x2E |0 +<U002F> \x2F |0 +<U0030> \x30 |0 +<U0031> \x31 |0 +<U0032> \x32 |0 +<U0033> \x33 |0 +<U0034> \x34 |0 +<U0035> \x35 |0 +<U0036> \x36 |0 +<U0037> \x37 |0 +<U0038> \x38 |0 +<U0039> \x39 |0 +<U003A> \x3A |0 +<U003B> \x3B |0 +<U003C> \x3C |0 +<U003D> \x3D |0 +<U003E> \x3E |0 +<U003F> \x3F |0 +<U0040> \x40 |0 +<U0041> \x41 |0 +<U0042> \x42 |0 +<U0043> \x43 |0 +<U0044> \x44 |0 +<U0045> \x45 |0 +<U0046> \x46 |0 +<U0047> \x47 |0 +<U0048> \x48 |0 +<U0049> \x49 |0 +<U004A> \x4A |0 +<U004B> \x4B |0 +<U004C> \x4C |0 +<U004D> \x4D |0 +<U004E> \x4E |0 +<U004F> \x4F |0 +<U0050> \x50 |0 +<U0051> \x51 |0 +<U0052> \x52 |0 +<U0053> \x53 |0 +<U0054> \x54 |0 +<U0055> \x55 |0 +<U0056> \x56 |0 +<U0057> \x57 |0 +<U0058> \x58 |0 +<U0059> \x59 |0 +<U005A> \x5A |0 +<U005B> \x5B |0 +<U005C> \x5C |0 +<U005D> \x5D |0 +<U005E> \x5E |0 +<U005F> \x5F |0 +<U0060> \x60 |0 +<U0061> \x61 |0 +<U0062> \x62 |0 +<U0063> \x63 |0 +<U0064> \x64 |0 +<U0065> \x65 |0 +<U0066> \x66 |0 +<U0067> \x67 |0 +<U0068> \x68 |0 +<U0069> \x69 |0 +<U006A> \x6A |0 +<U006B> \x6B |0 +<U006C> \x6C |0 +<U006D> \x6D |0 +<U006E> \x6E |0 +<U006F> \x6F |0 +<U0070> \x70 |0 +<U0071> \x71 |0 +<U0072> \x72 |0 +<U0073> \x73 |0 +<U0074> \x74 |0 +<U0075> \x75 |0 +<U0076> \x76 |0 +<U0077> \x77 |0 +<U0078> \x78 |0 +<U0079> \x79 |0 +<U007A> \x7A |0 +<U007B> \x7B |0 +<U007C> \x7C |0 +<U007D> \x7D |0 +<U007E> \x7E |0 +<U007F> \x7F |0 +<U00A0> \xA0 |0 +<U00A2> \xA2 |0 +<U00A3> \xA3 |0 +<U00A4> \xA4 |0 +<U00A5> \xA5 |0 +<U00A6> \xA6 |0 +<U00A7> \xA7 |0 +<U00A8> \xA8 |0 +<U00A9> \xA9 |0 +<U00AB> \xAB |0 +<U00AC> \xAC |0 +<U00AD> \xAD |0 +<U00AE> \xAE |0 +<U00AF> \xAF |0 +<U00B0> \xB0 |0 +<U00B1> \xB1 |0 +<U00B2> \xB2 |0 +<U00B3> \xB3 |0 +<U00B4> \xB4 |0 +<U00B5> \xB5 |0 +<U00B6> \xB6 |0 +<U00B7> \xB7 |0 +<U00B8> \xB8 |0 +<U00B9> \xB9 |0 +<U00BB> \xBB |0 +<U00BC> \xBC |0 +<U00BD> \xBD |0 +<U00BE> \xBE |0 +<U00D7> \xD7 |0 +<U00E0> \xE0 |0 +<U00E2> \xE2 |0 +<U00E7> \xE7 |0 +<U00E8> \xE8 |0 +<U00E9> \xE9 |0 +<U00EA> \xEA |0 +<U00EB> \xEB |0 +<U00EE> \xEE |0 +<U00EF> \xEF |0 +<U00F4> \xF4 |0 +<U00F7> \xF7 |0 +<U00F9> \xF9 |0 +<U00FB> \xFB |0 +<U00FC> \xFC |0 +<U0152> \x8C |0 +<U0153> \x9C |0 +<U0192> \x83 |0 +<U02C6> \x88 |0 +<U060C> \xA1 |0 +<U061B> \xBA |0 +<U061F> \xBF |0 +<U0621> \xC1 |0 +<U0622> \xC2 |0 +<U0623> \xC3 |0 +<U0624> \xC4 |0 +<U0625> \xC5 |0 +<U0626> \xC6 |0 +<U0627> \xC7 |0 +<U0628> \xC8 |0 +<U0629> \xC9 |0 +<U062A> \xCA |0 +<U062B> \xCB |0 +<U062C> \xCC |0 +<U062D> \xCD |0 +<U062E> \xCE |0 +<U062F> \xCF |0 +<U0630> \xD0 |0 +<U0631> \xD1 |0 +<U0632> \xD2 |0 +<U0633> \xD3 |0 +<U0634> \xD4 |0 +<U0635> \xD5 |0 +<U0636> \xD6 |0 +<U0637> \xD8 |0 +<U0638> \xD9 |0 +<U0639> \xDA |0 +<U063A> \xDB |0 +<U0640> \xDC |0 +<U0641> \xDD |0 +<U0642> \xDE |0 +<U0643> \xDF |0 +<U0644> \xE1 |0 +<U0645> \xE3 |0 +<U0646> \xE4 |0 +<U0647> \xE5 |0 +<U0648> \xE6 |0 +<U0649> \xEC |0 +<U064A> \xED |0 +<U064B> \xF0 |0 +<U064C> \xF1 |0 +<U064D> \xF2 |0 +<U064E> \xF3 |0 +<U064F> \xF5 |0 +<U0650> \xF6 |0 +<U0651> \xF8 |0 +<U0652> \xFA |0 +<U0660> \x30 |1 +<U0661> \x31 |1 +<U0662> \x32 |1 +<U0663> \x33 |1 +<U0664> \x34 |1 +<U0665> \x35 |1 +<U0666> \x36 |1 +<U0667> \x37 |1 +<U0668> \x38 |1 +<U0669> \x39 |1 +<U066B> \x2C |1 +<U066C> \x2E |1 +<U0679> \x8A |0 +<U067E> \x81 |0 +<U0686> \x8D |0 +<U0688> \x8F |0 +<U0691> \x9A |0 +<U0698> \x8E |0 +<U06A9> \x98 |0 +<U06AF> \x90 |0 +<U06BA> \x9F |0 +<U06BE> \xAA |0 +<U06C1> \xC0 |0 +<U06D2> \xFF |0 +<U06F0> \x30 |1 +<U06F1> \x31 |1 +<U06F2> \x32 |1 +<U06F3> \x33 |1 +<U06F4> \x34 |1 +<U06F5> \x35 |1 +<U06F6> \x36 |1 +<U06F7> \x37 |1 +<U06F8> \x38 |1 +<U06F9> \x39 |1 +<U200C> \x9D |0 +<U200D> \x9E |0 +<U200E> \xFD |0 +<U200F> \xFE |0 +<U2013> \x96 |0 +<U2014> \x97 |0 +<U2018> \x91 |0 +<U2019> \x92 |0 +<U201A> \x82 |0 +<U201C> \x93 |0 +<U201D> \x94 |0 +<U201E> \x84 |0 +<U2020> \x86 |0 +<U2021> \x87 |0 +<U2022> \x95 |0 +<U2026> \x85 |0 +<U2030> \x89 |0 +<U2039> \x8B |0 +<U203A> \x9B |0 +<U20AC> \x80 |0 +<U2122> \x99 |0 +<UFB56> \x81 |1 +<UFB58> \x81 |1 +<UFB66> \x8A |1 +<UFB68> \x8A |1 +<UFB7A> \x8D |1 +<UFB7C> \x8D |1 +<UFB88> \x8F |1 +<UFB8A> \x8E |1 +<UFB8C> \x9A |1 +<UFB8E> \x98 |1 +<UFB90> \x98 |1 +<UFB92> \x90 |1 +<UFB94> \x90 |1 +<UFB9E> \x9F |1 +<UFBA6> \xC0 |1 +<UFBA8> \xC0 |1 +<UFBAA> \xAA |1 +<UFBAC> \xAA |1 +<UFBAE> \xFF |1 +<UFE70> \xF0 |1 +<UFE71> \xF0 |1 +<UFE72> \xF1 |1 +<UFE74> \xF2 |1 +<UFE76> \xF3 |1 +<UFE77> \xF3 |1 +<UFE78> \xF5 |1 +<UFE79> \xF5 |1 +<UFE7A> \xF6 |1 +<UFE7B> \xF6 |1 +<UFE7C> \xF8 |1 +<UFE7D> \xF8 |1 +<UFE7E> \xFA |1 +<UFE7F> \xFA |1 +<UFE80> \xC1 |1 +<UFE81> \xC2 |1 +<UFE82> \xC2 |1 +<UFE83> \xC3 |1 +<UFE84> \xC3 |1 +<UFE85> \xC4 |1 +<UFE86> \xC4 |1 +<UFE87> \xC5 |1 +<UFE88> \xC5 |1 +<UFE89> \xC6 |1 +<UFE8A> \xC6 |1 +<UFE8B> \xC6 |1 +<UFE8C> \xC6 |1 +<UFE8D> \xC7 |1 +<UFE8E> \xC7 |1 +<UFE8F> \xC8 |1 +<UFE90> \xC8 |1 +<UFE91> \xC8 |1 +<UFE92> \xC8 |1 +<UFE93> \xC9 |1 +<UFE94> \xC9 |1 +<UFE95> \xCA |1 +<UFE96> \xCA |1 +<UFE97> \xCA |1 +<UFE98> \xCA |1 +<UFE99> \xCB |1 +<UFE9A> \xCB |1 +<UFE9B> \xCB |1 +<UFE9C> \xCB |1 +<UFE9D> \xCC |1 +<UFE9E> \xCC |1 +<UFE9F> \xCC |1 +<UFEA0> \xCC |1 +<UFEA1> \xCD |1 +<UFEA2> \xCD |1 +<UFEA3> \xCD |1 +<UFEA4> \xCD |1 +<UFEA5> \xCE |1 +<UFEA6> \xCE |1 +<UFEA7> \xCE |1 +<UFEA8> \xCE |1 +<UFEA9> \xCF |1 +<UFEAA> \xCF |1 +<UFEAB> \xD0 |1 +<UFEAC> \xD0 |1 +<UFEAD> \xD1 |1 +<UFEAE> \xD1 |1 +<UFEAF> \xD2 |1 +<UFEB0> \xD2 |1 +<UFEB1> \xD3 |1 +<UFEB2> \xD3 |1 +<UFEB3> \xD3 |1 +<UFEB4> \xD3 |1 +<UFEB5> \xD4 |1 +<UFEB6> \xD4 |1 +<UFEB7> \xD4 |1 +<UFEB8> \xD4 |1 +<UFEB9> \xD5 |1 +<UFEBA> \xD5 |1 +<UFEBB> \xD5 |1 +<UFEBC> \xD5 |1 +<UFEBD> \xD6 |1 +<UFEBE> \xD6 |1 +<UFEBF> \xD6 |1 +<UFEC0> \xD6 |1 +<UFEC1> \xD8 |1 +<UFEC2> \xD8 |1 +<UFEC3> \xD8 |1 +<UFEC4> \xD8 |1 +<UFEC5> \xD9 |1 +<UFEC6> \xD9 |1 +<UFEC7> \xD9 |1 +<UFEC8> \xD9 |1 +<UFEC9> \xDA |1 +<UFECA> \xDA |1 +<UFECB> \xDA |1 +<UFECC> \xDA |1 +<UFECD> \xDB |1 +<UFECE> \xDB |1 +<UFECF> \xDB |1 +<UFED0> \xDB |1 +<UFED1> \xDD |1 +<UFED2> \xDD |1 +<UFED3> \xDD |1 +<UFED4> \xDD |1 +<UFED5> \xDE |1 +<UFED6> \xDE |1 +<UFED7> \xDE |1 +<UFED8> \xDE |1 +<UFED9> \xDF |1 +<UFEDA> \xDF |1 +<UFEDB> \xDF |1 +<UFEDC> \xDF |1 +<UFEDD> \xE1 |1 +<UFEDE> \xE1 |1 +<UFEDF> \xE1 |1 +<UFEE0> \xE1 |1 +<UFEE1> \xE3 |1 +<UFEE2> \xE3 |1 +<UFEE3> \xE3 |1 +<UFEE4> \xE3 |1 +<UFEE5> \xE4 |1 +<UFEE6> \xE4 |1 +<UFEE7> \xE4 |1 +<UFEE8> \xE4 |1 +<UFEE9> \xE5 |1 +<UFEEA> \xE5 |1 +<UFEEB> \xE5 |1 +<UFEEC> \xE5 |1 +<UFEED> \xE6 |1 +<UFEEE> \xE6 |1 +<UFEEF> \xEC |1 +<UFEF0> \xEC |1 +<UFEF1> \xED |1 +<UFEF2> \xED |1 +<UFEF3> \xED |1 +<UFEF4> \xED |1 +<UFF01> \x21 |1 +<UFF02> \x22 |1 +<UFF03> \x23 |1 +<UFF04> \x24 |1 +<UFF05> \x25 |1 +<UFF06> \x26 |1 +<UFF07> \x27 |1 +<UFF08> \x28 |1 +<UFF09> \x29 |1 +<UFF0A> \x2A |1 +<UFF0B> \x2B |1 +<UFF0C> \x2C |1 +<UFF0D> \x2D |1 +<UFF0E> \x2E |1 +<UFF0F> \x2F |1 +<UFF10> \x30 |1 +<UFF11> \x31 |1 +<UFF12> \x32 |1 +<UFF13> \x33 |1 +<UFF14> \x34 |1 +<UFF15> \x35 |1 +<UFF16> \x36 |1 +<UFF17> \x37 |1 +<UFF18> \x38 |1 +<UFF19> \x39 |1 +<UFF1A> \x3A |1 +<UFF1B> \x3B |1 +<UFF1C> \x3C |1 +<UFF1D> \x3D |1 +<UFF1E> \x3E |1 +<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 diff --git a/mcs/class/I18N/MidEast/ibm-916.ucm b/mcs/class/I18N/MidEast/ibm-916.ucm new file mode 100644 index 00000000000..26408070225 --- /dev/null +++ b/mcs/class/I18N/MidEast/ibm-916.ucm @@ -0,0 +1,339 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 09:28:04 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00394.RPMAP100 and 039434B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-916" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-916 +#_________ _________ +<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 +<U0080> \x80 |0 +<U0081> \x81 |0 +<U0082> \x82 |0 +<U0083> \x83 |0 +<U0084> \x84 |0 +<U0085> \x85 |0 +<U0086> \x86 |0 +<U0087> \x87 |0 +<U0088> \x88 |0 +<U0089> \x89 |0 +<U008A> \x8A |0 +<U008B> \x8B |0 +<U008C> \x8C |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U0091> \x91 |0 +<U0092> \x92 |0 +<U0093> \x93 |0 +<U0094> \x94 |0 +<U0095> \x95 |0 +<U0096> \x96 |0 +<U0097> \x97 |0 +<U0098> \x98 |0 +<U0099> \x99 |0 +<U009A> \x9A |0 +<U009B> \x9B |0 +<U009C> \x9C |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U009F> \x9F |0 +<U00A0> \xA0 |0 +<U00A2> \xA2 |0 +<U00A3> \xA3 |0 +<U00A4> \xA4 |0 +<U00A5> \xA5 |0 +<U00A6> \xA6 |0 +<U00A7> \xA7 |0 +<U00A8> \xA8 |0 +<U00A9> \xA9 |0 +<U00AB> \xAB |0 +<U00AC> \xAC |0 +<U00AD> \xAD |0 +<U00AE> \xAE |0 +<U00B0> \xB0 |0 +<U00B1> \xB1 |0 +<U00B2> \xB2 |0 +<U00B3> \xB3 |0 +<U00B4> \xB4 |0 +<U00B5> \xB5 |0 +<U00B6> \xB6 |0 +<U00B8> \xB8 |0 +<U00B9> \xB9 |0 +<U00BB> \xBB |0 +<U00BC> \xBC |0 +<U00BD> \xBD |0 +<U00BE> \xBE |0 +<U00D7> \xAA |0 +<U00F7> \xBA |0 +<U05D0> \xE0 |0 +<U05D1> \xE1 |0 +<U05D2> \xE2 |0 +<U05D3> \xE3 |0 +<U05D4> \xE4 |0 +<U05D5> \xE5 |0 +<U05D6> \xE6 |0 +<U05D7> \xE7 |0 +<U05D8> \xE8 |0 +<U05D9> \xE9 |0 +<U05DA> \xEA |0 +<U05DB> \xEB |0 +<U05DC> \xEC |0 +<U05DD> \xED |0 +<U05DE> \xEE |0 +<U05DF> \xEF |0 +<U05E0> \xF0 |0 +<U05E1> \xF1 |0 +<U05E2> \xF2 |0 +<U05E3> \xF3 |0 +<U05E4> \xF4 |0 +<U05E5> \xF5 |0 +<U05E6> \xF6 |0 +<U05E7> \xF7 |0 +<U05E8> \xF8 |0 +<U05E9> \xF9 |0 +<U05EA> \xFA |0 +<U2017> \xDF |0 +<U2022> \xB7 |0 +<U203E> \xAF |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 diff --git a/mcs/class/I18N/MidEast/ibm-920.ucm b/mcs/class/I18N/MidEast/ibm-920.ucm new file mode 100644 index 00000000000..c1c01aad48c --- /dev/null +++ b/mcs/class/I18N/MidEast/ibm-920.ucm @@ -0,0 +1,378 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 09:28:04 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00398.RPMAP100 and 039834B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-920" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-920 +#_________ _________ +<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 +<U0080> \x80 |0 +<U0081> \x81 |0 +<U0082> \x82 |0 +<U0083> \x83 |0 +<U0084> \x84 |0 +<U0085> \x85 |0 +<U0086> \x86 |0 +<U0087> \x87 |0 +<U0088> \x88 |0 +<U0089> \x89 |0 +<U008A> \x8A |0 +<U008B> \x8B |0 +<U008C> \x8C |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U0091> \x91 |0 +<U0092> \x92 |0 +<U0093> \x93 |0 +<U0094> \x94 |0 +<U0095> \x95 |0 +<U0096> \x96 |0 +<U0097> \x97 |0 +<U0098> \x98 |0 +<U0099> \x99 |0 +<U009A> \x9A |0 +<U009B> \x9B |0 +<U009C> \x9C |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U009F> \x9F |0 +<U00A0> \xA0 |0 +<U00A1> \xA1 |0 +<U00A2> \xA2 |0 +<U00A3> \xA3 |0 +<U00A4> \xA4 |0 +<U00A5> \xA5 |0 +<U00A6> \xA6 |0 +<U00A7> \xA7 |0 +<U00A8> \xA8 |0 +<U00A9> \xA9 |0 +<U00AA> \xAA |0 +<U00AB> \xAB |0 +<U00AC> \xAC |0 +<U00AD> \xAD |0 +<U00AE> \xAE |0 +<U00AF> \xAF |0 +<U00B0> \xB0 |0 +<U00B1> \xB1 |0 +<U00B2> \xB2 |0 +<U00B3> \xB3 |0 +<U00B4> \xB4 |0 +<U00B5> \xB5 |0 +<U00B6> \xB6 |0 +<U00B7> \xB7 |0 +<U00B8> \xB8 |0 +<U00B9> \xB9 |0 +<U00BA> \xBA |0 +<U00BB> \xBB |0 +<U00BC> \xBC |0 +<U00BD> \xBD |0 +<U00BE> \xBE |0 +<U00BF> \xBF |0 +<U00C0> \xC0 |0 +<U00C1> \xC1 |0 +<U00C2> \xC2 |0 +<U00C3> \xC3 |0 +<U00C4> \xC4 |0 +<U00C5> \xC5 |0 +<U00C6> \xC6 |0 +<U00C7> \xC7 |0 +<U00C8> \xC8 |0 +<U00C9> \xC9 |0 +<U00CA> \xCA |0 +<U00CB> \xCB |0 +<U00CC> \xCC |0 +<U00CD> \xCD |0 +<U00CE> \xCE |0 +<U00CF> \xCF |0 +<U00D1> \xD1 |0 +<U00D2> \xD2 |0 +<U00D3> \xD3 |0 +<U00D4> \xD4 |0 +<U00D5> \xD5 |0 +<U00D6> \xD6 |0 +<U00D7> \xD7 |0 +<U00D8> \xD8 |0 +<U00D9> \xD9 |0 +<U00DA> \xDA |0 +<U00DB> \xDB |0 +<U00DC> \xDC |0 +<U00DF> \xDF |0 +<U00E0> \xE0 |0 +<U00E1> \xE1 |0 +<U00E2> \xE2 |0 +<U00E3> \xE3 |0 +<U00E4> \xE4 |0 +<U00E5> \xE5 |0 +<U00E6> \xE6 |0 +<U00E7> \xE7 |0 +<U00E8> \xE8 |0 +<U00E9> \xE9 |0 +<U00EA> \xEA |0 +<U00EB> \xEB |0 +<U00EC> \xEC |0 +<U00ED> \xED |0 +<U00EE> \xEE |0 +<U00EF> \xEF |0 +<U00F1> \xF1 |0 +<U00F2> \xF2 |0 +<U00F3> \xF3 |0 +<U00F4> \xF4 |0 +<U00F5> \xF5 |0 +<U00F6> \xF6 |0 +<U00F7> \xF7 |0 +<U00F8> \xF8 |0 +<U00F9> \xF9 |0 +<U00FA> \xFA |0 +<U00FB> \xFB |0 +<U00FC> \xFC |0 +<U00FF> \xFF |0 +<U011E> \xD0 |0 +<U011F> \xF0 |0 +<U0130> \xDD |0 +<U0131> \xFD |0 +<U015E> \xDE |0 +<U015F> \xFE |0 +<U203E> \xAF |1 +<UFF01> \x21 |1 +<UFF02> \x22 |1 +<UFF03> \x23 |1 +<UFF04> \x24 |1 +<UFF05> \x25 |1 +<UFF06> \x26 |1 +<UFF07> \x27 |1 +<UFF08> \x28 |1 +<UFF09> \x29 |1 +<UFF0A> \x2A |1 +<UFF0B> \x2B |1 +<UFF0C> \x2C |1 +<UFF0D> \x2D |1 +<UFF0E> \x2E |1 +<UFF0F> \x2F |1 +<UFF10> \x30 |1 +<UFF11> \x31 |1 +<UFF12> \x32 |1 +<UFF13> \x33 |1 +<UFF14> \x34 |1 +<UFF15> \x35 |1 +<UFF16> \x36 |1 +<UFF17> \x37 |1 +<UFF18> \x38 |1 +<UFF19> \x39 |1 +<UFF1A> \x3A |1 +<UFF1B> \x3B |1 +<UFF1C> \x3C |1 +<UFF1D> \x3D |1 +<UFF1E> \x3E |1 +<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 diff --git a/mcs/class/I18N/MidEast/list.unix b/mcs/class/I18N/MidEast/list.unix new file mode 100755 index 00000000000..c50c67355cb --- /dev/null +++ b/mcs/class/I18N/MidEast/list.unix @@ -0,0 +1,7 @@ +CP1254.cs +CP1255.cs +CP1256.cs +CP28596.cs +CP28598.cs +CP28599.cs +CP38598.cs diff --git a/mcs/class/I18N/MidEast/makefile.gnu b/mcs/class/I18N/MidEast/makefile.gnu new file mode 100755 index 00000000000..534ab9ab2f4 --- /dev/null +++ b/mcs/class/I18N/MidEast/makefile.gnu @@ -0,0 +1,13 @@ +topdir = ../../.. + +LIBRARY = $(topdir)/class/lib/I18N.MidEast.dll + +LIB_LIST = list.unix +LIB_FLAGS = -r corlib -r mscorlib -r I18N + +SOURCES_INCLUDE=*.cs +SOURCES_EXCLUDE= + +export MONO_PATH_PREFIX = $(topdir)/class/lib: + +include $(topdir)/class/library.make diff --git a/mcs/class/I18N/Other/.cvsignore b/mcs/class/I18N/Other/.cvsignore new file mode 100644 index 00000000000..0c2ee6906fa --- /dev/null +++ b/mcs/class/I18N/Other/.cvsignore @@ -0,0 +1,4 @@ +list +.makefrag +.response +library-deps.stamp diff --git a/mcs/class/I18N/Other/CP1251.cs b/mcs/class/I18N/Other/CP1251.cs new file mode 100644 index 00000000000..a160145c4bd --- /dev/null +++ b/mcs/class/I18N/Other/CP1251.cs @@ -0,0 +1,403 @@ +/* + * CP1251.cs - Cyrillic (Windows) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-5347.ucm". + +namespace I18N.Other +{ + +using System; +using I18N.Common; + +public class CP1251 : ByteEncoding +{ + public CP1251() + : base(1251, ToChars, "Cyrillic (Windows)", + "koi8-r", "windows-1251", "windows-1251", + true, true, true, true, 1251) + {} + + 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', '\u0402', '\u0403', '\u201A', '\u0453', + '\u201E', '\u2026', '\u2020', '\u2021', '\u20AC', '\u2030', + '\u0409', '\u2039', '\u040A', '\u040C', '\u040B', '\u040F', + '\u0452', '\u2018', '\u2019', '\u201C', '\u201D', '\u2022', + '\u2013', '\u2014', '\u0098', '\u2122', '\u0459', '\u203A', + '\u045A', '\u045C', '\u045B', '\u045F', '\u00A0', '\u040E', + '\u045E', '\u0408', '\u00A4', '\u0490', '\u00A6', '\u00A7', + '\u0401', '\u00A9', '\u0404', '\u00AB', '\u00AC', '\u00AD', + '\u00AE', '\u0407', '\u00B0', '\u00B1', '\u0406', '\u0456', + '\u0491', '\u00B5', '\u00B6', '\u00B7', '\u0451', '\u2116', + '\u0454', '\u00BB', '\u0458', '\u0405', '\u0455', '\u0457', + '\u0410', '\u0411', '\u0412', '\u0413', '\u0414', '\u0415', + '\u0416', '\u0417', '\u0418', '\u0419', '\u041A', '\u041B', + '\u041C', '\u041D', '\u041E', '\u041F', '\u0420', '\u0421', + '\u0422', '\u0423', '\u0424', '\u0425', '\u0426', '\u0427', + '\u0428', '\u0429', '\u042A', '\u042B', '\u042C', '\u042D', + '\u042E', '\u042F', '\u0430', '\u0431', '\u0432', '\u0433', + '\u0434', '\u0435', '\u0436', '\u0437', '\u0438', '\u0439', + '\u043A', '\u043B', '\u043C', '\u043D', '\u043E', '\u043F', + '\u0440', '\u0441', '\u0442', '\u0443', '\u0444', '\u0445', + '\u0446', '\u0447', '\u0448', '\u0449', '\u044A', '\u044B', + '\u044C', '\u044D', '\u044E', '\u044F', + }; + + 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 0x0098: + case 0x00A0: + case 0x00A4: + case 0x00A6: + case 0x00A7: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00B0: + case 0x00B1: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00BB: + break; + case 0x0401: ch = 0xA8; break; + case 0x0402: ch = 0x80; break; + case 0x0403: ch = 0x81; break; + case 0x0404: ch = 0xAA; break; + case 0x0405: ch = 0xBD; break; + case 0x0406: ch = 0xB2; break; + case 0x0407: ch = 0xAF; break; + case 0x0408: ch = 0xA3; break; + case 0x0409: ch = 0x8A; break; + case 0x040A: ch = 0x8C; break; + case 0x040B: ch = 0x8E; break; + case 0x040C: ch = 0x8D; break; + case 0x040E: ch = 0xA1; break; + case 0x040F: ch = 0x8F; break; + case 0x0410: + case 0x0411: + case 0x0412: + case 0x0413: + case 0x0414: + case 0x0415: + case 0x0416: + case 0x0417: + case 0x0418: + case 0x0419: + case 0x041A: + case 0x041B: + case 0x041C: + case 0x041D: + case 0x041E: + case 0x041F: + case 0x0420: + case 0x0421: + case 0x0422: + case 0x0423: + case 0x0424: + case 0x0425: + case 0x0426: + case 0x0427: + case 0x0428: + case 0x0429: + case 0x042A: + case 0x042B: + case 0x042C: + case 0x042D: + case 0x042E: + case 0x042F: + case 0x0430: + case 0x0431: + case 0x0432: + case 0x0433: + case 0x0434: + case 0x0435: + case 0x0436: + case 0x0437: + case 0x0438: + case 0x0439: + case 0x043A: + case 0x043B: + case 0x043C: + case 0x043D: + case 0x043E: + case 0x043F: + case 0x0440: + case 0x0441: + case 0x0442: + case 0x0443: + case 0x0444: + case 0x0445: + case 0x0446: + case 0x0447: + case 0x0448: + case 0x0449: + case 0x044A: + case 0x044B: + case 0x044C: + case 0x044D: + case 0x044E: + case 0x044F: + ch -= 0x0350; + break; + case 0x0451: ch = 0xB8; break; + case 0x0452: ch = 0x90; break; + case 0x0453: ch = 0x83; break; + case 0x0454: ch = 0xBA; break; + case 0x0455: ch = 0xBE; break; + case 0x0456: ch = 0xB3; break; + case 0x0457: ch = 0xBF; break; + case 0x0458: ch = 0xBC; break; + case 0x0459: ch = 0x9A; break; + case 0x045A: ch = 0x9C; break; + case 0x045B: ch = 0x9E; break; + case 0x045C: ch = 0x9D; break; + case 0x045E: ch = 0xA2; break; + case 0x045F: ch = 0x9F; break; + case 0x0490: ch = 0xA5; break; + case 0x0491: ch = 0xB4; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x88; break; + case 0x2116: ch = 0xB9; break; + case 0x2122: ch = 0x99; 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 0x0098: + case 0x00A0: + case 0x00A4: + case 0x00A6: + case 0x00A7: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00B0: + case 0x00B1: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00BB: + break; + case 0x0401: ch = 0xA8; break; + case 0x0402: ch = 0x80; break; + case 0x0403: ch = 0x81; break; + case 0x0404: ch = 0xAA; break; + case 0x0405: ch = 0xBD; break; + case 0x0406: ch = 0xB2; break; + case 0x0407: ch = 0xAF; break; + case 0x0408: ch = 0xA3; break; + case 0x0409: ch = 0x8A; break; + case 0x040A: ch = 0x8C; break; + case 0x040B: ch = 0x8E; break; + case 0x040C: ch = 0x8D; break; + case 0x040E: ch = 0xA1; break; + case 0x040F: ch = 0x8F; break; + case 0x0410: + case 0x0411: + case 0x0412: + case 0x0413: + case 0x0414: + case 0x0415: + case 0x0416: + case 0x0417: + case 0x0418: + case 0x0419: + case 0x041A: + case 0x041B: + case 0x041C: + case 0x041D: + case 0x041E: + case 0x041F: + case 0x0420: + case 0x0421: + case 0x0422: + case 0x0423: + case 0x0424: + case 0x0425: + case 0x0426: + case 0x0427: + case 0x0428: + case 0x0429: + case 0x042A: + case 0x042B: + case 0x042C: + case 0x042D: + case 0x042E: + case 0x042F: + case 0x0430: + case 0x0431: + case 0x0432: + case 0x0433: + case 0x0434: + case 0x0435: + case 0x0436: + case 0x0437: + case 0x0438: + case 0x0439: + case 0x043A: + case 0x043B: + case 0x043C: + case 0x043D: + case 0x043E: + case 0x043F: + case 0x0440: + case 0x0441: + case 0x0442: + case 0x0443: + case 0x0444: + case 0x0445: + case 0x0446: + case 0x0447: + case 0x0448: + case 0x0449: + case 0x044A: + case 0x044B: + case 0x044C: + case 0x044D: + case 0x044E: + case 0x044F: + ch -= 0x0350; + break; + case 0x0451: ch = 0xB8; break; + case 0x0452: ch = 0x90; break; + case 0x0453: ch = 0x83; break; + case 0x0454: ch = 0xBA; break; + case 0x0455: ch = 0xBE; break; + case 0x0456: ch = 0xB3; break; + case 0x0457: ch = 0xBF; break; + case 0x0458: ch = 0xBC; break; + case 0x0459: ch = 0x9A; break; + case 0x045A: ch = 0x9C; break; + case 0x045B: ch = 0x9E; break; + case 0x045C: ch = 0x9D; break; + case 0x045E: ch = 0xA2; break; + case 0x045F: ch = 0x9F; break; + case 0x0490: ch = 0xA5; break; + case 0x0491: ch = 0xB4; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x88; break; + case 0x2116: ch = 0xB9; break; + case 0x2122: ch = 0x99; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1251 + +public class ENCwindows_1251 : CP1251 +{ + public ENCwindows_1251() : base() {} + +}; // class ENCwindows_1251 + +}; // namespace I18N.Other diff --git a/mcs/class/I18N/Other/CP1257.cs b/mcs/class/I18N/Other/CP1257.cs new file mode 100644 index 00000000000..cac55af6055 --- /dev/null +++ b/mcs/class/I18N/Other/CP1257.cs @@ -0,0 +1,395 @@ +/* + * CP1257.cs - Baltic (Windows) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-5353.ucm". + +namespace I18N.Other +{ + +using System; +using I18N.Common; + +public class CP1257 : ByteEncoding +{ + public CP1257() + : base(1257, ToChars, "Baltic (Windows)", + "iso-8859-4", "windows-1257", "windows-1257", + true, true, true, true, 1257) + {} + + 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', '\u20AC', '\u0081', '\u201A', '\u0083', + '\u201E', '\u2026', '\u2020', '\u2021', '\u0088', '\u2030', + '\u008A', '\u2039', '\u008C', '\u00A8', '\u02C7', '\u00B8', + '\u0090', '\u2018', '\u2019', '\u201C', '\u201D', '\u2022', + '\u2013', '\u2014', '\u0098', '\u2122', '\u009A', '\u203A', + '\u009C', '\u00AF', '\u02DB', '\u009F', '\u00A0', '\u003F', + '\u00A2', '\u00A3', '\u00A4', '\u003F', '\u00A6', '\u00A7', + '\u00D8', '\u00A9', '\u0156', '\u00AB', '\u00AC', '\u00AD', + '\u00AE', '\u00C6', '\u00B0', '\u00B1', '\u00B2', '\u00B3', + '\u00B4', '\u00B5', '\u00B6', '\u00B7', '\u00F8', '\u00B9', + '\u0157', '\u00BB', '\u00BC', '\u00BD', '\u00BE', '\u00E6', + '\u0104', '\u012E', '\u0100', '\u0106', '\u00C4', '\u00C5', + '\u0118', '\u0112', '\u010C', '\u00C9', '\u0179', '\u0116', + '\u0122', '\u0136', '\u012A', '\u013B', '\u0160', '\u0143', + '\u0145', '\u00D3', '\u014C', '\u00D5', '\u00D6', '\u00D7', + '\u0172', '\u0141', '\u015A', '\u016A', '\u00DC', '\u017B', + '\u017D', '\u00DF', '\u0105', '\u012F', '\u0101', '\u0107', + '\u00E4', '\u00E5', '\u0119', '\u0113', '\u010D', '\u00E9', + '\u017A', '\u0117', '\u0123', '\u0137', '\u012B', '\u013C', + '\u0161', '\u0144', '\u0146', '\u00F3', '\u014D', '\u00F5', + '\u00F6', '\u00F7', '\u0173', '\u0142', '\u015B', '\u016B', + '\u00FC', '\u017C', '\u017E', '\u02D9', + }; + + 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 0x0081: + case 0x0083: + case 0x0088: + case 0x008A: + case 0x008C: + case 0x0090: + case 0x0098: + case 0x009A: + case 0x009C: + case 0x009F: + case 0x00A0: + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A6: + case 0x00A7: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B9: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + case 0x00C4: + case 0x00C5: + case 0x00C9: + case 0x00D3: + case 0x00D5: + case 0x00D6: + case 0x00D7: + case 0x00DC: + case 0x00DF: + case 0x00E4: + case 0x00E5: + case 0x00E9: + case 0x00F3: + case 0x00F5: + case 0x00F6: + case 0x00F7: + case 0x00FC: + break; + case 0x00A8: ch = 0x8D; break; + case 0x00AF: ch = 0x9D; break; + case 0x00B8: ch = 0x8F; break; + case 0x00C6: ch = 0xAF; break; + case 0x00D8: ch = 0xA8; break; + case 0x00E6: ch = 0xBF; break; + case 0x00F8: ch = 0xB8; break; + case 0x0100: ch = 0xC2; break; + case 0x0101: ch = 0xE2; break; + case 0x0104: ch = 0xC0; break; + case 0x0105: ch = 0xE0; break; + case 0x0106: ch = 0xC3; break; + case 0x0107: ch = 0xE3; break; + case 0x010C: ch = 0xC8; break; + case 0x010D: ch = 0xE8; break; + case 0x0112: ch = 0xC7; break; + case 0x0113: ch = 0xE7; break; + case 0x0116: ch = 0xCB; break; + case 0x0117: ch = 0xEB; break; + case 0x0118: ch = 0xC6; break; + case 0x0119: ch = 0xE6; break; + case 0x0122: ch = 0xCC; break; + case 0x0123: ch = 0xEC; break; + case 0x012A: ch = 0xCE; break; + case 0x012B: ch = 0xEE; break; + case 0x012E: ch = 0xC1; break; + case 0x012F: ch = 0xE1; break; + case 0x0136: ch = 0xCD; break; + case 0x0137: ch = 0xED; break; + case 0x013B: ch = 0xCF; break; + case 0x013C: ch = 0xEF; break; + case 0x0141: ch = 0xD9; break; + case 0x0142: ch = 0xF9; break; + case 0x0143: ch = 0xD1; break; + case 0x0144: ch = 0xF1; break; + case 0x0145: ch = 0xD2; break; + case 0x0146: ch = 0xF2; break; + case 0x014C: ch = 0xD4; break; + case 0x014D: ch = 0xF4; break; + case 0x0156: ch = 0xAA; break; + case 0x0157: ch = 0xBA; break; + case 0x015A: ch = 0xDA; break; + case 0x015B: ch = 0xFA; break; + case 0x0160: ch = 0xD0; break; + case 0x0161: ch = 0xF0; break; + case 0x016A: ch = 0xDB; break; + case 0x016B: ch = 0xFB; break; + case 0x0172: ch = 0xD8; break; + case 0x0173: ch = 0xF8; break; + case 0x0179: ch = 0xCA; break; + case 0x017A: ch = 0xEA; break; + case 0x017B: ch = 0xDD; break; + case 0x017C: ch = 0xFD; break; + case 0x017D: ch = 0xDE; break; + case 0x017E: ch = 0xFE; break; + case 0x02C7: ch = 0x8E; break; + case 0x02D9: ch = 0xFF; break; + case 0x02DB: ch = 0x9E; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; 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 0x0081: + case 0x0083: + case 0x0088: + case 0x008A: + case 0x008C: + case 0x0090: + case 0x0098: + case 0x009A: + case 0x009C: + case 0x009F: + case 0x00A0: + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A6: + case 0x00A7: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B9: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + case 0x00C4: + case 0x00C5: + case 0x00C9: + case 0x00D3: + case 0x00D5: + case 0x00D6: + case 0x00D7: + case 0x00DC: + case 0x00DF: + case 0x00E4: + case 0x00E5: + case 0x00E9: + case 0x00F3: + case 0x00F5: + case 0x00F6: + case 0x00F7: + case 0x00FC: + break; + case 0x00A8: ch = 0x8D; break; + case 0x00AF: ch = 0x9D; break; + case 0x00B8: ch = 0x8F; break; + case 0x00C6: ch = 0xAF; break; + case 0x00D8: ch = 0xA8; break; + case 0x00E6: ch = 0xBF; break; + case 0x00F8: ch = 0xB8; break; + case 0x0100: ch = 0xC2; break; + case 0x0101: ch = 0xE2; break; + case 0x0104: ch = 0xC0; break; + case 0x0105: ch = 0xE0; break; + case 0x0106: ch = 0xC3; break; + case 0x0107: ch = 0xE3; break; + case 0x010C: ch = 0xC8; break; + case 0x010D: ch = 0xE8; break; + case 0x0112: ch = 0xC7; break; + case 0x0113: ch = 0xE7; break; + case 0x0116: ch = 0xCB; break; + case 0x0117: ch = 0xEB; break; + case 0x0118: ch = 0xC6; break; + case 0x0119: ch = 0xE6; break; + case 0x0122: ch = 0xCC; break; + case 0x0123: ch = 0xEC; break; + case 0x012A: ch = 0xCE; break; + case 0x012B: ch = 0xEE; break; + case 0x012E: ch = 0xC1; break; + case 0x012F: ch = 0xE1; break; + case 0x0136: ch = 0xCD; break; + case 0x0137: ch = 0xED; break; + case 0x013B: ch = 0xCF; break; + case 0x013C: ch = 0xEF; break; + case 0x0141: ch = 0xD9; break; + case 0x0142: ch = 0xF9; break; + case 0x0143: ch = 0xD1; break; + case 0x0144: ch = 0xF1; break; + case 0x0145: ch = 0xD2; break; + case 0x0146: ch = 0xF2; break; + case 0x014C: ch = 0xD4; break; + case 0x014D: ch = 0xF4; break; + case 0x0156: ch = 0xAA; break; + case 0x0157: ch = 0xBA; break; + case 0x015A: ch = 0xDA; break; + case 0x015B: ch = 0xFA; break; + case 0x0160: ch = 0xD0; break; + case 0x0161: ch = 0xF0; break; + case 0x016A: ch = 0xDB; break; + case 0x016B: ch = 0xFB; break; + case 0x0172: ch = 0xD8; break; + case 0x0173: ch = 0xF8; break; + case 0x0179: ch = 0xCA; break; + case 0x017A: ch = 0xEA; break; + case 0x017B: ch = 0xDD; break; + case 0x017C: ch = 0xFD; break; + case 0x017D: ch = 0xDE; break; + case 0x017E: ch = 0xFE; break; + case 0x02C7: ch = 0x8E; break; + case 0x02D9: ch = 0xFF; break; + case 0x02DB: ch = 0x9E; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1257 + +public class ENCwindows_1257 : CP1257 +{ + public ENCwindows_1257() : base() {} + +}; // class ENCwindows_1257 + +}; // namespace I18N.Other diff --git a/mcs/class/I18N/Other/CP1258.cs b/mcs/class/I18N/Other/CP1258.cs new file mode 100644 index 00000000000..afd266e44ca --- /dev/null +++ b/mcs/class/I18N/Other/CP1258.cs @@ -0,0 +1,399 @@ +/* + * CP1258.cs - Vietnamese (Windows) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-5354.ucm". + +namespace I18N.Other +{ + +using System; +using I18N.Common; + +public class CP1258 : ByteEncoding +{ + public CP1258() + : base(1258, ToChars, "Vietnamese (Windows)", + "windows-1258", "windows-1258", "windows-1258", + true, true, true, true, 1258) + {} + + 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', '\u20AC', '\u0081', '\u201A', '\u0192', + '\u201E', '\u2026', '\u2020', '\u2021', '\u02C6', '\u2030', + '\u008A', '\u2039', '\u0152', '\u008D', '\u008E', '\u008F', + '\u0090', '\u2018', '\u2019', '\u201C', '\u201D', '\u2022', + '\u2013', '\u2014', '\u02DC', '\u2122', '\u009A', '\u203A', + '\u0153', '\u009D', '\u009E', '\u0178', '\u00A0', '\u00A1', + '\u00A2', '\u00A3', '\u00A4', '\u00A5', '\u00A6', '\u00A7', + '\u00A8', '\u00A9', '\u00AA', '\u00AB', '\u00AC', '\u00AD', + '\u00AE', '\u00AF', '\u00B0', '\u00B1', '\u00B2', '\u00B3', + '\u00B4', '\u00B5', '\u00B6', '\u00B7', '\u00B8', '\u00B9', + '\u00BA', '\u00BB', '\u00BC', '\u00BD', '\u00BE', '\u00BF', + '\u00C0', '\u00C1', '\u00C2', '\u0102', '\u00C4', '\u00C5', + '\u00C6', '\u00C7', '\u00C8', '\u00C9', '\u00CA', '\u00CB', + '\u0300', '\u00CD', '\u00CE', '\u00CF', '\u0110', '\u00D1', + '\u0309', '\u00D3', '\u00D4', '\u01A0', '\u00D6', '\u00D7', + '\u00D8', '\u00D9', '\u00DA', '\u00DB', '\u00DC', '\u01AF', + '\u0303', '\u00DF', '\u00E0', '\u00E1', '\u00E2', '\u0103', + '\u00E4', '\u00E5', '\u00E6', '\u00E7', '\u00E8', '\u00E9', + '\u00EA', '\u00EB', '\u0301', '\u00ED', '\u00EE', '\u00EF', + '\u0111', '\u00F1', '\u0323', '\u00F3', '\u00F4', '\u01A1', + '\u00F6', '\u00F7', '\u00F8', '\u00F9', '\u00FA', '\u00FB', + '\u00FC', '\u01B0', '\u20AB', '\u00FF', + }; + + 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 0x0081: + case 0x008A: + case 0x008D: + case 0x008E: + case 0x008F: + case 0x0090: + case 0x009A: + case 0x009D: + case 0x009E: + case 0x00A0: + case 0x00A1: + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AA: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00AF: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B8: + case 0x00B9: + case 0x00BA: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + case 0x00BF: + case 0x00C0: + case 0x00C1: + case 0x00C2: + case 0x00C4: + case 0x00C5: + case 0x00C6: + case 0x00C7: + case 0x00C8: + case 0x00C9: + case 0x00CA: + case 0x00CB: + case 0x00CD: + case 0x00CE: + case 0x00CF: + case 0x00D1: + case 0x00D3: + case 0x00D4: + case 0x00D6: + case 0x00D7: + case 0x00D8: + case 0x00D9: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DF: + case 0x00E0: + case 0x00E1: + case 0x00E2: + case 0x00E4: + case 0x00E5: + case 0x00E6: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00ED: + case 0x00EE: + case 0x00EF: + case 0x00F1: + case 0x00F3: + case 0x00F4: + case 0x00F6: + case 0x00F7: + case 0x00F8: + case 0x00F9: + case 0x00FA: + case 0x00FB: + case 0x00FC: + case 0x00FF: + break; + case 0x0102: ch = 0xC3; break; + case 0x0103: ch = 0xE3; break; + case 0x0110: ch = 0xD0; break; + case 0x0111: ch = 0xF0; break; + case 0x0152: ch = 0x8C; break; + case 0x0153: ch = 0x9C; break; + case 0x0178: ch = 0x9F; break; + case 0x0192: ch = 0x83; break; + case 0x01A0: ch = 0xD5; break; + case 0x01A1: ch = 0xF5; break; + case 0x01AF: ch = 0xDD; break; + case 0x01B0: ch = 0xFD; break; + case 0x02C6: ch = 0x88; break; + case 0x02DC: ch = 0x98; break; + case 0x0300: ch = 0xCC; break; + case 0x0301: ch = 0xEC; break; + case 0x0303: ch = 0xDE; break; + case 0x0309: ch = 0xD2; break; + case 0x0323: ch = 0xF2; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AB: ch = 0xFE; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; 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 0x0081: + case 0x008A: + case 0x008D: + case 0x008E: + case 0x008F: + case 0x0090: + case 0x009A: + case 0x009D: + case 0x009E: + case 0x00A0: + case 0x00A1: + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AA: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00AF: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B8: + case 0x00B9: + case 0x00BA: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + case 0x00BF: + case 0x00C0: + case 0x00C1: + case 0x00C2: + case 0x00C4: + case 0x00C5: + case 0x00C6: + case 0x00C7: + case 0x00C8: + case 0x00C9: + case 0x00CA: + case 0x00CB: + case 0x00CD: + case 0x00CE: + case 0x00CF: + case 0x00D1: + case 0x00D3: + case 0x00D4: + case 0x00D6: + case 0x00D7: + case 0x00D8: + case 0x00D9: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DF: + case 0x00E0: + case 0x00E1: + case 0x00E2: + case 0x00E4: + case 0x00E5: + case 0x00E6: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00ED: + case 0x00EE: + case 0x00EF: + case 0x00F1: + case 0x00F3: + case 0x00F4: + case 0x00F6: + case 0x00F7: + case 0x00F8: + case 0x00F9: + case 0x00FA: + case 0x00FB: + case 0x00FC: + case 0x00FF: + break; + case 0x0102: ch = 0xC3; break; + case 0x0103: ch = 0xE3; break; + case 0x0110: ch = 0xD0; break; + case 0x0111: ch = 0xF0; break; + case 0x0152: ch = 0x8C; break; + case 0x0153: ch = 0x9C; break; + case 0x0178: ch = 0x9F; break; + case 0x0192: ch = 0x83; break; + case 0x01A0: ch = 0xD5; break; + case 0x01A1: ch = 0xF5; break; + case 0x01AF: ch = 0xDD; break; + case 0x01B0: ch = 0xFD; break; + case 0x02C6: ch = 0x88; break; + case 0x02DC: ch = 0x98; break; + case 0x0300: ch = 0xCC; break; + case 0x0301: ch = 0xEC; break; + case 0x0303: ch = 0xDE; break; + case 0x0309: ch = 0xD2; break; + case 0x0323: ch = 0xF2; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AB: ch = 0xFE; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1258 + +public class ENCwindows_1258 : CP1258 +{ + public ENCwindows_1258() : base() {} + +}; // class ENCwindows_1258 + +}; // namespace I18N.Other diff --git a/mcs/class/I18N/Other/CP20866.cs b/mcs/class/I18N/Other/CP20866.cs new file mode 100644 index 00000000000..f6fe27016dc --- /dev/null +++ b/mcs/class/I18N/Other/CP20866.cs @@ -0,0 +1,429 @@ +/* + * CP20866.cs - Cyrillic (KOI8-R) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-878.ucm". + +namespace I18N.Other +{ + +using System; +using I18N.Common; + +public class CP20866 : ByteEncoding +{ + public CP20866() + : base(20866, ToChars, "Cyrillic (KOI8-R)", + "koi8-r", "koi8-r", "koi8-r", + true, true, true, true, 1251) + {} + + 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', '\u2500', '\u2502', '\u250C', '\u2510', + '\u2514', '\u2518', '\u251C', '\u2524', '\u252C', '\u2534', + '\u253C', '\u2580', '\u2584', '\u2588', '\u258C', '\u2590', + '\u2591', '\u2592', '\u2593', '\u2320', '\u25A0', '\u2219', + '\u221A', '\u2248', '\u2264', '\u2265', '\u00A0', '\u2321', + '\u00B0', '\u00B2', '\u00B7', '\u00F7', '\u2550', '\u2551', + '\u2552', '\u0451', '\u2553', '\u2554', '\u2555', '\u2556', + '\u2557', '\u2558', '\u2559', '\u255A', '\u255B', '\u255C', + '\u255D', '\u255E', '\u255F', '\u2560', '\u2561', '\u0401', + '\u2562', '\u2563', '\u2564', '\u2565', '\u2566', '\u2567', + '\u2568', '\u2569', '\u256A', '\u256B', '\u256C', '\u00A9', + '\u044E', '\u0430', '\u0431', '\u0446', '\u0434', '\u0435', + '\u0444', '\u0433', '\u0445', '\u0438', '\u0439', '\u043A', + '\u043B', '\u043C', '\u043D', '\u043E', '\u043F', '\u044F', + '\u0440', '\u0441', '\u0442', '\u0443', '\u0436', '\u0432', + '\u044C', '\u044B', '\u0437', '\u0448', '\u044D', '\u0449', + '\u0447', '\u044A', '\u042E', '\u0410', '\u0411', '\u0426', + '\u0414', '\u0415', '\u0424', '\u0413', '\u0425', '\u0418', + '\u0419', '\u041A', '\u041B', '\u041C', '\u041D', '\u041E', + '\u041F', '\u042F', '\u0420', '\u0421', '\u0422', '\u0423', + '\u0416', '\u0412', '\u042C', '\u042B', '\u0417', '\u0428', + '\u042D', '\u0429', '\u0427', '\u042A', + }; + + 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 0x00A0: ch = 0x9A; break; + case 0x00A9: ch = 0xBF; break; + case 0x00B0: ch = 0x9C; break; + case 0x00B2: ch = 0x9D; break; + case 0x00B7: ch = 0x9E; break; + case 0x00F7: ch = 0x9F; break; + case 0x0401: ch = 0xB3; break; + case 0x0410: ch = 0xE1; break; + case 0x0411: ch = 0xE2; break; + case 0x0412: ch = 0xF7; break; + case 0x0413: ch = 0xE7; break; + case 0x0414: ch = 0xE4; break; + case 0x0415: ch = 0xE5; break; + case 0x0416: ch = 0xF6; break; + case 0x0417: ch = 0xFA; break; + case 0x0418: + case 0x0419: + case 0x041A: + case 0x041B: + case 0x041C: + case 0x041D: + case 0x041E: + case 0x041F: + ch -= 0x032F; + break; + case 0x0420: + case 0x0421: + case 0x0422: + case 0x0423: + ch -= 0x032E; + break; + case 0x0424: ch = 0xE6; break; + case 0x0425: ch = 0xE8; break; + case 0x0426: ch = 0xE3; break; + case 0x0427: ch = 0xFE; break; + case 0x0428: ch = 0xFB; break; + case 0x0429: ch = 0xFD; break; + case 0x042A: ch = 0xFF; break; + case 0x042B: ch = 0xF9; break; + case 0x042C: ch = 0xF8; break; + case 0x042D: ch = 0xFC; break; + case 0x042E: ch = 0xE0; break; + case 0x042F: ch = 0xF1; break; + case 0x0430: ch = 0xC1; break; + case 0x0431: ch = 0xC2; break; + case 0x0432: ch = 0xD7; break; + case 0x0433: ch = 0xC7; break; + case 0x0434: ch = 0xC4; break; + case 0x0435: ch = 0xC5; break; + case 0x0436: ch = 0xD6; break; + case 0x0437: ch = 0xDA; break; + case 0x0438: + case 0x0439: + case 0x043A: + case 0x043B: + case 0x043C: + case 0x043D: + case 0x043E: + case 0x043F: + ch -= 0x036F; + break; + case 0x0440: + case 0x0441: + case 0x0442: + case 0x0443: + ch -= 0x036E; + break; + case 0x0444: ch = 0xC6; break; + case 0x0445: ch = 0xC8; break; + case 0x0446: ch = 0xC3; break; + case 0x0447: ch = 0xDE; break; + case 0x0448: ch = 0xDB; break; + case 0x0449: ch = 0xDD; break; + case 0x044A: ch = 0xDF; break; + case 0x044B: ch = 0xD9; break; + case 0x044C: ch = 0xD8; break; + case 0x044D: ch = 0xDC; break; + case 0x044E: ch = 0xC0; break; + case 0x044F: ch = 0xD1; break; + case 0x0451: ch = 0xA3; break; + case 0x2219: ch = 0x95; break; + case 0x221A: ch = 0x96; break; + case 0x2248: ch = 0x97; break; + case 0x2264: ch = 0x98; break; + case 0x2265: ch = 0x99; break; + case 0x2320: ch = 0x93; break; + case 0x2321: ch = 0x9B; break; + case 0x2500: ch = 0x80; break; + case 0x2502: ch = 0x81; break; + case 0x250C: ch = 0x82; break; + case 0x2510: ch = 0x83; break; + case 0x2514: ch = 0x84; break; + case 0x2518: ch = 0x85; break; + case 0x251C: ch = 0x86; break; + case 0x2524: ch = 0x87; break; + case 0x252C: ch = 0x88; break; + case 0x2534: ch = 0x89; break; + case 0x253C: ch = 0x8A; break; + case 0x2550: ch = 0xA0; break; + case 0x2551: ch = 0xA1; break; + case 0x2552: ch = 0xA2; break; + case 0x2553: + case 0x2554: + case 0x2555: + case 0x2556: + case 0x2557: + case 0x2558: + case 0x2559: + case 0x255A: + case 0x255B: + case 0x255C: + case 0x255D: + case 0x255E: + case 0x255F: + case 0x2560: + case 0x2561: + ch -= 0x24AF; + break; + case 0x2562: + case 0x2563: + case 0x2564: + case 0x2565: + case 0x2566: + case 0x2567: + case 0x2568: + case 0x2569: + case 0x256A: + case 0x256B: + case 0x256C: + ch -= 0x24AE; + break; + case 0x2580: ch = 0x8B; break; + case 0x2584: ch = 0x8C; break; + case 0x2588: ch = 0x8D; break; + case 0x258C: ch = 0x8E; break; + case 0x2590: + case 0x2591: + case 0x2592: + case 0x2593: + ch -= 0x2501; + break; + case 0x25A0: ch = 0x94; break; + case 0xFFE8: ch = 0x81; break; + case 0xFFED: ch = 0x94; 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 0x00A0: ch = 0x9A; break; + case 0x00A9: ch = 0xBF; break; + case 0x00B0: ch = 0x9C; break; + case 0x00B2: ch = 0x9D; break; + case 0x00B7: ch = 0x9E; break; + case 0x00F7: ch = 0x9F; break; + case 0x0401: ch = 0xB3; break; + case 0x0410: ch = 0xE1; break; + case 0x0411: ch = 0xE2; break; + case 0x0412: ch = 0xF7; break; + case 0x0413: ch = 0xE7; break; + case 0x0414: ch = 0xE4; break; + case 0x0415: ch = 0xE5; break; + case 0x0416: ch = 0xF6; break; + case 0x0417: ch = 0xFA; break; + case 0x0418: + case 0x0419: + case 0x041A: + case 0x041B: + case 0x041C: + case 0x041D: + case 0x041E: + case 0x041F: + ch -= 0x032F; + break; + case 0x0420: + case 0x0421: + case 0x0422: + case 0x0423: + ch -= 0x032E; + break; + case 0x0424: ch = 0xE6; break; + case 0x0425: ch = 0xE8; break; + case 0x0426: ch = 0xE3; break; + case 0x0427: ch = 0xFE; break; + case 0x0428: ch = 0xFB; break; + case 0x0429: ch = 0xFD; break; + case 0x042A: ch = 0xFF; break; + case 0x042B: ch = 0xF9; break; + case 0x042C: ch = 0xF8; break; + case 0x042D: ch = 0xFC; break; + case 0x042E: ch = 0xE0; break; + case 0x042F: ch = 0xF1; break; + case 0x0430: ch = 0xC1; break; + case 0x0431: ch = 0xC2; break; + case 0x0432: ch = 0xD7; break; + case 0x0433: ch = 0xC7; break; + case 0x0434: ch = 0xC4; break; + case 0x0435: ch = 0xC5; break; + case 0x0436: ch = 0xD6; break; + case 0x0437: ch = 0xDA; break; + case 0x0438: + case 0x0439: + case 0x043A: + case 0x043B: + case 0x043C: + case 0x043D: + case 0x043E: + case 0x043F: + ch -= 0x036F; + break; + case 0x0440: + case 0x0441: + case 0x0442: + case 0x0443: + ch -= 0x036E; + break; + case 0x0444: ch = 0xC6; break; + case 0x0445: ch = 0xC8; break; + case 0x0446: ch = 0xC3; break; + case 0x0447: ch = 0xDE; break; + case 0x0448: ch = 0xDB; break; + case 0x0449: ch = 0xDD; break; + case 0x044A: ch = 0xDF; break; + case 0x044B: ch = 0xD9; break; + case 0x044C: ch = 0xD8; break; + case 0x044D: ch = 0xDC; break; + case 0x044E: ch = 0xC0; break; + case 0x044F: ch = 0xD1; break; + case 0x0451: ch = 0xA3; break; + case 0x2219: ch = 0x95; break; + case 0x221A: ch = 0x96; break; + case 0x2248: ch = 0x97; break; + case 0x2264: ch = 0x98; break; + case 0x2265: ch = 0x99; break; + case 0x2320: ch = 0x93; break; + case 0x2321: ch = 0x9B; break; + case 0x2500: ch = 0x80; break; + case 0x2502: ch = 0x81; break; + case 0x250C: ch = 0x82; break; + case 0x2510: ch = 0x83; break; + case 0x2514: ch = 0x84; break; + case 0x2518: ch = 0x85; break; + case 0x251C: ch = 0x86; break; + case 0x2524: ch = 0x87; break; + case 0x252C: ch = 0x88; break; + case 0x2534: ch = 0x89; break; + case 0x253C: ch = 0x8A; break; + case 0x2550: ch = 0xA0; break; + case 0x2551: ch = 0xA1; break; + case 0x2552: ch = 0xA2; break; + case 0x2553: + case 0x2554: + case 0x2555: + case 0x2556: + case 0x2557: + case 0x2558: + case 0x2559: + case 0x255A: + case 0x255B: + case 0x255C: + case 0x255D: + case 0x255E: + case 0x255F: + case 0x2560: + case 0x2561: + ch -= 0x24AF; + break; + case 0x2562: + case 0x2563: + case 0x2564: + case 0x2565: + case 0x2566: + case 0x2567: + case 0x2568: + case 0x2569: + case 0x256A: + case 0x256B: + case 0x256C: + ch -= 0x24AE; + break; + case 0x2580: ch = 0x8B; break; + case 0x2584: ch = 0x8C; break; + case 0x2588: ch = 0x8D; break; + case 0x258C: ch = 0x8E; break; + case 0x2590: + case 0x2591: + case 0x2592: + case 0x2593: + ch -= 0x2501; + break; + case 0x25A0: ch = 0x94; break; + case 0xFFE8: ch = 0x81; break; + case 0xFFED: ch = 0x94; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP20866 + +public class ENCkoi8_r : CP20866 +{ + public ENCkoi8_r() : base() {} + +}; // class ENCkoi8_r + +}; // namespace I18N.Other diff --git a/mcs/class/I18N/Other/CP21866.cs b/mcs/class/I18N/Other/CP21866.cs new file mode 100644 index 00000000000..a8caecea347 --- /dev/null +++ b/mcs/class/I18N/Other/CP21866.cs @@ -0,0 +1,429 @@ +/* + * CP21866.cs - Ukrainian (KOI8-U) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "koi8-u.ucm". + +namespace I18N.Other +{ + +using System; +using I18N.Common; + +public class CP21866 : ByteEncoding +{ + public CP21866() + : base(21866, ToChars, "Ukrainian (KOI8-U)", + "koi8-u", "koi8-u", "koi8-u", + true, true, true, true, 1251) + {} + + 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', '\u2500', '\u2502', '\u250C', '\u2510', + '\u2514', '\u2518', '\u251C', '\u2524', '\u252C', '\u2534', + '\u253C', '\u2580', '\u2584', '\u2588', '\u258C', '\u2590', + '\u2591', '\u2592', '\u2593', '\u2320', '\u25A0', '\u2219', + '\u221A', '\u2248', '\u2264', '\u2265', '\u00A0', '\u2321', + '\u00B0', '\u00B2', '\u00B7', '\u00F7', '\u2550', '\u2551', + '\u2552', '\u0451', '\u0454', '\u2554', '\u0456', '\u0457', + '\u2557', '\u2558', '\u2559', '\u255A', '\u255B', '\u0491', + '\u255D', '\u255E', '\u255F', '\u2560', '\u2561', '\u0401', + '\u0404', '\u2563', '\u0406', '\u0407', '\u2566', '\u2567', + '\u2568', '\u2569', '\u256A', '\u0490', '\u256C', '\u00A9', + '\u044E', '\u0430', '\u0431', '\u0446', '\u0434', '\u0435', + '\u0444', '\u0433', '\u0445', '\u0438', '\u0439', '\u043A', + '\u043B', '\u043C', '\u043D', '\u043E', '\u043F', '\u044F', + '\u0440', '\u0441', '\u0442', '\u0443', '\u0436', '\u0432', + '\u044C', '\u044B', '\u0437', '\u0448', '\u044D', '\u0449', + '\u0447', '\u044A', '\u042E', '\u0410', '\u0411', '\u0426', + '\u0414', '\u0415', '\u0424', '\u0413', '\u0425', '\u0418', + '\u0419', '\u041A', '\u041B', '\u041C', '\u041D', '\u041E', + '\u041F', '\u042F', '\u0420', '\u0421', '\u0422', '\u0423', + '\u0416', '\u0412', '\u042C', '\u042B', '\u0417', '\u0428', + '\u042D', '\u0429', '\u0427', '\u042A', + }; + + 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 0x00A0: ch = 0x9A; break; + case 0x00A9: ch = 0xBF; break; + case 0x00B0: ch = 0x9C; break; + case 0x00B2: ch = 0x9D; break; + case 0x00B7: ch = 0x9E; break; + case 0x00F7: ch = 0x9F; break; + case 0x0401: ch = 0xB3; break; + case 0x0404: ch = 0xB4; break; + case 0x0406: ch = 0xB6; break; + case 0x0407: ch = 0xB7; break; + case 0x0410: ch = 0xE1; break; + case 0x0411: ch = 0xE2; break; + case 0x0412: ch = 0xF7; break; + case 0x0413: ch = 0xE7; break; + case 0x0414: ch = 0xE4; break; + case 0x0415: ch = 0xE5; break; + case 0x0416: ch = 0xF6; break; + case 0x0417: ch = 0xFA; break; + case 0x0418: + case 0x0419: + case 0x041A: + case 0x041B: + case 0x041C: + case 0x041D: + case 0x041E: + case 0x041F: + ch -= 0x032F; + break; + case 0x0420: + case 0x0421: + case 0x0422: + case 0x0423: + ch -= 0x032E; + break; + case 0x0424: ch = 0xE6; break; + case 0x0425: ch = 0xE8; break; + case 0x0426: ch = 0xE3; break; + case 0x0427: ch = 0xFE; break; + case 0x0428: ch = 0xFB; break; + case 0x0429: ch = 0xFD; break; + case 0x042A: ch = 0xFF; break; + case 0x042B: ch = 0xF9; break; + case 0x042C: ch = 0xF8; break; + case 0x042D: ch = 0xFC; break; + case 0x042E: ch = 0xE0; break; + case 0x042F: ch = 0xF1; break; + case 0x0430: ch = 0xC1; break; + case 0x0431: ch = 0xC2; break; + case 0x0432: ch = 0xD7; break; + case 0x0433: ch = 0xC7; break; + case 0x0434: ch = 0xC4; break; + case 0x0435: ch = 0xC5; break; + case 0x0436: ch = 0xD6; break; + case 0x0437: ch = 0xDA; break; + case 0x0438: + case 0x0439: + case 0x043A: + case 0x043B: + case 0x043C: + case 0x043D: + case 0x043E: + case 0x043F: + ch -= 0x036F; + break; + case 0x0440: + case 0x0441: + case 0x0442: + case 0x0443: + ch -= 0x036E; + break; + case 0x0444: ch = 0xC6; break; + case 0x0445: ch = 0xC8; break; + case 0x0446: ch = 0xC3; break; + case 0x0447: ch = 0xDE; break; + case 0x0448: ch = 0xDB; break; + case 0x0449: ch = 0xDD; break; + case 0x044A: ch = 0xDF; break; + case 0x044B: ch = 0xD9; break; + case 0x044C: ch = 0xD8; break; + case 0x044D: ch = 0xDC; break; + case 0x044E: ch = 0xC0; break; + case 0x044F: ch = 0xD1; break; + case 0x0451: ch = 0xA3; break; + case 0x0454: ch = 0xA4; break; + case 0x0456: ch = 0xA6; break; + case 0x0457: ch = 0xA7; break; + case 0x0490: ch = 0xBD; break; + case 0x0491: ch = 0xAD; break; + case 0x2219: ch = 0x95; break; + case 0x221A: ch = 0x96; break; + case 0x2248: ch = 0x97; break; + case 0x2264: ch = 0x98; break; + case 0x2265: ch = 0x99; break; + case 0x2320: ch = 0x93; break; + case 0x2321: ch = 0x9B; break; + case 0x2500: ch = 0x80; break; + case 0x2502: ch = 0x81; break; + case 0x250C: ch = 0x82; break; + case 0x2510: ch = 0x83; break; + case 0x2514: ch = 0x84; break; + case 0x2518: ch = 0x85; break; + case 0x251C: ch = 0x86; break; + case 0x2524: ch = 0x87; break; + case 0x252C: ch = 0x88; break; + case 0x2534: ch = 0x89; break; + case 0x253C: ch = 0x8A; break; + case 0x2550: ch = 0xA0; break; + case 0x2551: ch = 0xA1; break; + case 0x2552: ch = 0xA2; break; + case 0x2554: ch = 0xA5; break; + case 0x2557: + case 0x2558: + case 0x2559: + case 0x255A: + case 0x255B: + ch -= 0x24AF; + break; + case 0x255D: + case 0x255E: + case 0x255F: + case 0x2560: + case 0x2561: + ch -= 0x24AF; + break; + case 0x2563: ch = 0xB5; break; + case 0x2566: + case 0x2567: + case 0x2568: + case 0x2569: + case 0x256A: + ch -= 0x24AE; + break; + case 0x256C: ch = 0xBE; break; + case 0x2580: ch = 0x8B; break; + case 0x2584: ch = 0x8C; break; + case 0x2588: ch = 0x8D; break; + case 0x258C: ch = 0x8E; break; + case 0x2590: + case 0x2591: + case 0x2592: + case 0x2593: + ch -= 0x2501; + break; + case 0x25A0: ch = 0x94; 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 0x00A0: ch = 0x9A; break; + case 0x00A9: ch = 0xBF; break; + case 0x00B0: ch = 0x9C; break; + case 0x00B2: ch = 0x9D; break; + case 0x00B7: ch = 0x9E; break; + case 0x00F7: ch = 0x9F; break; + case 0x0401: ch = 0xB3; break; + case 0x0404: ch = 0xB4; break; + case 0x0406: ch = 0xB6; break; + case 0x0407: ch = 0xB7; break; + case 0x0410: ch = 0xE1; break; + case 0x0411: ch = 0xE2; break; + case 0x0412: ch = 0xF7; break; + case 0x0413: ch = 0xE7; break; + case 0x0414: ch = 0xE4; break; + case 0x0415: ch = 0xE5; break; + case 0x0416: ch = 0xF6; break; + case 0x0417: ch = 0xFA; break; + case 0x0418: + case 0x0419: + case 0x041A: + case 0x041B: + case 0x041C: + case 0x041D: + case 0x041E: + case 0x041F: + ch -= 0x032F; + break; + case 0x0420: + case 0x0421: + case 0x0422: + case 0x0423: + ch -= 0x032E; + break; + case 0x0424: ch = 0xE6; break; + case 0x0425: ch = 0xE8; break; + case 0x0426: ch = 0xE3; break; + case 0x0427: ch = 0xFE; break; + case 0x0428: ch = 0xFB; break; + case 0x0429: ch = 0xFD; break; + case 0x042A: ch = 0xFF; break; + case 0x042B: ch = 0xF9; break; + case 0x042C: ch = 0xF8; break; + case 0x042D: ch = 0xFC; break; + case 0x042E: ch = 0xE0; break; + case 0x042F: ch = 0xF1; break; + case 0x0430: ch = 0xC1; break; + case 0x0431: ch = 0xC2; break; + case 0x0432: ch = 0xD7; break; + case 0x0433: ch = 0xC7; break; + case 0x0434: ch = 0xC4; break; + case 0x0435: ch = 0xC5; break; + case 0x0436: ch = 0xD6; break; + case 0x0437: ch = 0xDA; break; + case 0x0438: + case 0x0439: + case 0x043A: + case 0x043B: + case 0x043C: + case 0x043D: + case 0x043E: + case 0x043F: + ch -= 0x036F; + break; + case 0x0440: + case 0x0441: + case 0x0442: + case 0x0443: + ch -= 0x036E; + break; + case 0x0444: ch = 0xC6; break; + case 0x0445: ch = 0xC8; break; + case 0x0446: ch = 0xC3; break; + case 0x0447: ch = 0xDE; break; + case 0x0448: ch = 0xDB; break; + case 0x0449: ch = 0xDD; break; + case 0x044A: ch = 0xDF; break; + case 0x044B: ch = 0xD9; break; + case 0x044C: ch = 0xD8; break; + case 0x044D: ch = 0xDC; break; + case 0x044E: ch = 0xC0; break; + case 0x044F: ch = 0xD1; break; + case 0x0451: ch = 0xA3; break; + case 0x0454: ch = 0xA4; break; + case 0x0456: ch = 0xA6; break; + case 0x0457: ch = 0xA7; break; + case 0x0490: ch = 0xBD; break; + case 0x0491: ch = 0xAD; break; + case 0x2219: ch = 0x95; break; + case 0x221A: ch = 0x96; break; + case 0x2248: ch = 0x97; break; + case 0x2264: ch = 0x98; break; + case 0x2265: ch = 0x99; break; + case 0x2320: ch = 0x93; break; + case 0x2321: ch = 0x9B; break; + case 0x2500: ch = 0x80; break; + case 0x2502: ch = 0x81; break; + case 0x250C: ch = 0x82; break; + case 0x2510: ch = 0x83; break; + case 0x2514: ch = 0x84; break; + case 0x2518: ch = 0x85; break; + case 0x251C: ch = 0x86; break; + case 0x2524: ch = 0x87; break; + case 0x252C: ch = 0x88; break; + case 0x2534: ch = 0x89; break; + case 0x253C: ch = 0x8A; break; + case 0x2550: ch = 0xA0; break; + case 0x2551: ch = 0xA1; break; + case 0x2552: ch = 0xA2; break; + case 0x2554: ch = 0xA5; break; + case 0x2557: + case 0x2558: + case 0x2559: + case 0x255A: + case 0x255B: + ch -= 0x24AF; + break; + case 0x255D: + case 0x255E: + case 0x255F: + case 0x2560: + case 0x2561: + ch -= 0x24AF; + break; + case 0x2563: ch = 0xB5; break; + case 0x2566: + case 0x2567: + case 0x2568: + case 0x2569: + case 0x256A: + ch -= 0x24AE; + break; + case 0x256C: ch = 0xBE; break; + case 0x2580: ch = 0x8B; break; + case 0x2584: ch = 0x8C; break; + case 0x2588: ch = 0x8D; break; + case 0x258C: ch = 0x8E; break; + case 0x2590: + case 0x2591: + case 0x2592: + case 0x2593: + ch -= 0x2501; + break; + case 0x25A0: ch = 0x94; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP21866 + +public class ENCkoi8_u : CP21866 +{ + public ENCkoi8_u() : base() {} + +}; // class ENCkoi8_u + +}; // namespace I18N.Other diff --git a/mcs/class/I18N/Other/CP28594.cs b/mcs/class/I18N/Other/CP28594.cs new file mode 100644 index 00000000000..c8ca59fdfad --- /dev/null +++ b/mcs/class/I18N/Other/CP28594.cs @@ -0,0 +1,333 @@ +/* + * CP28594.cs - Baltic (ISO) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-914.ucm". + +namespace I18N.Other +{ + +using System; +using I18N.Common; + +public class CP28594 : ByteEncoding +{ + public CP28594() + : base(28594, ToChars, "Baltic (ISO)", + "iso-8859-4", "iso-8859-4", "iso-8859-4", + true, true, true, true, 1257) + {} + + 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', '\u0080', '\u0081', '\u0082', '\u0083', + '\u0084', '\u0085', '\u0086', '\u0087', '\u0088', '\u0089', + '\u008A', '\u008B', '\u008C', '\u008D', '\u008E', '\u008F', + '\u0090', '\u0091', '\u0092', '\u0093', '\u0094', '\u0095', + '\u0096', '\u0097', '\u0098', '\u0099', '\u009A', '\u009B', + '\u009C', '\u009D', '\u009E', '\u009F', '\u00A0', '\u0104', + '\u0138', '\u0156', '\u00A4', '\u0128', '\u013B', '\u00A7', + '\u00A8', '\u0160', '\u0112', '\u0122', '\u0166', '\u00AD', + '\u017D', '\u00AF', '\u00B0', '\u0105', '\u02DB', '\u0157', + '\u00B4', '\u0129', '\u013C', '\u02C7', '\u00B8', '\u0161', + '\u0113', '\u0123', '\u0167', '\u014A', '\u017E', '\u014B', + '\u0100', '\u00C1', '\u00C2', '\u00C3', '\u00C4', '\u00C5', + '\u00C6', '\u012E', '\u010C', '\u00C9', '\u0118', '\u00CB', + '\u0116', '\u00CD', '\u00CE', '\u012A', '\u0110', '\u0145', + '\u014C', '\u0136', '\u00D4', '\u00D5', '\u00D6', '\u00D7', + '\u00D8', '\u0172', '\u00DA', '\u00DB', '\u00DC', '\u0168', + '\u016A', '\u00DF', '\u0101', '\u00E1', '\u00E2', '\u00E3', + '\u00E4', '\u00E5', '\u00E6', '\u012F', '\u010D', '\u00E9', + '\u0119', '\u00EB', '\u0117', '\u00ED', '\u00EE', '\u012B', + '\u0111', '\u0146', '\u014D', '\u0137', '\u00F4', '\u00F5', + '\u00F6', '\u00F7', '\u00F8', '\u0173', '\u00FA', '\u00FB', + '\u00FC', '\u0169', '\u016B', '\u02D9', + }; + + 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 >= 161) switch(ch) + { + case 0x00A4: + case 0x00A7: + case 0x00A8: + case 0x00AD: + case 0x00AF: + case 0x00B0: + case 0x00B4: + case 0x00B8: + case 0x00C1: + case 0x00C2: + case 0x00C3: + case 0x00C4: + case 0x00C5: + case 0x00C6: + case 0x00C9: + case 0x00CB: + case 0x00CD: + case 0x00CE: + case 0x00D4: + case 0x00D5: + case 0x00D6: + case 0x00D7: + case 0x00D8: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DF: + case 0x00E1: + case 0x00E2: + case 0x00E3: + case 0x00E4: + case 0x00E5: + case 0x00E6: + case 0x00E9: + case 0x00EB: + case 0x00ED: + case 0x00EE: + case 0x00F4: + case 0x00F5: + case 0x00F6: + case 0x00F7: + case 0x00F8: + case 0x00FA: + case 0x00FB: + case 0x00FC: + break; + case 0x0100: ch = 0xC0; break; + case 0x0101: ch = 0xE0; break; + case 0x0104: ch = 0xA1; break; + case 0x0105: ch = 0xB1; break; + case 0x010C: ch = 0xC8; break; + case 0x010D: ch = 0xE8; break; + case 0x0110: ch = 0xD0; break; + case 0x0111: ch = 0xF0; break; + case 0x0112: ch = 0xAA; break; + case 0x0113: ch = 0xBA; break; + case 0x0116: ch = 0xCC; break; + case 0x0117: ch = 0xEC; break; + case 0x0118: ch = 0xCA; break; + case 0x0119: ch = 0xEA; break; + case 0x0122: ch = 0xAB; break; + case 0x0123: ch = 0xBB; break; + case 0x0128: ch = 0xA5; break; + case 0x0129: ch = 0xB5; break; + case 0x012A: ch = 0xCF; break; + case 0x012B: ch = 0xEF; break; + case 0x012E: ch = 0xC7; break; + case 0x012F: ch = 0xE7; break; + case 0x0136: ch = 0xD3; break; + case 0x0137: ch = 0xF3; break; + case 0x0138: ch = 0xA2; break; + case 0x013B: ch = 0xA6; break; + case 0x013C: ch = 0xB6; break; + case 0x0145: ch = 0xD1; break; + case 0x0146: ch = 0xF1; break; + case 0x014A: ch = 0xBD; break; + case 0x014B: ch = 0xBF; break; + case 0x014C: ch = 0xD2; break; + case 0x014D: ch = 0xF2; break; + case 0x0156: ch = 0xA3; break; + case 0x0157: ch = 0xB3; break; + case 0x0160: ch = 0xA9; break; + case 0x0161: ch = 0xB9; break; + case 0x0166: ch = 0xAC; break; + case 0x0167: ch = 0xBC; break; + case 0x0168: ch = 0xDD; break; + case 0x0169: ch = 0xFD; break; + case 0x016A: ch = 0xDE; break; + case 0x016B: ch = 0xFE; break; + case 0x0172: ch = 0xD9; break; + case 0x0173: ch = 0xF9; break; + case 0x017D: ch = 0xAE; break; + case 0x017E: ch = 0xBE; break; + case 0x02C7: ch = 0xB7; break; + case 0x02D9: ch = 0xFF; break; + case 0x02DB: ch = 0xB2; 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 >= 161) switch(ch) + { + case 0x00A4: + case 0x00A7: + case 0x00A8: + case 0x00AD: + case 0x00AF: + case 0x00B0: + case 0x00B4: + case 0x00B8: + case 0x00C1: + case 0x00C2: + case 0x00C3: + case 0x00C4: + case 0x00C5: + case 0x00C6: + case 0x00C9: + case 0x00CB: + case 0x00CD: + case 0x00CE: + case 0x00D4: + case 0x00D5: + case 0x00D6: + case 0x00D7: + case 0x00D8: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DF: + case 0x00E1: + case 0x00E2: + case 0x00E3: + case 0x00E4: + case 0x00E5: + case 0x00E6: + case 0x00E9: + case 0x00EB: + case 0x00ED: + case 0x00EE: + case 0x00F4: + case 0x00F5: + case 0x00F6: + case 0x00F7: + case 0x00F8: + case 0x00FA: + case 0x00FB: + case 0x00FC: + break; + case 0x0100: ch = 0xC0; break; + case 0x0101: ch = 0xE0; break; + case 0x0104: ch = 0xA1; break; + case 0x0105: ch = 0xB1; break; + case 0x010C: ch = 0xC8; break; + case 0x010D: ch = 0xE8; break; + case 0x0110: ch = 0xD0; break; + case 0x0111: ch = 0xF0; break; + case 0x0112: ch = 0xAA; break; + case 0x0113: ch = 0xBA; break; + case 0x0116: ch = 0xCC; break; + case 0x0117: ch = 0xEC; break; + case 0x0118: ch = 0xCA; break; + case 0x0119: ch = 0xEA; break; + case 0x0122: ch = 0xAB; break; + case 0x0123: ch = 0xBB; break; + case 0x0128: ch = 0xA5; break; + case 0x0129: ch = 0xB5; break; + case 0x012A: ch = 0xCF; break; + case 0x012B: ch = 0xEF; break; + case 0x012E: ch = 0xC7; break; + case 0x012F: ch = 0xE7; break; + case 0x0136: ch = 0xD3; break; + case 0x0137: ch = 0xF3; break; + case 0x0138: ch = 0xA2; break; + case 0x013B: ch = 0xA6; break; + case 0x013C: ch = 0xB6; break; + case 0x0145: ch = 0xD1; break; + case 0x0146: ch = 0xF1; break; + case 0x014A: ch = 0xBD; break; + case 0x014B: ch = 0xBF; break; + case 0x014C: ch = 0xD2; break; + case 0x014D: ch = 0xF2; break; + case 0x0156: ch = 0xA3; break; + case 0x0157: ch = 0xB3; break; + case 0x0160: ch = 0xA9; break; + case 0x0161: ch = 0xB9; break; + case 0x0166: ch = 0xAC; break; + case 0x0167: ch = 0xBC; break; + case 0x0168: ch = 0xDD; break; + case 0x0169: ch = 0xFD; break; + case 0x016A: ch = 0xDE; break; + case 0x016B: ch = 0xFE; break; + case 0x0172: ch = 0xD9; break; + case 0x0173: ch = 0xF9; break; + case 0x017D: ch = 0xAE; break; + case 0x017E: ch = 0xBE; break; + case 0x02C7: ch = 0xB7; break; + case 0x02D9: ch = 0xFF; break; + case 0x02DB: ch = 0xB2; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP28594 + +public class ENCiso_8859_4 : CP28594 +{ + public ENCiso_8859_4() : base() {} + +}; // class ENCiso_8859_4 + +}; // namespace I18N.Other diff --git a/mcs/class/I18N/Other/CP28595.cs b/mcs/class/I18N/Other/CP28595.cs new file mode 100644 index 00000000000..6c8abbc37a7 --- /dev/null +++ b/mcs/class/I18N/Other/CP28595.cs @@ -0,0 +1,345 @@ +/* + * CP28595.cs - Cyrillic (ISO) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-915.ucm". + +namespace I18N.Other +{ + +using System; +using I18N.Common; + +public class CP28595 : ByteEncoding +{ + public CP28595() + : base(28595, ToChars, "Cyrillic (ISO)", + "iso-8859-5", "iso-8859-5", "iso-8859-5", + true, true, true, true, 1251) + {} + + 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', '\u0080', '\u0081', '\u0082', '\u0083', + '\u0084', '\u0085', '\u0086', '\u0087', '\u0088', '\u0089', + '\u008A', '\u008B', '\u008C', '\u008D', '\u008E', '\u008F', + '\u0090', '\u0091', '\u0092', '\u0093', '\u0094', '\u0095', + '\u0096', '\u0097', '\u0098', '\u0099', '\u009A', '\u009B', + '\u009C', '\u009D', '\u009E', '\u009F', '\u00A0', '\u0401', + '\u0402', '\u0403', '\u0404', '\u0405', '\u0406', '\u0407', + '\u0408', '\u0409', '\u040A', '\u040B', '\u040C', '\u00AD', + '\u040E', '\u040F', '\u0410', '\u0411', '\u0412', '\u0413', + '\u0414', '\u0415', '\u0416', '\u0417', '\u0418', '\u0419', + '\u041A', '\u041B', '\u041C', '\u041D', '\u041E', '\u041F', + '\u0420', '\u0421', '\u0422', '\u0423', '\u0424', '\u0425', + '\u0426', '\u0427', '\u0428', '\u0429', '\u042A', '\u042B', + '\u042C', '\u042D', '\u042E', '\u042F', '\u0430', '\u0431', + '\u0432', '\u0433', '\u0434', '\u0435', '\u0436', '\u0437', + '\u0438', '\u0439', '\u043A', '\u043B', '\u043C', '\u043D', + '\u043E', '\u043F', '\u0440', '\u0441', '\u0442', '\u0443', + '\u0444', '\u0445', '\u0446', '\u0447', '\u0448', '\u0449', + '\u044A', '\u044B', '\u044C', '\u044D', '\u044E', '\u044F', + '\u2116', '\u0451', '\u0452', '\u0453', '\u0454', '\u0455', + '\u0456', '\u0457', '\u0458', '\u0459', '\u045A', '\u045B', + '\u045C', '\u00A7', '\u045E', '\u045F', + }; + + 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 >= 161) switch(ch) + { + case 0x00AD: + break; + case 0x00A7: ch = 0xFD; break; + case 0x0401: + case 0x0402: + case 0x0403: + case 0x0404: + case 0x0405: + case 0x0406: + case 0x0407: + case 0x0408: + case 0x0409: + case 0x040A: + case 0x040B: + case 0x040C: + ch -= 0x0360; + break; + case 0x040E: + case 0x040F: + case 0x0410: + case 0x0411: + case 0x0412: + case 0x0413: + case 0x0414: + case 0x0415: + case 0x0416: + case 0x0417: + case 0x0418: + case 0x0419: + case 0x041A: + case 0x041B: + case 0x041C: + case 0x041D: + case 0x041E: + case 0x041F: + case 0x0420: + case 0x0421: + case 0x0422: + case 0x0423: + case 0x0424: + case 0x0425: + case 0x0426: + case 0x0427: + case 0x0428: + case 0x0429: + case 0x042A: + case 0x042B: + case 0x042C: + case 0x042D: + case 0x042E: + case 0x042F: + case 0x0430: + case 0x0431: + case 0x0432: + case 0x0433: + case 0x0434: + case 0x0435: + case 0x0436: + case 0x0437: + case 0x0438: + case 0x0439: + case 0x043A: + case 0x043B: + case 0x043C: + case 0x043D: + case 0x043E: + case 0x043F: + case 0x0440: + case 0x0441: + case 0x0442: + case 0x0443: + case 0x0444: + case 0x0445: + case 0x0446: + case 0x0447: + case 0x0448: + case 0x0449: + case 0x044A: + case 0x044B: + case 0x044C: + case 0x044D: + case 0x044E: + case 0x044F: + ch -= 0x0360; + break; + case 0x0451: + case 0x0452: + case 0x0453: + case 0x0454: + case 0x0455: + case 0x0456: + case 0x0457: + case 0x0458: + case 0x0459: + case 0x045A: + case 0x045B: + case 0x045C: + ch -= 0x0360; + break; + case 0x045E: ch = 0xFE; break; + case 0x045F: ch = 0xFF; break; + case 0x2116: ch = 0xF0; 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 >= 161) switch(ch) + { + case 0x00AD: + break; + case 0x00A7: ch = 0xFD; break; + case 0x0401: + case 0x0402: + case 0x0403: + case 0x0404: + case 0x0405: + case 0x0406: + case 0x0407: + case 0x0408: + case 0x0409: + case 0x040A: + case 0x040B: + case 0x040C: + ch -= 0x0360; + break; + case 0x040E: + case 0x040F: + case 0x0410: + case 0x0411: + case 0x0412: + case 0x0413: + case 0x0414: + case 0x0415: + case 0x0416: + case 0x0417: + case 0x0418: + case 0x0419: + case 0x041A: + case 0x041B: + case 0x041C: + case 0x041D: + case 0x041E: + case 0x041F: + case 0x0420: + case 0x0421: + case 0x0422: + case 0x0423: + case 0x0424: + case 0x0425: + case 0x0426: + case 0x0427: + case 0x0428: + case 0x0429: + case 0x042A: + case 0x042B: + case 0x042C: + case 0x042D: + case 0x042E: + case 0x042F: + case 0x0430: + case 0x0431: + case 0x0432: + case 0x0433: + case 0x0434: + case 0x0435: + case 0x0436: + case 0x0437: + case 0x0438: + case 0x0439: + case 0x043A: + case 0x043B: + case 0x043C: + case 0x043D: + case 0x043E: + case 0x043F: + case 0x0440: + case 0x0441: + case 0x0442: + case 0x0443: + case 0x0444: + case 0x0445: + case 0x0446: + case 0x0447: + case 0x0448: + case 0x0449: + case 0x044A: + case 0x044B: + case 0x044C: + case 0x044D: + case 0x044E: + case 0x044F: + ch -= 0x0360; + break; + case 0x0451: + case 0x0452: + case 0x0453: + case 0x0454: + case 0x0455: + case 0x0456: + case 0x0457: + case 0x0458: + case 0x0459: + case 0x045A: + case 0x045B: + case 0x045C: + ch -= 0x0360; + break; + case 0x045E: ch = 0xFE; break; + case 0x045F: ch = 0xFF; break; + case 0x2116: ch = 0xF0; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP28595 + +public class ENCiso_8859_5 : CP28595 +{ + public ENCiso_8859_5() : base() {} + +}; // class ENCiso_8859_5 + +}; // namespace I18N.Other diff --git a/mcs/class/I18N/Other/CP57002.cs b/mcs/class/I18N/Other/CP57002.cs new file mode 100644 index 00000000000..740f392b5c8 --- /dev/null +++ b/mcs/class/I18N/Other/CP57002.cs @@ -0,0 +1,496 @@ +/* + * CP57002.cs - ISCII code pages 57002-57011. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +namespace I18N.Other +{ + +using System; +using System.Text; +using I18N.Common; + +// This class provides an abstract base for the ISCII encodings, +// which all have a similar pattern. Code points 0x00-0x7F are +// the standard ASCII character set, and code points 0x80-0xFF +// are a shifted version of the Unicode character set, starting +// at a fixed offset. + +public abstract class ISCIIEncoding : Encoding +{ + // Internal state. + protected int shift; + protected String encodingName; + protected String webName; + + // Constructor. + protected ISCIIEncoding(int codePage, int shift, + String encodingName, String webName) + : base(codePage) + { + this.shift = shift; + this.encodingName = encodingName; + this.webName = webName; + } + + // Get the number of bytes needed to encode a character buffer. + public override int GetByteCount(char[] chars, int index, int count) + { + if(chars == null) + { + throw new ArgumentNullException("chars"); + } + if(index < 0 || index > chars.Length) + { + throw new ArgumentOutOfRangeException + ("index", Strings.GetString("ArgRange_Array")); + } + if(count < 0 || count > (chars.Length - index)) + { + throw new ArgumentOutOfRangeException + ("count", Strings.GetString("ArgRange_Array")); + } + return count; + } + + // Convenience wrappers for "GetByteCount". + public override int GetByteCount(String s) + { + if(s == null) + { + throw new ArgumentNullException("s"); + } + return s.Length; + } + + // Get the bytes that result from encoding a character buffer. + public override int GetBytes(char[] chars, int charIndex, int charCount, + byte[] bytes, int byteIndex) + { + if(chars == null) + { + throw new ArgumentNullException("chars"); + } + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(charIndex < 0 || charIndex > chars.Length) + { + throw new ArgumentOutOfRangeException + ("charIndex", Strings.GetString("ArgRange_Array")); + } + if(charCount < 0 || charCount > (chars.Length - charIndex)) + { + throw new ArgumentOutOfRangeException + ("charCount", Strings.GetString("ArgRange_Array")); + } + if(byteIndex < 0 || byteIndex > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("byteIndex", Strings.GetString("ArgRange_Array")); + } + if((bytes.Length - byteIndex) < charCount) + { + throw new ArgumentException + (Strings.GetString("Arg_InsufficientSpace"), "bytes"); + } + + // Convert the characters into bytes. + char ch; + int posn = byteIndex; + char first = (char)shift; + char last = (char)(shift + 0x7F); + while(charCount-- > 0) + { + ch = chars[charIndex++]; + if(ch < (char)0x0080) + { + // Regular ASCII subset. + bytes[posn++] = (byte)ch; + } + else if(ch >= first && ch <= last) + { + // ISCII range that we need to shift. + bytes[posn++] = (byte)(ch - first + 0x80); + } + else if(ch >= '\uFF01' && ch <= '\uFF5E') + { + // ASCII full-width characters. + bytes[posn++] = (byte)(ch - 0xFEE0); + } + else + { + bytes[posn++] = (byte)'?'; + } + } + + // Return the final length of the output. + return posn - byteIndex; + } + + // Convenience wrappers for "GetBytes". + public override int GetBytes(String s, int charIndex, int charCount, + byte[] bytes, int byteIndex) + { + // Validate the parameters. + if(s == null) + { + throw new ArgumentNullException("s"); + } + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(charIndex < 0 || charIndex > s.Length) + { + throw new ArgumentOutOfRangeException + ("charIndex", + Strings.GetString("ArgRange_StringIndex")); + } + if(charCount < 0 || charCount > (s.Length - charIndex)) + { + throw new ArgumentOutOfRangeException + ("charCount", + Strings.GetString("ArgRange_StringRange")); + } + if(byteIndex < 0 || byteIndex > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("byteIndex", + Strings.GetString("ArgRange_Array")); + } + if((bytes.Length - byteIndex) < charCount) + { + throw new ArgumentException + (Strings.GetString("Arg_InsufficientSpace"), "bytes"); + } + + // Convert the characters into bytes. + char ch; + int posn = byteIndex; + char first = (char)shift; + char last = (char)(shift + 0x7F); + while(charCount-- > 0) + { + ch = s[charIndex++]; + if(ch < (char)0x0080) + { + // Regular ASCII subset. + bytes[posn++] = (byte)ch; + } + else if(ch >= first && ch <= last) + { + // ISCII range that we need to shift. + bytes[posn++] = (byte)(ch - first + 0x80); + } + else if(ch >= '\uFF01' && ch <= '\uFF5E') + { + // ASCII full-width characters. + bytes[posn++] = (byte)(ch - 0xFEE0); + } + else + { + bytes[posn++] = (byte)'?'; + } + } + + // Return the final length of the output. + return posn - byteIndex; + } + + // Get the number of characters needed to decode a byte buffer. + public override int GetCharCount(byte[] bytes, int index, int count) + { + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(index < 0 || index > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("index", Strings.GetString("ArgRange_Array")); + } + if(count < 0 || count > (bytes.Length - index)) + { + throw new ArgumentOutOfRangeException + ("count", Strings.GetString("ArgRange_Array")); + } + return count; + } + + // Get the characters that result from decoding a byte buffer. + public override int GetChars(byte[] bytes, int byteIndex, int byteCount, + char[] chars, int charIndex) + { + // Validate the parameters. + if(bytes == null) + { + throw new ArgumentNullException("bytes"); + } + if(chars == null) + { + throw new ArgumentNullException("chars"); + } + if(byteIndex < 0 || byteIndex > bytes.Length) + { + throw new ArgumentOutOfRangeException + ("byteIndex", Strings.GetString("ArgRange_Array")); + } + if(byteCount < 0 || byteCount > (bytes.Length - byteIndex)) + { + throw new ArgumentOutOfRangeException + ("byteCount", Strings.GetString("ArgRange_Array")); + } + if(charIndex < 0 || charIndex > chars.Length) + { + throw new ArgumentOutOfRangeException + ("charIndex", Strings.GetString("ArgRange_Array")); + } + if((chars.Length - charIndex) < byteCount) + { + throw new ArgumentException + (Strings.GetString("Arg_InsufficientSpace"), "chars"); + } + + // Convert the bytes into characters. + int count = byteCount; + int byteval; + int shift = this.shift - 0x80; + while(count-- > 0) + { + byteval = (int)(bytes[byteIndex++]); + if(byteval < 0x80) + { + // Ordinary ASCII character. + chars[charIndex++] = (char)byteval; + } + else + { + // Shift the ISCII character into the Unicode page. + chars[charIndex++] = (char)(byteval + shift); + } + } + return byteCount; + } + + // Get the maximum number of bytes needed to encode a + // specified number of characters. + public override int GetMaxByteCount(int charCount) + { + if(charCount < 0) + { + throw new ArgumentOutOfRangeException + ("charCount", + Strings.GetString("ArgRange_NonNegative")); + } + return charCount; + } + + // Get the maximum number of characters needed to decode a + // specified number of bytes. + public override int GetMaxCharCount(int byteCount) + { + if(byteCount < 0) + { + throw new ArgumentOutOfRangeException + ("byteCount", + Strings.GetString("ArgRange_NonNegative")); + } + return byteCount; + } + +#if !ECMA_COMPAT + + // Get the mail body name for this encoding. + public override String BodyName + { + get + { + return webName; + } + } + + // Get the human-readable name for this encoding. + public override String EncodingName + { + get + { + return encodingName; + } + } + + // Get the mail agent header name for this encoding. + public override String HeaderName + { + get + { + return webName; + } + } + + // Get the IANA-preferred Web name for this encoding. + public override String WebName + { + get + { + return webName; + } + } + +#endif // !ECMA_COMPAT + +}; // class ISCIIEncoding + +// Define the ISCII code pages as subclasses of "ISCIIEncoding". + +public class CP57002 : ISCIIEncoding +{ + public CP57002() : base(57002, 0x0900, "ISCII Devanagari", "x-iscii-de") {} + +}; // class CP57002 + +public class CP57003 : ISCIIEncoding +{ + public CP57003() : base(57003, 0x0980, "ISCII Bengali", "x-iscii-be") {} + +}; // class CP57003 + +public class CP57004 : ISCIIEncoding +{ + public CP57004() : base(57004, 0x0B80, "ISCII Tamil", "x-iscii-ta") {} + +}; // class CP57004 + +public class CP57005 : ISCIIEncoding +{ + public CP57005() : base(57005, 0x0B80, "ISCII Telugu", "x-iscii-te") {} + +}; // class CP57005 + +public class CP57006 : ISCIIEncoding +{ + // Note: Unicode has a "Sinhala" page, but no "Assamese" page. + // Until I hear otherwise, I will assume that they are the same + // thing with different names - Rhys Weatherley, 16 April 2002. + public CP57006() : base(57006, 0x0D80, "ISCII Assamese", "x-iscii-as") {} + +}; // class CP57006 + +public class CP57007 : ISCIIEncoding +{ + public CP57007() : base(57007, 0x0B00, "ISCII Oriya", "x-iscii-or") {} + +}; // class CP57007 + +public class CP57008 : ISCIIEncoding +{ + public CP57008() : base(57008, 0x0C80, "ISCII Kannada", "x-iscii-ka") {} + +}; // class CP57008 + +public class CP57009 : ISCIIEncoding +{ + public CP57009() : base(57009, 0x0D00, "ISCII Malayalam", "x-iscii-ma") {} + +}; // class CP57009 + +public class CP57010 : ISCIIEncoding +{ + public CP57010() : base(57010, 0x0A80, "ISCII Gujarati", "x-iscii-gu") {} + +}; // class CP57010 + +public class CP57011 : ISCIIEncoding +{ + // Note: Unicode has a "Gurmukhi" page, but no "Punjabi" page. + // Other ISCII-related information on the Internet seems to + // indicate that they are the same. Until I hear otherwise, + // I will assume that they are the same thing with different + // names - Rhys Weatherley, 16 April 2002. + public CP57011() : base(57011, 0x0A00, "ISCII Punjabi", "x-iscii-pa") {} + +}; // class CP57011 + +// Define the web encoding name aliases for the above code pages. + +public class ENCx_iscii_de : CP57002 +{ + public ENCx_iscii_de() : base() {} + +}; // class ENCx_iscii_de + +public class ENCx_iscii_be : CP57003 +{ + public ENCx_iscii_be() : base() {} + +}; // class ENCx_iscii_be + +public class ENCx_iscii_ta : CP57004 +{ + public ENCx_iscii_ta() : base() {} + +}; // class ENCx_iscii_ta + +public class ENCx_iscii_te : CP57005 +{ + public ENCx_iscii_te() : base() {} + +}; // class ENCx_iscii_te + +public class ENCx_iscii_as : CP57006 +{ + public ENCx_iscii_as() : base() {} + +}; // class ENCx_iscii_as + +public class ENCx_iscii_or : CP57007 +{ + public ENCx_iscii_or() : base() {} + +}; // class ENCx_iscii_or + +public class ENCx_iscii_ka : CP57008 +{ + public ENCx_iscii_ka() : base() {} + +}; // class ENCx_iscii_ka + +public class ENCx_iscii_ma : CP57009 +{ + public ENCx_iscii_ma() : base() {} + +}; // class ENCx_iscii_ma + +public class ENCx_iscii_gu : CP57010 +{ + public ENCx_iscii_gu() : base() {} + +}; // class ENCx_iscii_gu + +public class ENCx_iscii_pa : CP57011 +{ + public ENCx_iscii_pa() : base() {} + +}; // class ENCx_iscii_pa + +}; // namespace I18N.Other diff --git a/mcs/class/I18N/Other/CP874.cs b/mcs/class/I18N/Other/CP874.cs new file mode 100644 index 00000000000..97b41aa29d8 --- /dev/null +++ b/mcs/class/I18N/Other/CP874.cs @@ -0,0 +1,537 @@ +/* + * CP874.cs - Thai (Windows) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-874.ucm". + +namespace I18N.Other +{ + +using System; +using I18N.Common; + +public class CP874 : ByteEncoding +{ + public CP874() + : base(874, ToChars, "Thai (Windows)", + "windows-874", "windows-874", "windows-874", + true, true, true, true, 874) + {} + + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u0E48', '\u0E01', + '\u0E02', '\u0E03', '\u0E04', '\u0E05', '\u0E06', '\u0E07', + '\u0E08', '\u0E09', '\u0E0A', '\u0E0B', '\u0E0C', '\u0E0D', + '\u0E0E', '\u0E0F', '\u0E10', '\u0E11', '\u0E12', '\u0E13', + '\u0E14', '\u0E15', '\u0E16', '\u0E17', '\u0E18', '\u0E19', + '\u0E1A', '\u0E1B', '\u0E1C', '\u0E1D', '\u0E1E', '\u0E1F', + '\u0E20', '\u0E21', '\u0E22', '\u0E23', '\u0E24', '\u0E25', + '\u0E26', '\u0E27', '\u0E28', '\u0E29', '\u0E2A', '\u0E2B', + '\u0E2C', '\u0E2D', '\u0E2E', '\u0E2F', '\u0E30', '\u0E31', + '\u0E32', '\u0E33', '\u0E34', '\u0E35', '\u0E36', '\u0E37', + '\u0E38', '\u0E39', '\u0E3A', '\u0E49', '\u0E4A', '\u0E4B', + '\u0E4C', '\u0E3F', '\u0E40', '\u0E41', '\u0E42', '\u0E43', + '\u0E44', '\u0E45', '\u0E46', '\u0E47', '\u0E48', '\u0E49', + '\u0E4A', '\u0E4B', '\u0E4C', '\u0E4D', '\u0E4E', '\u0E4F', + '\u0E50', '\u0E51', '\u0E52', '\u0E53', '\u0E54', '\u0E55', + '\u0E56', '\u0E57', '\u0E58', '\u0E59', '\u0E5A', '\u0E5B', + '\u00A2', '\u00AC', '\u00A6', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A2: ch = 0xFC; break; + case 0x00A6: ch = 0xFE; break; + case 0x00AC: ch = 0xFD; break; + case 0x0E01: + case 0x0E02: + case 0x0E03: + case 0x0E04: + case 0x0E05: + case 0x0E06: + case 0x0E07: + case 0x0E08: + case 0x0E09: + case 0x0E0A: + case 0x0E0B: + case 0x0E0C: + case 0x0E0D: + case 0x0E0E: + case 0x0E0F: + case 0x0E10: + case 0x0E11: + case 0x0E12: + case 0x0E13: + case 0x0E14: + case 0x0E15: + case 0x0E16: + case 0x0E17: + case 0x0E18: + case 0x0E19: + case 0x0E1A: + case 0x0E1B: + case 0x0E1C: + case 0x0E1D: + case 0x0E1E: + case 0x0E1F: + case 0x0E20: + case 0x0E21: + case 0x0E22: + case 0x0E23: + case 0x0E24: + case 0x0E25: + case 0x0E26: + case 0x0E27: + case 0x0E28: + case 0x0E29: + case 0x0E2A: + case 0x0E2B: + case 0x0E2C: + case 0x0E2D: + case 0x0E2E: + case 0x0E2F: + case 0x0E30: + case 0x0E31: + case 0x0E32: + case 0x0E33: + case 0x0E34: + case 0x0E35: + case 0x0E36: + case 0x0E37: + case 0x0E38: + case 0x0E39: + case 0x0E3A: + ch -= 0x0D60; + break; + case 0x0E3F: + case 0x0E40: + case 0x0E41: + case 0x0E42: + case 0x0E43: + case 0x0E44: + case 0x0E45: + case 0x0E46: + case 0x0E47: + case 0x0E48: + case 0x0E49: + case 0x0E4A: + case 0x0E4B: + case 0x0E4C: + case 0x0E4D: + case 0x0E4E: + case 0x0E4F: + case 0x0E50: + case 0x0E51: + case 0x0E52: + case 0x0E53: + case 0x0E54: + case 0x0E55: + case 0x0E56: + case 0x0E57: + case 0x0E58: + case 0x0E59: + case 0x0E5A: + case 0x0E5B: + ch -= 0x0D60; + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A2: ch = 0xFC; break; + case 0x00A6: ch = 0xFE; break; + case 0x00AC: ch = 0xFD; break; + case 0x0E01: + case 0x0E02: + case 0x0E03: + case 0x0E04: + case 0x0E05: + case 0x0E06: + case 0x0E07: + case 0x0E08: + case 0x0E09: + case 0x0E0A: + case 0x0E0B: + case 0x0E0C: + case 0x0E0D: + case 0x0E0E: + case 0x0E0F: + case 0x0E10: + case 0x0E11: + case 0x0E12: + case 0x0E13: + case 0x0E14: + case 0x0E15: + case 0x0E16: + case 0x0E17: + case 0x0E18: + case 0x0E19: + case 0x0E1A: + case 0x0E1B: + case 0x0E1C: + case 0x0E1D: + case 0x0E1E: + case 0x0E1F: + case 0x0E20: + case 0x0E21: + case 0x0E22: + case 0x0E23: + case 0x0E24: + case 0x0E25: + case 0x0E26: + case 0x0E27: + case 0x0E28: + case 0x0E29: + case 0x0E2A: + case 0x0E2B: + case 0x0E2C: + case 0x0E2D: + case 0x0E2E: + case 0x0E2F: + case 0x0E30: + case 0x0E31: + case 0x0E32: + case 0x0E33: + case 0x0E34: + case 0x0E35: + case 0x0E36: + case 0x0E37: + case 0x0E38: + case 0x0E39: + case 0x0E3A: + ch -= 0x0D60; + break; + case 0x0E3F: + case 0x0E40: + case 0x0E41: + case 0x0E42: + case 0x0E43: + case 0x0E44: + case 0x0E45: + case 0x0E46: + case 0x0E47: + case 0x0E48: + case 0x0E49: + case 0x0E4A: + case 0x0E4B: + case 0x0E4C: + case 0x0E4D: + case 0x0E4E: + case 0x0E4F: + case 0x0E50: + case 0x0E51: + case 0x0E52: + case 0x0E53: + case 0x0E54: + case 0x0E55: + case 0x0E56: + case 0x0E57: + case 0x0E58: + case 0x0E59: + case 0x0E5A: + case 0x0E5B: + ch -= 0x0D60; + break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP874 + +public class ENCwindows_874 : CP874 +{ + public ENCwindows_874() : base() {} + +}; // class ENCwindows_874 + +}; // namespace I18N.Other diff --git a/mcs/class/I18N/Other/ibm-5347.ucm b/mcs/class/I18N/Other/ibm-5347.ucm new file mode 100644 index 00000000000..fc262e6c0bc --- /dev/null +++ b/mcs/class/I18N/Other/ibm-5347.ucm @@ -0,0 +1,377 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1998-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:44 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B014E3.RPMAP100 and 14E344B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-5347" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-5347 +#_________ _________ +<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 +<U0098> \x98 |0 +<U00A0> \xA0 |0 +<U00A4> \xA4 |0 +<U00A6> \xA6 |0 +<U00A7> \xA7 |0 +<U00A9> \xA9 |0 +<U00AB> \xAB |0 +<U00AC> \xAC |0 +<U00AD> \xAD |0 +<U00AE> \xAE |0 +<U00B0> \xB0 |0 +<U00B1> \xB1 |0 +<U00B5> \xB5 |0 +<U00B6> \xB6 |0 +<U00B7> \xB7 |0 +<U00BB> \xBB |0 +<U0401> \xA8 |0 +<U0402> \x80 |0 +<U0403> \x81 |0 +<U0404> \xAA |0 +<U0405> \xBD |0 +<U0406> \xB2 |0 +<U0407> \xAF |0 +<U0408> \xA3 |0 +<U0409> \x8A |0 +<U040A> \x8C |0 +<U040B> \x8E |0 +<U040C> \x8D |0 +<U040E> \xA1 |0 +<U040F> \x8F |0 +<U0410> \xC0 |0 +<U0411> \xC1 |0 +<U0412> \xC2 |0 +<U0413> \xC3 |0 +<U0414> \xC4 |0 +<U0415> \xC5 |0 +<U0416> \xC6 |0 +<U0417> \xC7 |0 +<U0418> \xC8 |0 +<U0419> \xC9 |0 +<U041A> \xCA |0 +<U041B> \xCB |0 +<U041C> \xCC |0 +<U041D> \xCD |0 +<U041E> \xCE |0 +<U041F> \xCF |0 +<U0420> \xD0 |0 +<U0421> \xD1 |0 +<U0422> \xD2 |0 +<U0423> \xD3 |0 +<U0424> \xD4 |0 +<U0425> \xD5 |0 +<U0426> \xD6 |0 +<U0427> \xD7 |0 +<U0428> \xD8 |0 +<U0429> \xD9 |0 +<U042A> \xDA |0 +<U042B> \xDB |0 +<U042C> \xDC |0 +<U042D> \xDD |0 +<U042E> \xDE |0 +<U042F> \xDF |0 +<U0430> \xE0 |0 +<U0431> \xE1 |0 +<U0432> \xE2 |0 +<U0433> \xE3 |0 +<U0434> \xE4 |0 +<U0435> \xE5 |0 +<U0436> \xE6 |0 +<U0437> \xE7 |0 +<U0438> \xE8 |0 +<U0439> \xE9 |0 +<U043A> \xEA |0 +<U043B> \xEB |0 +<U043C> \xEC |0 +<U043D> \xED |0 +<U043E> \xEE |0 +<U043F> \xEF |0 +<U0440> \xF0 |0 +<U0441> \xF1 |0 +<U0442> \xF2 |0 +<U0443> \xF3 |0 +<U0444> \xF4 |0 +<U0445> \xF5 |0 +<U0446> \xF6 |0 +<U0447> \xF7 |0 +<U0448> \xF8 |0 +<U0449> \xF9 |0 +<U044A> \xFA |0 +<U044B> \xFB |0 +<U044C> \xFC |0 +<U044D> \xFD |0 +<U044E> \xFE |0 +<U044F> \xFF |0 +<U0451> \xB8 |0 +<U0452> \x90 |0 +<U0453> \x83 |0 +<U0454> \xBA |0 +<U0455> \xBE |0 +<U0456> \xB3 |0 +<U0457> \xBF |0 +<U0458> \xBC |0 +<U0459> \x9A |0 +<U045A> \x9C |0 +<U045B> \x9E |0 +<U045C> \x9D |0 +<U045E> \xA2 |0 +<U045F> \x9F |0 +<U0490> \xA5 |0 +<U0491> \xB4 |0 +<U2013> \x96 |0 +<U2014> \x97 |0 +<U2018> \x91 |0 +<U2019> \x92 |0 +<U201A> \x82 |0 +<U201C> \x93 |0 +<U201D> \x94 |0 +<U201E> \x84 |0 +<U2020> \x86 |0 +<U2021> \x87 |0 +<U2022> \x95 |0 +<U2026> \x85 |0 +<U2030> \x89 |0 +<U2039> \x8B |0 +<U203A> \x9B |0 +<U20AC> \x88 |0 +<U2116> \xB9 |0 +<U2122> \x99 |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 diff --git a/mcs/class/I18N/Other/ibm-5353.ucm b/mcs/class/I18N/Other/ibm-5353.ucm new file mode 100644 index 00000000000..3afd0182fea --- /dev/null +++ b/mcs/class/I18N/Other/ibm-5353.ucm @@ -0,0 +1,377 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1998-2001, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:45 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B014E9.RPMAP100 and 14E944B0.TPMAP100 +# +# Patched for jitterbug 792 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-5353" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-5353 +#_________ _________ +<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 +<U0081> \x81 |0 +<U0083> \x83 |0 +<U0088> \x88 |0 +<U008A> \x8A |0 +<U008C> \x8C |0 +<U0090> \x90 |0 +<U0098> \x98 |0 +<U009A> \x9A |0 +<U009C> \x9C |0 +<U009F> \x9F |0 +<U00A0> \xA0 |0 +<U00A2> \xA2 |0 +<U00A3> \xA3 |0 +<U00A4> \xA4 |0 +<U00A6> \xA6 |0 +<U00A7> \xA7 |0 +<U00A8> \x8D |0 +<U00A9> \xA9 |0 +<U00AB> \xAB |0 +<U00AC> \xAC |0 +<U00AD> \xAD |0 +<U00AE> \xAE |0 +<U00AF> \x9D |0 +<U00B0> \xB0 |0 +<U00B1> \xB1 |0 +<U00B2> \xB2 |0 +<U00B3> \xB3 |0 +<U00B4> \xB4 |0 +<U00B5> \xB5 |0 +<U00B6> \xB6 |0 +<U00B7> \xB7 |0 +<U00B8> \x8F |0 +<U00B9> \xB9 |0 +<U00BB> \xBB |0 +<U00BC> \xBC |0 +<U00BD> \xBD |0 +<U00BE> \xBE |0 +<U00C4> \xC4 |0 +<U00C5> \xC5 |0 +<U00C6> \xAF |0 +<U00C9> \xC9 |0 +<U00D3> \xD3 |0 +<U00D5> \xD5 |0 +<U00D6> \xD6 |0 +<U00D7> \xD7 |0 +<U00D8> \xA8 |0 +<U00DC> \xDC |0 +<U00DF> \xDF |0 +<U00E4> \xE4 |0 +<U00E5> \xE5 |0 +<U00E6> \xBF |0 +<U00E9> \xE9 |0 +<U00F3> \xF3 |0 +<U00F5> \xF5 |0 +<U00F6> \xF6 |0 +<U00F7> \xF7 |0 +<U00F8> \xB8 |0 +<U00FC> \xFC |0 +<U0100> \xC2 |0 +<U0101> \xE2 |0 +<U0104> \xC0 |0 +<U0105> \xE0 |0 +<U0106> \xC3 |0 +<U0107> \xE3 |0 +<U010C> \xC8 |0 +<U010D> \xE8 |0 +<U0112> \xC7 |0 +<U0113> \xE7 |0 +<U0116> \xCB |0 +<U0117> \xEB |0 +<U0118> \xC6 |0 +<U0119> \xE6 |0 +<U0122> \xCC |0 +<U0123> \xEC |0 +<U012A> \xCE |0 +<U012B> \xEE |0 +<U012E> \xC1 |0 +<U012F> \xE1 |0 +<U0136> \xCD |0 +<U0137> \xED |0 +<U013B> \xCF |0 +<U013C> \xEF |0 +<U0141> \xD9 |0 +<U0142> \xF9 |0 +<U0143> \xD1 |0 +<U0144> \xF1 |0 +<U0145> \xD2 |0 +<U0146> \xF2 |0 +<U014C> \xD4 |0 +<U014D> \xF4 |0 +<U0156> \xAA |0 +<U0157> \xBA |0 +<U015A> \xDA |0 +<U015B> \xFA |0 +<U0160> \xD0 |0 +<U0161> \xF0 |0 +<U016A> \xDB |0 +<U016B> \xFB |0 +<U0172> \xD8 |0 +<U0173> \xF8 |0 +<U0179> \xCA |0 +<U017A> \xEA |0 +<U017B> \xDD |0 +<U017C> \xFD |0 +<U017D> \xDE |0 +<U017E> \xFE |0 +<U02C7> \x8E |0 +<U02D9> \xFF |0 +<U02DB> \x9E |0 +<U2013> \x96 |0 +<U2014> \x97 |0 +<U2018> \x91 |0 +<U2019> \x92 |0 +<U201A> \x82 |0 +<U201C> \x93 |0 +<U201D> \x94 |0 +<U201E> \x84 |0 +<U2020> \x86 |0 +<U2021> \x87 |0 +<U2022> \x95 |0 +<U2026> \x85 |0 +<U2030> \x89 |0 +<U2039> \x8B |0 +<U203A> \x9B |0 +<U20AC> \x80 |0 +<U2122> \x99 |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 diff --git a/mcs/class/I18N/Other/ibm-5354.ucm b/mcs/class/I18N/Other/ibm-5354.ucm new file mode 100644 index 00000000000..3d4bcaa7750 --- /dev/null +++ b/mcs/class/I18N/Other/ibm-5354.ucm @@ -0,0 +1,377 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1998-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:45 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B014EA.RPMAP100 and 14EA44B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-5354" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-5354 +#_________ _________ +<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 +<U0081> \x81 |0 +<U008A> \x8A |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U009A> \x9A |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U00A0> \xA0 |0 +<U00A1> \xA1 |0 +<U00A2> \xA2 |0 +<U00A3> \xA3 |0 +<U00A4> \xA4 |0 +<U00A5> \xA5 |0 +<U00A6> \xA6 |0 +<U00A7> \xA7 |0 +<U00A8> \xA8 |0 +<U00A9> \xA9 |0 +<U00AA> \xAA |0 +<U00AB> \xAB |0 +<U00AC> \xAC |0 +<U00AD> \xAD |0 +<U00AE> \xAE |0 +<U00AF> \xAF |0 +<U00B0> \xB0 |0 +<U00B1> \xB1 |0 +<U00B2> \xB2 |0 +<U00B3> \xB3 |0 +<U00B4> \xB4 |0 +<U00B5> \xB5 |0 +<U00B6> \xB6 |0 +<U00B7> \xB7 |0 +<U00B8> \xB8 |0 +<U00B9> \xB9 |0 +<U00BA> \xBA |0 +<U00BB> \xBB |0 +<U00BC> \xBC |0 +<U00BD> \xBD |0 +<U00BE> \xBE |0 +<U00BF> \xBF |0 +<U00C0> \xC0 |0 +<U00C1> \xC1 |0 +<U00C2> \xC2 |0 +<U00C4> \xC4 |0 +<U00C5> \xC5 |0 +<U00C6> \xC6 |0 +<U00C7> \xC7 |0 +<U00C8> \xC8 |0 +<U00C9> \xC9 |0 +<U00CA> \xCA |0 +<U00CB> \xCB |0 +<U00CD> \xCD |0 +<U00CE> \xCE |0 +<U00CF> \xCF |0 +<U00D1> \xD1 |0 +<U00D3> \xD3 |0 +<U00D4> \xD4 |0 +<U00D6> \xD6 |0 +<U00D7> \xD7 |0 +<U00D8> \xD8 |0 +<U00D9> \xD9 |0 +<U00DA> \xDA |0 +<U00DB> \xDB |0 +<U00DC> \xDC |0 +<U00DF> \xDF |0 +<U00E0> \xE0 |0 +<U00E1> \xE1 |0 +<U00E2> \xE2 |0 +<U00E4> \xE4 |0 +<U00E5> \xE5 |0 +<U00E6> \xE6 |0 +<U00E7> \xE7 |0 +<U00E8> \xE8 |0 +<U00E9> \xE9 |0 +<U00EA> \xEA |0 +<U00EB> \xEB |0 +<U00ED> \xED |0 +<U00EE> \xEE |0 +<U00EF> \xEF |0 +<U00F1> \xF1 |0 +<U00F3> \xF3 |0 +<U00F4> \xF4 |0 +<U00F6> \xF6 |0 +<U00F7> \xF7 |0 +<U00F8> \xF8 |0 +<U00F9> \xF9 |0 +<U00FA> \xFA |0 +<U00FB> \xFB |0 +<U00FC> \xFC |0 +<U00FF> \xFF |0 +<U0102> \xC3 |0 +<U0103> \xE3 |0 +<U0110> \xD0 |0 +<U0111> \xF0 |0 +<U0152> \x8C |0 +<U0153> \x9C |0 +<U0178> \x9F |0 +<U0192> \x83 |0 +<U01A0> \xD5 |0 +<U01A1> \xF5 |0 +<U01AF> \xDD |0 +<U01B0> \xFD |0 +<U02C6> \x88 |0 +<U02DC> \x98 |0 +<U0300> \xCC |0 +<U0301> \xEC |0 +<U0303> \xDE |0 +<U0309> \xD2 |0 +<U0323> \xF2 |0 +<U2013> \x96 |0 +<U2014> \x97 |0 +<U2018> \x91 |0 +<U2019> \x92 |0 +<U201A> \x82 |0 +<U201C> \x93 |0 +<U201D> \x94 |0 +<U201E> \x84 |0 +<U2020> \x86 |0 +<U2021> \x87 |0 +<U2022> \x95 |0 +<U2026> \x85 |0 +<U2030> \x89 |0 +<U2039> \x8B |0 +<U203A> \x9B |0 +<U20AB> \xFE |0 +<U20AC> \x80 |0 +<U2122> \x99 |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 diff --git a/mcs/class/I18N/Other/ibm-874.ucm b/mcs/class/I18N/Other/ibm-874.ucm new file mode 100644 index 00000000000..ecf2d88890f --- /dev/null +++ b/mcs/class/I18N/Other/ibm-874.ucm @@ -0,0 +1,345 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 09:28:03 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B0036A.RPMAP100 and 036A34B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-874" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-874 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A2> \xFC |0 +<U00A6> \xFE |0 +<U00AC> \xFD |0 +<U0E01> \xA1 |0 +<U0E02> \xA2 |0 +<U0E03> \xA3 |0 +<U0E04> \xA4 |0 +<U0E05> \xA5 |0 +<U0E06> \xA6 |0 +<U0E07> \xA7 |0 +<U0E08> \xA8 |0 +<U0E09> \xA9 |0 +<U0E0A> \xAA |0 +<U0E0B> \xAB |0 +<U0E0C> \xAC |0 +<U0E0D> \xAD |0 +<U0E0E> \xAE |0 +<U0E0F> \xAF |0 +<U0E10> \xB0 |0 +<U0E11> \xB1 |0 +<U0E12> \xB2 |0 +<U0E13> \xB3 |0 +<U0E14> \xB4 |0 +<U0E15> \xB5 |0 +<U0E16> \xB6 |0 +<U0E17> \xB7 |0 +<U0E18> \xB8 |0 +<U0E19> \xB9 |0 +<U0E1A> \xBA |0 +<U0E1B> \xBB |0 +<U0E1C> \xBC |0 +<U0E1D> \xBD |0 +<U0E1E> \xBE |0 +<U0E1F> \xBF |0 +<U0E20> \xC0 |0 +<U0E21> \xC1 |0 +<U0E22> \xC2 |0 +<U0E23> \xC3 |0 +<U0E24> \xC4 |0 +<U0E25> \xC5 |0 +<U0E26> \xC6 |0 +<U0E27> \xC7 |0 +<U0E28> \xC8 |0 +<U0E29> \xC9 |0 +<U0E2A> \xCA |0 +<U0E2B> \xCB |0 +<U0E2C> \xCC |0 +<U0E2D> \xCD |0 +<U0E2E> \xCE |0 +<U0E2F> \xCF |0 +<U0E30> \xD0 |0 +<U0E31> \xD1 |0 +<U0E32> \xD2 |0 +<U0E33> \xD3 |0 +<U0E34> \xD4 |0 +<U0E35> \xD5 |0 +<U0E36> \xD6 |0 +<U0E37> \xD7 |0 +<U0E38> \xD8 |0 +<U0E39> \xD9 |0 +<U0E3A> \xDA |0 +<U0E3F> \xDF |0 +<U0E40> \xE0 |0 +<U0E41> \xE1 |0 +<U0E42> \xE2 |0 +<U0E43> \xE3 |0 +<U0E44> \xE4 |0 +<U0E45> \xE5 |0 +<U0E46> \xE6 |0 +<U0E47> \xE7 |0 +<U0E48> \xA0 |3 +<U0E48> \xE8 |0 +<U0E49> \xDB |3 +<U0E49> \xE9 |0 +<U0E4A> \xDC |3 +<U0E4A> \xEA |0 +<U0E4B> \xDD |3 +<U0E4B> \xEB |0 +<U0E4C> \xDE |3 +<U0E4C> \xEC |0 +<U0E4D> \xED |0 +<U0E4E> \xEE |0 +<U0E4F> \xEF |0 +<U0E50> \xF0 |0 +<U0E51> \xF1 |0 +<U0E52> \xF2 |0 +<U0E53> \xF3 |0 +<U0E54> \xF4 |0 +<U0E55> \xF5 |0 +<U0E56> \xF6 |0 +<U0E57> \xF7 |0 +<U0E58> \xF8 |0 +<U0E59> \xF9 |0 +<U0E5A> \xFA |0 +<U0E5B> \xFB |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 diff --git a/mcs/class/I18N/Other/ibm-878.ucm b/mcs/class/I18N/Other/ibm-878.ucm new file mode 100644 index 00000000000..e564740a787 --- /dev/null +++ b/mcs/class/I18N/Other/ibm-878.ucm @@ -0,0 +1,379 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 09:28:03 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B0036E.RPMAP100 and 036E34B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-878" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-878 +#_________ _________ +<U0000> \x00 |0 +<U0001> \x01 |0 +<U0002> \x02 |0 +<U0003> \x03 |0 +<U0004> \x04 |0 +<U0005> \x05 |0 +<U0006> \x06 |0 +<U0007> \x07 |0 +<U0008> \x08 |0 +<U0009> \x09 |0 +<U000A> \x0A |0 +<U000B> \x0B |0 +<U000C> \x0C |0 +<U000D> \x0D |0 +<U000E> \x0E |0 +<U000F> \x0F |0 +<U0010> \x10 |0 +<U0011> \x11 |0 +<U0012> \x12 |0 +<U0013> \x13 |0 +<U0014> \x14 |0 +<U0015> \x15 |0 +<U0016> \x16 |0 +<U0017> \x17 |0 +<U0018> \x18 |0 +<U0019> \x19 |0 +<U001A> \x1A |0 +<U001B> \x1B |0 +<U001C> \x1C |0 +<U001D> \x1D |0 +<U001E> \x1E |0 +<U001F> \x1F |0 +<U0020> \x20 |0 +<U0021> \x21 |0 +<U0022> \x22 |0 +<U0023> \x23 |0 +<U0024> \x24 |0 +<U0025> \x25 |0 +<U0026> \x26 |0 +<U0027> \x27 |0 +<U0028> \x28 |0 +<U0029> \x29 |0 +<U002A> \x2A |0 +<U002B> \x2B |0 +<U002C> \x2C |0 +<U002D> \x2D |0 +<U002E> \x2E |0 +<U002F> \x2F |0 +<U0030> \x30 |0 +<U0031> \x31 |0 +<U0032> \x32 |0 +<U0033> \x33 |0 +<U0034> \x34 |0 +<U0035> \x35 |0 +<U0036> \x36 |0 +<U0037> \x37 |0 +<U0038> \x38 |0 +<U0039> \x39 |0 +<U003A> \x3A |0 +<U003B> \x3B |0 +<U003C> \x3C |0 +<U003D> \x3D |0 +<U003E> \x3E |0 +<U003F> \x3F |0 +<U0040> \x40 |0 +<U0041> \x41 |0 +<U0042> \x42 |0 +<U0043> \x43 |0 +<U0044> \x44 |0 +<U0045> \x45 |0 +<U0046> \x46 |0 +<U0047> \x47 |0 +<U0048> \x48 |0 +<U0049> \x49 |0 +<U004A> \x4A |0 +<U004B> \x4B |0 +<U004C> \x4C |0 +<U004D> \x4D |0 +<U004E> \x4E |0 +<U004F> \x4F |0 +<U0050> \x50 |0 +<U0051> \x51 |0 +<U0052> \x52 |0 +<U0053> \x53 |0 +<U0054> \x54 |0 +<U0055> \x55 |0 +<U0056> \x56 |0 +<U0057> \x57 |0 +<U0058> \x58 |0 +<U0059> \x59 |0 +<U005A> \x5A |0 +<U005B> \x5B |0 +<U005C> \x5C |0 +<U005D> \x5D |0 +<U005E> \x5E |0 +<U005F> \x5F |0 +<U0060> \x60 |0 +<U0061> \x61 |0 +<U0062> \x62 |0 +<U0063> \x63 |0 +<U0064> \x64 |0 +<U0065> \x65 |0 +<U0066> \x66 |0 +<U0067> \x67 |0 +<U0068> \x68 |0 +<U0069> \x69 |0 +<U006A> \x6A |0 +<U006B> \x6B |0 +<U006C> \x6C |0 +<U006D> \x6D |0 +<U006E> \x6E |0 +<U006F> \x6F |0 +<U0070> \x70 |0 +<U0071> \x71 |0 +<U0072> \x72 |0 +<U0073> \x73 |0 +<U0074> \x74 |0 +<U0075> \x75 |0 +<U0076> \x76 |0 +<U0077> \x77 |0 +<U0078> \x78 |0 +<U0079> \x79 |0 +<U007A> \x7A |0 +<U007B> \x7B |0 +<U007C> \x7C |0 +<U007D> \x7D |0 +<U007E> \x7E |0 +<U007F> \x7F |0 +<U00A0> \x9A |0 +<U00A9> \xBF |0 +<U00B0> \x9C |0 +<U00B2> \x9D |0 +<U00B7> \x9E |0 +<U00F7> \x9F |0 +<U0401> \xB3 |0 +<U0410> \xE1 |0 +<U0411> \xE2 |0 +<U0412> \xF7 |0 +<U0413> \xE7 |0 +<U0414> \xE4 |0 +<U0415> \xE5 |0 +<U0416> \xF6 |0 +<U0417> \xFA |0 +<U0418> \xE9 |0 +<U0419> \xEA |0 +<U041A> \xEB |0 +<U041B> \xEC |0 +<U041C> \xED |0 +<U041D> \xEE |0 +<U041E> \xEF |0 +<U041F> \xF0 |0 +<U0420> \xF2 |0 +<U0421> \xF3 |0 +<U0422> \xF4 |0 +<U0423> \xF5 |0 +<U0424> \xE6 |0 +<U0425> \xE8 |0 +<U0426> \xE3 |0 +<U0427> \xFE |0 +<U0428> \xFB |0 +<U0429> \xFD |0 +<U042A> \xFF |0 +<U042B> \xF9 |0 +<U042C> \xF8 |0 +<U042D> \xFC |0 +<U042E> \xE0 |0 +<U042F> \xF1 |0 +<U0430> \xC1 |0 +<U0431> \xC2 |0 +<U0432> \xD7 |0 +<U0433> \xC7 |0 +<U0434> \xC4 |0 +<U0435> \xC5 |0 +<U0436> \xD6 |0 +<U0437> \xDA |0 +<U0438> \xC9 |0 +<U0439> \xCA |0 +<U043A> \xCB |0 +<U043B> \xCC |0 +<U043C> \xCD |0 +<U043D> \xCE |0 +<U043E> \xCF |0 +<U043F> \xD0 |0 +<U0440> \xD2 |0 +<U0441> \xD3 |0 +<U0442> \xD4 |0 +<U0443> \xD5 |0 +<U0444> \xC6 |0 +<U0445> \xC8 |0 +<U0446> \xC3 |0 +<U0447> \xDE |0 +<U0448> \xDB |0 +<U0449> \xDD |0 +<U044A> \xDF |0 +<U044B> \xD9 |0 +<U044C> \xD8 |0 +<U044D> \xDC |0 +<U044E> \xC0 |0 +<U044F> \xD1 |0 +<U0451> \xA3 |0 +<U2219> \x95 |0 +<U221A> \x96 |0 +<U2248> \x97 |0 +<U2264> \x98 |0 +<U2265> \x99 |0 +<U2320> \x93 |0 +<U2321> \x9B |0 +<U2500> \x80 |0 +<U2502> \x81 |0 +<U250C> \x82 |0 +<U2510> \x83 |0 +<U2514> \x84 |0 +<U2518> \x85 |0 +<U251C> \x86 |0 +<U2524> \x87 |0 +<U252C> \x88 |0 +<U2534> \x89 |0 +<U253C> \x8A |0 +<U2550> \xA0 |0 +<U2551> \xA1 |0 +<U2552> \xA2 |0 +<U2553> \xA4 |0 +<U2554> \xA5 |0 +<U2555> \xA6 |0 +<U2556> \xA7 |0 +<U2557> \xA8 |0 +<U2558> \xA9 |0 +<U2559> \xAA |0 +<U255A> \xAB |0 +<U255B> \xAC |0 +<U255C> \xAD |0 +<U255D> \xAE |0 +<U255E> \xAF |0 +<U255F> \xB0 |0 +<U2560> \xB1 |0 +<U2561> \xB2 |0 +<U2562> \xB4 |0 +<U2563> \xB5 |0 +<U2564> \xB6 |0 +<U2565> \xB7 |0 +<U2566> \xB8 |0 +<U2567> \xB9 |0 +<U2568> \xBA |0 +<U2569> \xBB |0 +<U256A> \xBC |0 +<U256B> \xBD |0 +<U256C> \xBE |0 +<U2580> \x8B |0 +<U2584> \x8C |0 +<U2588> \x8D |0 +<U258C> \x8E |0 +<U2590> \x8F |0 +<U2591> \x90 |0 +<U2592> \x91 |0 +<U2593> \x92 |0 +<U25A0> \x94 |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 +<UFFE8> \x81 |1 +<UFFED> \x94 |1 +END CHARMAP diff --git a/mcs/class/I18N/Other/ibm-914.ucm b/mcs/class/I18N/Other/ibm-914.ucm new file mode 100644 index 00000000000..afafc4f22e3 --- /dev/null +++ b/mcs/class/I18N/Other/ibm-914.ucm @@ -0,0 +1,377 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 09:28:04 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00392.RPMAP100 and 039234B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-914" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-914 +#_________ _________ +<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 +<U0080> \x80 |0 +<U0081> \x81 |0 +<U0082> \x82 |0 +<U0083> \x83 |0 +<U0084> \x84 |0 +<U0085> \x85 |0 +<U0086> \x86 |0 +<U0087> \x87 |0 +<U0088> \x88 |0 +<U0089> \x89 |0 +<U008A> \x8A |0 +<U008B> \x8B |0 +<U008C> \x8C |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U0091> \x91 |0 +<U0092> \x92 |0 +<U0093> \x93 |0 +<U0094> \x94 |0 +<U0095> \x95 |0 +<U0096> \x96 |0 +<U0097> \x97 |0 +<U0098> \x98 |0 +<U0099> \x99 |0 +<U009A> \x9A |0 +<U009B> \x9B |0 +<U009C> \x9C |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U009F> \x9F |0 +<U00A0> \xA0 |0 +<U00A4> \xA4 |0 +<U00A7> \xA7 |0 +<U00A8> \xA8 |0 +<U00AD> \xAD |0 +<U00AF> \xAF |0 +<U00B0> \xB0 |0 +<U00B4> \xB4 |0 +<U00B8> \xB8 |0 +<U00C1> \xC1 |0 +<U00C2> \xC2 |0 +<U00C3> \xC3 |0 +<U00C4> \xC4 |0 +<U00C5> \xC5 |0 +<U00C6> \xC6 |0 +<U00C9> \xC9 |0 +<U00CB> \xCB |0 +<U00CD> \xCD |0 +<U00CE> \xCE |0 +<U00D4> \xD4 |0 +<U00D5> \xD5 |0 +<U00D6> \xD6 |0 +<U00D7> \xD7 |0 +<U00D8> \xD8 |0 +<U00DA> \xDA |0 +<U00DB> \xDB |0 +<U00DC> \xDC |0 +<U00DF> \xDF |0 +<U00E1> \xE1 |0 +<U00E2> \xE2 |0 +<U00E3> \xE3 |0 +<U00E4> \xE4 |0 +<U00E5> \xE5 |0 +<U00E6> \xE6 |0 +<U00E9> \xE9 |0 +<U00EB> \xEB |0 +<U00ED> \xED |0 +<U00EE> \xEE |0 +<U00F4> \xF4 |0 +<U00F5> \xF5 |0 +<U00F6> \xF6 |0 +<U00F7> \xF7 |0 +<U00F8> \xF8 |0 +<U00FA> \xFA |0 +<U00FB> \xFB |0 +<U00FC> \xFC |0 +<U0100> \xC0 |0 +<U0101> \xE0 |0 +<U0104> \xA1 |0 +<U0105> \xB1 |0 +<U010C> \xC8 |0 +<U010D> \xE8 |0 +<U0110> \xD0 |0 +<U0111> \xF0 |0 +<U0112> \xAA |0 +<U0113> \xBA |0 +<U0116> \xCC |0 +<U0117> \xEC |0 +<U0118> \xCA |0 +<U0119> \xEA |0 +<U0122> \xAB |0 +<U0123> \xBB |0 +<U0128> \xA5 |0 +<U0129> \xB5 |0 +<U012A> \xCF |0 +<U012B> \xEF |0 +<U012E> \xC7 |0 +<U012F> \xE7 |0 +<U0136> \xD3 |0 +<U0137> \xF3 |0 +<U0138> \xA2 |0 +<U013B> \xA6 |0 +<U013C> \xB6 |0 +<U0145> \xD1 |0 +<U0146> \xF1 |0 +<U014A> \xBD |0 +<U014B> \xBF |0 +<U014C> \xD2 |0 +<U014D> \xF2 |0 +<U0156> \xA3 |0 +<U0157> \xB3 |0 +<U0160> \xA9 |0 +<U0161> \xB9 |0 +<U0166> \xAC |0 +<U0167> \xBC |0 +<U0168> \xDD |0 +<U0169> \xFD |0 +<U016A> \xDE |0 +<U016B> \xFE |0 +<U0172> \xD9 |0 +<U0173> \xF9 |0 +<U017D> \xAE |0 +<U017E> \xBE |0 +<U02C7> \xB7 |0 +<U02D9> \xFF |0 +<U02DB> \xB2 |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 diff --git a/mcs/class/I18N/Other/ibm-915.ucm b/mcs/class/I18N/Other/ibm-915.ucm new file mode 100644 index 00000000000..94e83ddceb4 --- /dev/null +++ b/mcs/class/I18N/Other/ibm-915.ucm @@ -0,0 +1,377 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 09:28:04 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00393.RPMAP100 and 039334B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-915" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-915 +#_________ _________ +<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 +<U0080> \x80 |0 +<U0081> \x81 |0 +<U0082> \x82 |0 +<U0083> \x83 |0 +<U0084> \x84 |0 +<U0085> \x85 |0 +<U0086> \x86 |0 +<U0087> \x87 |0 +<U0088> \x88 |0 +<U0089> \x89 |0 +<U008A> \x8A |0 +<U008B> \x8B |0 +<U008C> \x8C |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U0091> \x91 |0 +<U0092> \x92 |0 +<U0093> \x93 |0 +<U0094> \x94 |0 +<U0095> \x95 |0 +<U0096> \x96 |0 +<U0097> \x97 |0 +<U0098> \x98 |0 +<U0099> \x99 |0 +<U009A> \x9A |0 +<U009B> \x9B |0 +<U009C> \x9C |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U009F> \x9F |0 +<U00A0> \xA0 |0 +<U00A7> \xFD |0 +<U00AD> \xAD |0 +<U0401> \xA1 |0 +<U0402> \xA2 |0 +<U0403> \xA3 |0 +<U0404> \xA4 |0 +<U0405> \xA5 |0 +<U0406> \xA6 |0 +<U0407> \xA7 |0 +<U0408> \xA8 |0 +<U0409> \xA9 |0 +<U040A> \xAA |0 +<U040B> \xAB |0 +<U040C> \xAC |0 +<U040E> \xAE |0 +<U040F> \xAF |0 +<U0410> \xB0 |0 +<U0411> \xB1 |0 +<U0412> \xB2 |0 +<U0413> \xB3 |0 +<U0414> \xB4 |0 +<U0415> \xB5 |0 +<U0416> \xB6 |0 +<U0417> \xB7 |0 +<U0418> \xB8 |0 +<U0419> \xB9 |0 +<U041A> \xBA |0 +<U041B> \xBB |0 +<U041C> \xBC |0 +<U041D> \xBD |0 +<U041E> \xBE |0 +<U041F> \xBF |0 +<U0420> \xC0 |0 +<U0421> \xC1 |0 +<U0422> \xC2 |0 +<U0423> \xC3 |0 +<U0424> \xC4 |0 +<U0425> \xC5 |0 +<U0426> \xC6 |0 +<U0427> \xC7 |0 +<U0428> \xC8 |0 +<U0429> \xC9 |0 +<U042A> \xCA |0 +<U042B> \xCB |0 +<U042C> \xCC |0 +<U042D> \xCD |0 +<U042E> \xCE |0 +<U042F> \xCF |0 +<U0430> \xD0 |0 +<U0431> \xD1 |0 +<U0432> \xD2 |0 +<U0433> \xD3 |0 +<U0434> \xD4 |0 +<U0435> \xD5 |0 +<U0436> \xD6 |0 +<U0437> \xD7 |0 +<U0438> \xD8 |0 +<U0439> \xD9 |0 +<U043A> \xDA |0 +<U043B> \xDB |0 +<U043C> \xDC |0 +<U043D> \xDD |0 +<U043E> \xDE |0 +<U043F> \xDF |0 +<U0440> \xE0 |0 +<U0441> \xE1 |0 +<U0442> \xE2 |0 +<U0443> \xE3 |0 +<U0444> \xE4 |0 +<U0445> \xE5 |0 +<U0446> \xE6 |0 +<U0447> \xE7 |0 +<U0448> \xE8 |0 +<U0449> \xE9 |0 +<U044A> \xEA |0 +<U044B> \xEB |0 +<U044C> \xEC |0 +<U044D> \xED |0 +<U044E> \xEE |0 +<U044F> \xEF |0 +<U0451> \xF1 |0 +<U0452> \xF2 |0 +<U0453> \xF3 |0 +<U0454> \xF4 |0 +<U0455> \xF5 |0 +<U0456> \xF6 |0 +<U0457> \xF7 |0 +<U0458> \xF8 |0 +<U0459> \xF9 |0 +<U045A> \xFA |0 +<U045B> \xFB |0 +<U045C> \xFC |0 +<U045E> \xFE |0 +<U045F> \xFF |0 +<U2116> \xF0 |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 diff --git a/mcs/class/I18N/Other/koi8-u.ucm b/mcs/class/I18N/Other/koi8-u.ucm new file mode 100644 index 00000000000..8ed9c3df14c --- /dev/null +++ b/mcs/class/I18N/Other/koi8-u.ucm @@ -0,0 +1,363 @@ +% This file is a combination of the glibc-2.2.5 charmap for +% koi8-u, adjusted to IBM's UCM syntax, with extra characters +% added for full-width Latin 1 -- Rhys Weatherley, 17 April 2002. + +<code_set_name> KOI8-U +<comment_char> % +<escape_char> / +% version: 1.1 +% source: RFC 2319 +% source: http://www.net.ua/KOI8-U/ + +CHARMAP +<U0000> \x00 |0 NULL (NUL) +<U0001> \x01 |0 START OF HEADING (SOH) +<U0002> \x02 |0 START OF TEXT (STX) +<U0003> \x03 |0 END OF TEXT (ETX) +<U0004> \x04 |0 END OF TRANSMISSION (EOT) +<U0005> \x05 |0 ENQUIRY (ENQ) +<U0006> \x06 |0 ACKNOWLEDGE (ACK) +<U0007> \x07 |0 BELL (BEL) +<U0008> \x08 |0 BACKSPACE (BS) +<U0009> \x09 |0 CHARACTER TABULATION (HT) +<U000A> \x0a |0 LINE FEED (LF) +<U000B> \x0b |0 LINE TABULATION (VT) +<U000C> \x0c |0 FORM FEED (FF) +<U000D> \x0d |0 CARRIAGE RETURN (CR) +<U000E> \x0e |0 SHIFT OUT (SO) +<U000F> \x0f |0 SHIFT IN (SI) +<U0010> \x10 |0 DATALINK ESCAPE (DLE) +<U0011> \x11 |0 DEVICE CONTROL ONE (DC1) +<U0012> \x12 |0 DEVICE CONTROL TWO (DC2) +<U0013> \x13 |0 DEVICE CONTROL THREE (DC3) +<U0014> \x14 |0 DEVICE CONTROL FOUR (DC4) +<U0015> \x15 |0 NEGATIVE ACKNOWLEDGE (NAK) +<U0016> \x16 |0 SYNCHRONOUS IDLE (SYN) +<U0017> \x17 |0 END OF TRANSMISSION BLOCK (ETB) +<U0018> \x18 |0 CANCEL (CAN) +<U0019> \x19 |0 END OF MEDIUM (EM) +<U001A> \x1a |0 SUBSTITUTE (SUB) +<U001B> \x1b |0 ESCAPE (ESC) +<U001C> \x1c |0 FILE SEPARATOR (IS4) +<U001D> \x1d |0 GROUP SEPARATOR (IS3) +<U001E> \x1e |0 RECORD SEPARATOR (IS2) +<U001F> \x1f |0 UNIT SEPARATOR (IS1) +<U0020> \x20 |0 SPACE +<U0021> \x21 |0 EXCLAMATION MARK +<U0022> \x22 |0 QUOTATION MARK +<U0023> \x23 |0 NUMBER SIGN +<U0024> \x24 |0 DOLLAR SIGN +<U0025> \x25 |0 PERCENT SIGN +<U0026> \x26 |0 AMPERSAND +<U0027> \x27 |0 APOSTROPHE +<U0028> \x28 |0 LEFT PARENTHESIS +<U0029> \x29 |0 RIGHT PARENTHESIS +<U002A> \x2a |0 ASTERISK +<U002B> \x2b |0 PLUS SIGN +<U002C> \x2c |0 COMMA +<U002D> \x2d |0 HYPHEN-MINUS +<U002E> \x2e |0 FULL STOP +<U002F> \x2f |0 SOLIDUS +<U0030> \x30 |0 DIGIT ZERO +<U0031> \x31 |0 DIGIT ONE +<U0032> \x32 |0 DIGIT TWO +<U0033> \x33 |0 DIGIT THREE +<U0034> \x34 |0 DIGIT FOUR +<U0035> \x35 |0 DIGIT FIVE +<U0036> \x36 |0 DIGIT SIX +<U0037> \x37 |0 DIGIT SEVEN +<U0038> \x38 |0 DIGIT EIGHT +<U0039> \x39 |0 DIGIT NINE +<U003A> \x3a |0 COLON +<U003B> \x3b |0 SEMICOLON +<U003C> \x3c |0 LESS-THAN SIGN +<U003D> \x3d |0 EQUALS SIGN +<U003E> \x3e |0 GREATER-THAN SIGN +<U003F> \x3f |0 QUESTION MARK +<U0040> \x40 |0 COMMERCIAL AT +<U0041> \x41 |0 LATIN CAPITAL LETTER A +<U0042> \x42 |0 LATIN CAPITAL LETTER B +<U0043> \x43 |0 LATIN CAPITAL LETTER C +<U0044> \x44 |0 LATIN CAPITAL LETTER D +<U0045> \x45 |0 LATIN CAPITAL LETTER E +<U0046> \x46 |0 LATIN CAPITAL LETTER F +<U0047> \x47 |0 LATIN CAPITAL LETTER G +<U0048> \x48 |0 LATIN CAPITAL LETTER H +<U0049> \x49 |0 LATIN CAPITAL LETTER I +<U004A> \x4a |0 LATIN CAPITAL LETTER J +<U004B> \x4b |0 LATIN CAPITAL LETTER K +<U004C> \x4c |0 LATIN CAPITAL LETTER L +<U004D> \x4d |0 LATIN CAPITAL LETTER M +<U004E> \x4e |0 LATIN CAPITAL LETTER N +<U004F> \x4f |0 LATIN CAPITAL LETTER O +<U0050> \x50 |0 LATIN CAPITAL LETTER P +<U0051> \x51 |0 LATIN CAPITAL LETTER Q +<U0052> \x52 |0 LATIN CAPITAL LETTER R +<U0053> \x53 |0 LATIN CAPITAL LETTER S +<U0054> \x54 |0 LATIN CAPITAL LETTER T +<U0055> \x55 |0 LATIN CAPITAL LETTER U +<U0056> \x56 |0 LATIN CAPITAL LETTER V +<U0057> \x57 |0 LATIN CAPITAL LETTER W +<U0058> \x58 |0 LATIN CAPITAL LETTER X +<U0059> \x59 |0 LATIN CAPITAL LETTER Y +<U005A> \x5a |0 LATIN CAPITAL LETTER Z +<U005B> \x5b |0 LEFT SQUARE BRACKET +<U005C> \x5c |0 REVERSE SOLIDUS +<U005D> \x5d |0 RIGHT SQUARE BRACKET +<U005E> \x5e |0 CIRCUMFLEX ACCENT +<U005F> \x5f |0 LOW LINE +<U0060> \x60 |0 GRAVE ACCENT +<U0061> \x61 |0 LATIN SMALL LETTER A +<U0062> \x62 |0 LATIN SMALL LETTER B +<U0063> \x63 |0 LATIN SMALL LETTER C +<U0064> \x64 |0 LATIN SMALL LETTER D +<U0065> \x65 |0 LATIN SMALL LETTER E +<U0066> \x66 |0 LATIN SMALL LETTER F +<U0067> \x67 |0 LATIN SMALL LETTER G +<U0068> \x68 |0 LATIN SMALL LETTER H +<U0069> \x69 |0 LATIN SMALL LETTER I +<U006A> \x6a |0 LATIN SMALL LETTER J +<U006B> \x6b |0 LATIN SMALL LETTER K +<U006C> \x6c |0 LATIN SMALL LETTER L +<U006D> \x6d |0 LATIN SMALL LETTER M +<U006E> \x6e |0 LATIN SMALL LETTER N +<U006F> \x6f |0 LATIN SMALL LETTER O +<U0070> \x70 |0 LATIN SMALL LETTER P +<U0071> \x71 |0 LATIN SMALL LETTER Q +<U0072> \x72 |0 LATIN SMALL LETTER R +<U0073> \x73 |0 LATIN SMALL LETTER S +<U0074> \x74 |0 LATIN SMALL LETTER T +<U0075> \x75 |0 LATIN SMALL LETTER U +<U0076> \x76 |0 LATIN SMALL LETTER V +<U0077> \x77 |0 LATIN SMALL LETTER W +<U0078> \x78 |0 LATIN SMALL LETTER X +<U0079> \x79 |0 LATIN SMALL LETTER Y +<U007A> \x7a |0 LATIN SMALL LETTER Z +<U007B> \x7b |0 LEFT CURLY BRACKET +<U007C> \x7c |0 VERTICAL LINE +<U007D> \x7d |0 RIGHT CURLY BRACKET +<U007E> \x7e |0 TILDE +<U007F> \x7f |0 DELETE (DEL) +<U2500> \x80 |0 BOX DRAWINGS LIGHT HORIZONTAL +<U2502> \x81 |0 BOX DRAWINGS LIGHT VERTICAL +<U250C> \x82 |0 BOX DRAWINGS LIGHT DOWN AND RIGHT +<U2510> \x83 |0 BOX DRAWINGS LIGHT DOWN AND LEFT +<U2514> \x84 |0 BOX DRAWINGS LIGHT UP AND RIGHT +<U2518> \x85 |0 BOX DRAWINGS LIGHT UP AND LEFT +<U251C> \x86 |0 BOX DRAWINGS LIGHT VERTICAL AND RIGHT +<U2524> \x87 |0 BOX DRAWINGS LIGHT VERTICAL AND LEFT +<U252C> \x88 |0 BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +<U2534> \x89 |0 BOX DRAWINGS LIGHT UP AND HORIZONTAL +<U253C> \x8a |0 BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +<U2580> \x8b |0 UPPER HALF BLOCK +<U2584> \x8c |0 LOWER HALF BLOCK +<U2588> \x8d |0 FULL BLOCK +<U258C> \x8e |0 LEFT HALF BLOCK +<U2590> \x8f |0 RIGHT HALF BLOCK +<U2591> \x90 |0 LIGHT SHADE +<U2592> \x91 |0 MEDIUM SHADE +<U2593> \x92 |0 DARK SHADE +<U2320> \x93 |0 TOP HALF INTEGRAL +<U25A0> \x94 |0 BLACK SQUARE +<U2219> \x95 |0 BULLET OPERATOR +<U221A> \x96 |0 SQUARE ROOT +<U2248> \x97 |0 ALMOST EQUAL TO +<U2264> \x98 |0 LESS THAN OR EQUAL TO +<U2265> \x99 |0 GREATER THAN OR EQUAL TO +<U00A0> \x9a |0 NO-BREAK SPACE +<U2321> \x9b |0 BOTTOM HALF INTEGRAL +<U00B0> \x9c |0 DEGREE SIGN +<U00B2> \x9d |0 SUPERSCRIPT DIGIT TWO +<U00B7> \x9e |0 MIDDLE DOT +<U00F7> \x9f |0 DIVISION SIGN +<U2550> \xa0 |0 BOX DRAWINGS DOUBLE HORIZONTAL +<U2551> \xa1 |0 BOX DRAWINGS DOUBLE VERTICAL +<U2552> \xa2 |0 BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE +<U0451> \xa3 |0 CYRILLIC SMALL LETTER IO +<U0454> \xa4 |0 CYRILLIC SMALL LETTER UKRAINIAN IE +<U2554> \xa5 |0 BOX DRAWINGS DOUBLE DOWN AND RIGHT +<U0456> \xa6 |0 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I +<U0457> \xa7 |0 CYRILLIC SMALL LETTER YI (Ukrainian) +<U2557> \xa8 |0 BOX DRAWINGS DOUBLE DOWN AND LEFT +<U2558> \xa9 |0 BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE +<U2559> \xaa |0 BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE +<U255A> \xab |0 BOX DRAWINGS DOUBLE UP AND RIGHT +<U255B> \xac |0 BOX DRAWINGS UP SINGLE AND LEFT DOUBLE +<U0491> \xad |0 CYRILLIC SMALL LETTER GHE WITH UPTURN +<U255D> \xae |0 BOX DRAWINGS DOUBLE UP AND LEFT +<U255E> \xaf |0 BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE +<U255F> \xb0 |0 BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE +<U2560> \xb1 |0 BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +<U2561> \xb2 |0 BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE +<U0401> \xb3 |0 CYRILLIC CAPITAL LETTER IO +<U0404> \xb4 |0 CYRILLIC CAPITAL LETTER UKRAINIAN IE +<U2563> \xb5 |0 DOUBLE VERTICAL AND LEFT +<U0406> \xb6 |0 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I +<U0407> \xb7 |0 CYRILLIC CAPITAL LETTER YI (Ukrainian) +<U2566> \xb8 |0 BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +<U2567> \xb9 |0 BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE +<U2568> \xba |0 BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE +<U2569> \xbb |0 BOX DRAWINGS DOUBLE UP AND HORIZONTAL +<U256A> \xbc |0 BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE +<U0490> \xbd |0 CYRILLIC CAPITAL LETTER GHE WITH UPTURN +<U256C> \xbe |0 BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +<U00A9> \xbf |0 COPYRIGHT SIGN +<U044E> \xc0 |0 CYRILLIC SMALL LETTER YU +<U0430> \xc1 |0 CYRILLIC SMALL LETTER A +<U0431> \xc2 |0 CYRILLIC SMALL LETTER BE +<U0446> \xc3 |0 CYRILLIC SMALL LETTER TSE +<U0434> \xc4 |0 CYRILLIC SMALL LETTER DE +<U0435> \xc5 |0 CYRILLIC SMALL LETTER IE +<U0444> \xc6 |0 CYRILLIC SMALL LETTER EF +<U0433> \xc7 |0 CYRILLIC SMALL LETTER GHE +<U0445> \xc8 |0 CYRILLIC SMALL LETTER HA +<U0438> \xc9 |0 CYRILLIC SMALL LETTER I +<U0439> \xca |0 CYRILLIC SMALL LETTER SHORT I +<U043A> \xcb |0 CYRILLIC SMALL LETTER KA +<U043B> \xcc |0 CYRILLIC SMALL LETTER EL +<U043C> \xcd |0 CYRILLIC SMALL LETTER EM +<U043D> \xce |0 CYRILLIC SMALL LETTER EN +<U043E> \xcf |0 CYRILLIC SMALL LETTER O +<U043F> \xd0 |0 CYRILLIC SMALL LETTER PE +<U044F> \xd1 |0 CYRILLIC SMALL LETTER YA +<U0440> \xd2 |0 CYRILLIC SMALL LETTER ER +<U0441> \xd3 |0 CYRILLIC SMALL LETTER ES +<U0442> \xd4 |0 CYRILLIC SMALL LETTER TE +<U0443> \xd5 |0 CYRILLIC SMALL LETTER U +<U0436> \xd6 |0 CYRILLIC SMALL LETTER ZHE +<U0432> \xd7 |0 CYRILLIC SMALL LETTER VE +<U044C> \xd8 |0 CYRILLIC SMALL LETTER SOFT SIGN +<U044B> \xd9 |0 CYRILLIC SMALL LETTER YERU +<U0437> \xda |0 CYRILLIC SMALL LETTER ZE +<U0448> \xdb |0 CYRILLIC SMALL LETTER SHA +<U044D> \xdc |0 CYRILLIC SMALL LETTER E +<U0449> \xdd |0 CYRILLIC SMALL LETTER SHCHA +<U0447> \xde |0 CYRILLIC SMALL LETTER CHE +<U044A> \xdf |0 CYRILLIC SMALL LETTER HARD SIGN +<U042E> \xe0 |0 CYRILLIC CAPITAL LETTER YU +<U0410> \xe1 |0 CYRILLIC CAPITAL LETTER A +<U0411> \xe2 |0 CYRILLIC CAPITAL LETTER BE +<U0426> \xe3 |0 CYRILLIC CAPITAL LETTER TSE +<U0414> \xe4 |0 CYRILLIC CAPITAL LETTER DE +<U0415> \xe5 |0 CYRILLIC CAPITAL LETTER IE +<U0424> \xe6 |0 CYRILLIC CAPITAL LETTER EF +<U0413> \xe7 |0 CYRILLIC CAPITAL LETTER GHE +<U0425> \xe8 |0 CYRILLIC CAPITAL LETTER HA +<U0418> \xe9 |0 CYRILLIC CAPITAL LETTER I +<U0419> \xea |0 CYRILLIC CAPITAL LETTER SHORT I +<U041A> \xeb |0 CYRILLIC CAPITAL LETTER KA +<U041B> \xec |0 CYRILLIC CAPITAL LETTER EL +<U041C> \xed |0 CYRILLIC CAPITAL LETTER EM +<U041D> \xee |0 CYRILLIC CAPITAL LETTER EN +<U041E> \xef |0 CYRILLIC CAPITAL LETTER O +<U041F> \xf0 |0 CYRILLIC CAPITAL LETTER PE +<U042F> \xf1 |0 CYRILLIC CAPITAL LETTER YA +<U0420> \xf2 |0 CYRILLIC CAPITAL LETTER ER +<U0421> \xf3 |0 CYRILLIC CAPITAL LETTER ES +<U0422> \xf4 |0 CYRILLIC CAPITAL LETTER TE +<U0423> \xf5 |0 CYRILLIC CAPITAL LETTER U +<U0416> \xf6 |0 CYRILLIC CAPITAL LETTER ZHE +<U0412> \xf7 |0 CYRILLIC CAPITAL LETTER VE +<U042C> \xf8 |0 CYRILLIC CAPITAL LETTER SOFT SIGN +<U042B> \xf9 |0 CYRILLIC CAPITAL LETTER YERU +<U0417> \xfa |0 CYRILLIC CAPITAL LETTER ZE +<U0428> \xfb |0 CYRILLIC CAPITAL LETTER SHA +<U042D> \xfc |0 CYRILLIC CAPITAL LETTER E +<U0429> \xfd |0 CYRILLIC CAPITAL LETTER SHCHA +<U0427> \xfe |0 CYRILLIC CAPITAL LETTER CHE +<U042A> \xff |0 CYRILLIC CAPITAL LETTER HARD SIGN +<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 diff --git a/mcs/class/I18N/Other/list.unix b/mcs/class/I18N/Other/list.unix new file mode 100755 index 00000000000..ba7d74a68db --- /dev/null +++ b/mcs/class/I18N/Other/list.unix @@ -0,0 +1,9 @@ +CP1251.cs +CP1257.cs +CP1258.cs +CP20866.cs +CP21866.cs +CP28594.cs +CP28595.cs +CP57002.cs +CP874.cs diff --git a/mcs/class/I18N/Other/makefile.gnu b/mcs/class/I18N/Other/makefile.gnu new file mode 100755 index 00000000000..c13fbb95068 --- /dev/null +++ b/mcs/class/I18N/Other/makefile.gnu @@ -0,0 +1,13 @@ +topdir = ../../.. + +LIBRARY = $(topdir)/class/lib/I18N.Other.dll + +LIB_LIST = list.unix +LIB_FLAGS = -r corlib -r mscorlib -r I18N + +SOURCES_INCLUDE=*.cs +SOURCES_EXCLUDE= + +export MONO_PATH_PREFIX = $(topdir)/class/lib: + +include $(topdir)/class/library.make diff --git a/mcs/class/I18N/README b/mcs/class/I18N/README new file mode 100644 index 00000000000..29852983254 --- /dev/null +++ b/mcs/class/I18N/README @@ -0,0 +1,158 @@ + +I18N: Pnetlib Internationalization Framework Libary +=================================================== + +Using the library +----------------- + +This library provides plug-in i18n module support for C# base class +libraries such as pnetlib's "runtime". The base class library uses +it as follows: + + - Load the "I18N.dll" assembly using "System.Reflection.Assembly.Load". + + - Obtain the value of the static "PrimaryManager" property within the + "I18N.Common.Manager" class using "System.Reflection" facilities. + + - Invoke methods on the manager class to obtain i18n-sensitive + objects such as "CultureInfo" and "Encoding" instances. + + - The "I18N.Common.Manager" class loads the requested i18n object + and returns it to the base class library, which can then use it + in the usual fashion. + +A more detailed example is given in a later section. + +I18N handlers +------------- + +Because there are so many i18n-sensitive cases to be handled, the culture +information has been split across several region-specific assemblies: + + I18N.CJK.dll + I18N.MidEast.dll + I18N.Other.dll + I18N.Rare.dll + I18N.West.dll + +The "I18N.dll" assembly only loads those region-specific assemblies that +it needs, based on the user's requests. + +I18N handlers within these assemblies use the naming convention +"I18N.<Region>.<Prefix><Value>" where: + + <Region> + The region handler. e.g. "West", "CJK", "India", etc. + + <Prefix> + The prefix for the handler type. + + <Value> + The identifier value which is supplied by the caller. + e.g. a culture identifier, an encoding name, etc. + +The following prefixes are supported: + + CP + Code page handler. e.g. "CP1252". + + ENC + Web encoding handler. e.g. "ENCiso_8869_8". + + CID + Culture, based on identifier. e.g. "CID2c01". + + CIDO + + Culture, based on identifier, with user overrides. e.g. "CIDO2c01". + Falls back to the "CID" handler if no override handler. + + CN + Culture, based on name. e.g. "CNar_jo". + + CNO + Culture, based on name, with user overrides. e.g. "CNOar_jo". + Falls back to the "CN" handler if no override handler. + +Handlers that are based on name will normalize the name to be in all +lower case, with all instances of '-' replaced with '_'. + +The "I18N.dll" assembly knows which region assembly to load from the +"I18N-handlers.def" file. This file is automatically generated during +the build process and contains a list of all I18N handler classes. +It must reside in the same directory as "I18N.dll". + +Example +------- + +As an example of the I18N loading process, we will describe what happens +when code page 932 is requested: + + - The user's code calls "System.Text.Encoding.GetEncoding(932)". + + - The "Encoding" class loads "I18N.dll" using reflection. + + - The "Encoding" class accesses the "PrimaryManager" property via + reflection to get an instance of "I18N.Common.Manager". + + - The "Encoding" class calls the "GetEncoding(int)" method on + the "I18N.Common.Manager" instance using reflection. + + - "I18N.Common.Manager" constructs the name of the handler class - "CP932". + + - The file "I18N-handlers.def" is consulted to determine the full + namespace and name of the "CP932" class - "I18N.CJK.CP932". + + - The region assembly "I18N.CJK.dll" is loaded using reflection. + + - An instance of the class "I18N.CJK.CP923" in the loaded assembly + is constructed and returned to the caller. + +The results of previous requests are cached to smooth overall performance +of the system. + +Dependencies +------------ + +This section describes the facilities that must be available from the +base class library to make the I18N framework function. + +The framework makes heavy use of facilities from "System.Reflection" +to load assemblies and to access their contents. + +String resources are assumed to be embedded as manifest string resources, +based on tag names. The "I18N.Common.Strings" class takes care of the +resource needs of all of the I18N assemblies. It relies upon a working +implementation of "ResourceManager", that can load and process manifest +string resources. + +It is assumed that the base class library contains its own implementation +of the invariant culture. i.e. the invariant culture cannot be loaded +dynamically. + +The "I18N.CJK.dll" assembly contains a single "InternalCall" method in +the "I18N.CJK.CodeTable" class if the "__PNET__" symbol is defined when +the assembly is compiled. This gives more efficient access to conversion +CJK tables when running on the Portable.NET runtime engine. If the +"__PNET__" symbol is not defined, then the implementation will fall back +to a less efficient way of loading the tables. + +The method "System.Reflection.Assembly.GetFile(String)" is assumed to +have slightly different semantics to the .NET Framework SDK. Normally, +this method accesses a file that is listed in the assembly manifest. +We have extended it so that it can also access files in the same directory +as the assembly, even if not mentioned in the manifest. + +The altered semantics is necessary to access the "I18N-handlers.def" file, +which defines which assembly contains which I18N handler. This file can +be altered by third parties to install new handler assemblies. + +If the runtime engine does not implement the altered "GetFile" semantics, +the library will fall back to an internal list that must be maintained +internally and which cannot be dynamically extended by third parties. + +Security considerations +----------------------- + +The "GetAddress" and "GetFile" methods need to be implemented carefully +to prevent arbitrary applications using them to circumvent system security. diff --git a/mcs/class/I18N/README.mono b/mcs/class/I18N/README.mono new file mode 100755 index 00000000000..dcedd9c2264 --- /dev/null +++ b/mcs/class/I18N/README.mono @@ -0,0 +1,13 @@ +Note: the I18N assemblies code is imported from the pnetlib sources. +The code was donated by Rhys Weatherley <rweather@southern-storm.com.au> +for use in mono. +_Any_ change and bugfix to these assemblies that is not mono-specific +should be also sent to the pnetlib maintainers to keep the sources in +sync as much as possible. + +The code was initially imported with the command: + cvs -d login@mono-cvs.ximian.com:/cvs/public import -m "First import" \ + mcs/class/I18N SAVANNAH_CVS RHYS_20020821 + +Please follow the same convention for future imports. Thanks. + diff --git a/mcs/class/I18N/Rare/.cvsignore b/mcs/class/I18N/Rare/.cvsignore new file mode 100644 index 00000000000..0c2ee6906fa --- /dev/null +++ b/mcs/class/I18N/Rare/.cvsignore @@ -0,0 +1,4 @@ +list +.makefrag +.response +library-deps.stamp diff --git a/mcs/class/I18N/Rare/CP1026.cs b/mcs/class/I18N/Rare/CP1026.cs new file mode 100644 index 00000000000..82dffbbd0ca --- /dev/null +++ b/mcs/class/I18N/Rare/CP1026.cs @@ -0,0 +1,895 @@ +/* + * CP1026.cs - IBM EBCDIC (Turkish) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1026.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP1026 : ByteEncoding +{ + public CP1026() + : base(1026, ToChars, "IBM EBCDIC (Turkish)", + "ibm1026", "ibm1026", "ibm1026", + 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 CP1026 + +public class ENCibm1026 : CP1026 +{ + public ENCibm1026() : base() {} + +}; // class ENCibm1026 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP1047.cs b/mcs/class/I18N/Rare/CP1047.cs new file mode 100644 index 00000000000..9c6da572a3f --- /dev/null +++ b/mcs/class/I18N/Rare/CP1047.cs @@ -0,0 +1,895 @@ +/* + * CP1047.cs - IBM EBCDIC (Open Systems Latin 1) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1047.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP1047 : ByteEncoding +{ + public CP1047() + : base(1047, ToChars, "IBM EBCDIC (Open Systems Latin 1)", + "ibm1047", "ibm1047", "ibm1047", + 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', '\u00A4', '\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 0x00A4: ch = 0x9F; 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 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 0x00A4: ch = 0x9F; 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 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 CP1047 + +public class ENCibm1047 : CP1047 +{ + public ENCibm1047() : base() {} + +}; // class ENCibm1047 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP1140.cs b/mcs/class/I18N/Rare/CP1140.cs new file mode 100644 index 00000000000..479c3c39875 --- /dev/null +++ b/mcs/class/I18N/Rare/CP1140.cs @@ -0,0 +1,895 @@ +/* + * CP1140.cs - IBM EBCDIC (US-Canada with Euro) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1140.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP1140 : ByteEncoding +{ + public CP1140() + : base(1140, ToChars, "IBM EBCDIC (US-Canada with Euro)", + "IBM01140", "IBM01140", "IBM01140", + 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', '\u00AC', + '\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', '\u00DD', + '\u00DE', '\u00AE', '\u005E', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u005B', '\u005D', '\u00AF', '\u00A8', '\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 = 0xBA; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0xBB; break; + case 0x005E: ch = 0xB0; 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 = 0xBD; break; + case 0x00A9: ch = 0xB4; break; + case 0x00AA: ch = 0x9A; break; + case 0x00AB: ch = 0x8A; break; + case 0x00AC: ch = 0x5F; 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 = 0xAD; 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 = 0xBA; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0xBB; break; + case 0xFF3E: ch = 0xB0; 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 = 0xBA; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0xBB; break; + case 0x005E: ch = 0xB0; 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 = 0xBD; break; + case 0x00A9: ch = 0xB4; break; + case 0x00AA: ch = 0x9A; break; + case 0x00AB: ch = 0x8A; break; + case 0x00AC: ch = 0x5F; 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 = 0xAD; 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 = 0xBA; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0xBB; break; + case 0xFF3E: ch = 0xB0; 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 CP1140 + +public class ENCibm01140 : CP1140 +{ + public ENCibm01140() : base() {} + +}; // class ENCibm01140 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP1141.cs b/mcs/class/I18N/Rare/CP1141.cs new file mode 100644 index 00000000000..345b13d5cf9 --- /dev/null +++ b/mcs/class/I18N/Rare/CP1141.cs @@ -0,0 +1,895 @@ +/* + * CP1141.cs - IBM EBCDIC (Germany with Euro) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1141.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP1141 : ByteEncoding +{ + public CP1141() + : base(1141, ToChars, "IBM EBCDIC (Germany with Euro)", + "IBM01141", "IBM01141", "IBM01141", + 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', '\u007B', '\u00E0', '\u00E1', '\u00E3', '\u00E5', + '\u00E7', '\u00F1', '\u00C4', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u00E9', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u007E', + '\u00DC', '\u0024', '\u002A', '\u0029', '\u003B', '\u005E', + '\u002D', '\u002F', '\u00C2', '\u005B', '\u00C0', '\u00C1', + '\u00C3', '\u00C5', '\u00C7', '\u00D1', '\u00F6', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u00F8', '\u00C9', + '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', + '\u00CC', '\u0060', '\u003A', '\u0023', '\u00A7', '\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', '\u00DF', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u0040', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u00A8', '\u00B4', '\u00D7', + '\u00E4', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', + '\u00A6', '\u00F2', '\u00F3', '\u00F5', '\u00FC', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u00B9', '\u00FB', '\u007D', '\u00F9', + '\u00FA', '\u00FF', '\u00D6', '\u00F7', '\u0053', '\u0054', + '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', + '\u00B2', '\u00D4', '\u005C', '\u00D2', '\u00D3', '\u00D5', + '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', + '\u0036', '\u0037', '\u0038', '\u0039', '\u00B3', '\u00DB', + '\u005D', '\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 = 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 = 0xB5; 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 = 0x63; break; + case 0x005C: ch = 0xEC; break; + case 0x005D: ch = 0xFC; 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 = 0x43; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0xDC; break; + case 0x007E: ch = 0x59; 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 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xCC; break; + case 0x00A7: ch = 0x7C; 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 = 0x4A; 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 = 0xE0; 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 = 0x5A; break; + case 0x00DD: ch = 0xAD; break; + case 0x00DE: ch = 0xAE; break; + case 0x00DF: ch = 0xA1; break; + case 0x00E0: ch = 0x44; break; + case 0x00E1: ch = 0x45; break; + case 0x00E2: ch = 0x42; break; + case 0x00E3: ch = 0x46; break; + case 0x00E4: ch = 0xC0; 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 = 0x6A; 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 = 0xD0; 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 = 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 = 0xB5; 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 = 0x63; break; + case 0xFF3C: ch = 0xEC; break; + case 0xFF3D: ch = 0xFC; 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 = 0x43; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0xDC; break; + case 0xFF5E: ch = 0x59; 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 = 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 = 0xB5; 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 = 0x63; break; + case 0x005C: ch = 0xEC; break; + case 0x005D: ch = 0xFC; 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 = 0x43; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0xDC; break; + case 0x007E: ch = 0x59; 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 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xCC; break; + case 0x00A7: ch = 0x7C; 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 = 0x4A; 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 = 0xE0; 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 = 0x5A; break; + case 0x00DD: ch = 0xAD; break; + case 0x00DE: ch = 0xAE; break; + case 0x00DF: ch = 0xA1; break; + case 0x00E0: ch = 0x44; break; + case 0x00E1: ch = 0x45; break; + case 0x00E2: ch = 0x42; break; + case 0x00E3: ch = 0x46; break; + case 0x00E4: ch = 0xC0; 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 = 0x6A; 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 = 0xD0; 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 = 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 = 0xB5; 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 = 0x63; break; + case 0xFF3C: ch = 0xEC; break; + case 0xFF3D: ch = 0xFC; 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 = 0x43; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0xDC; break; + case 0xFF5E: ch = 0x59; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1141 + +public class ENCibm01141 : CP1141 +{ + public ENCibm01141() : base() {} + +}; // class ENCibm01141 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP1142.cs b/mcs/class/I18N/Rare/CP1142.cs new file mode 100644 index 00000000000..a6d618e23db --- /dev/null +++ b/mcs/class/I18N/Rare/CP1142.cs @@ -0,0 +1,895 @@ +/* + * CP1142.cs - IBM EBCDIC (Denmark/Norway with Euro) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1142.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP1142 : ByteEncoding +{ + public CP1142() + : base(1142, ToChars, "IBM EBCDIC (Denmark/Norway with Euro)", + "IBM01142", "IBM01142", "IBM01142", + 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', '\u007D', + '\u00E7', '\u00F1', '\u0023', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u00E9', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u20AC', '\u00C5', '\u002A', '\u0029', '\u003B', '\u005E', + '\u002D', '\u002F', '\u00C2', '\u00C4', '\u00C0', '\u00C1', + '\u00C3', '\u0024', '\u00C7', '\u00D1', '\u00F8', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u00A6', '\u00C9', + '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', + '\u00CC', '\u0060', '\u003A', '\u00C6', '\u00D8', '\u0027', + '\u003D', '\u0022', '\u0040', '\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', + '\u007B', '\u00B8', '\u005B', '\u005D', '\u00B5', '\u00FC', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u00A8', '\u00B4', '\u00D7', + '\u00E6', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', + '\u00F6', '\u00F2', '\u00F3', '\u00F5', '\u00E5', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u00B9', '\u00FB', '\u007E', '\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 = 0x4F; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0x4A; break; + case 0x0024: ch = 0x67; 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 = 0x80; 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 = 0x9E; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0x9F; 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 = 0x9C; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x47; break; + case 0x007E: ch = 0xDC; 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 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x70; 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 = 0x5B; break; + case 0x00C6: ch = 0x7B; 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 = 0x7C; break; + case 0x00D9: ch = 0xFD; break; + case 0x00DA: ch = 0xFE; break; + case 0x00DB: ch = 0xFB; break; + case 0x00DC: ch = 0xFC; break; + case 0x00DD: ch = 0xAD; 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 = 0xD0; break; + case 0x00E6: ch = 0xC0; 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 = 0x6A; break; + case 0x00F9: ch = 0xDD; break; + case 0x00FA: ch = 0xDE; break; + case 0x00FB: ch = 0xDB; break; + case 0x00FC: ch = 0xA1; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0x8E; break; + case 0x00FF: ch = 0xDF; break; + case 0x203E: ch = 0xBC; break; + case 0x20AC: ch = 0x5A; break; + case 0xFF01: ch = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x4A; break; + case 0xFF04: ch = 0x67; 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 = 0x80; 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 = 0x9E; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0x9F; 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 = 0x9C; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x47; break; + case 0xFF5E: ch = 0xDC; 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 = 0x7F; break; + case 0x0023: ch = 0x4A; break; + case 0x0024: ch = 0x67; 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 = 0x80; 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 = 0x9E; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0x9F; 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 = 0x9C; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x47; break; + case 0x007E: ch = 0xDC; 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 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x70; 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 = 0x5B; break; + case 0x00C6: ch = 0x7B; 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 = 0x7C; break; + case 0x00D9: ch = 0xFD; break; + case 0x00DA: ch = 0xFE; break; + case 0x00DB: ch = 0xFB; break; + case 0x00DC: ch = 0xFC; break; + case 0x00DD: ch = 0xAD; 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 = 0xD0; break; + case 0x00E6: ch = 0xC0; 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 = 0x6A; break; + case 0x00F9: ch = 0xDD; break; + case 0x00FA: ch = 0xDE; break; + case 0x00FB: ch = 0xDB; break; + case 0x00FC: ch = 0xA1; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0x8E; break; + case 0x00FF: ch = 0xDF; break; + case 0x203E: ch = 0xBC; break; + case 0x20AC: ch = 0x5A; break; + case 0xFF01: ch = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x4A; break; + case 0xFF04: ch = 0x67; 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 = 0x80; 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 = 0x9E; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0x9F; 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 = 0x9C; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x47; break; + case 0xFF5E: ch = 0xDC; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1142 + +public class ENCibm01142 : CP1142 +{ + public ENCibm01142() : base() {} + +}; // class ENCibm01142 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP1143.cs b/mcs/class/I18N/Rare/CP1143.cs new file mode 100644 index 00000000000..26566973b89 --- /dev/null +++ b/mcs/class/I18N/Rare/CP1143.cs @@ -0,0 +1,895 @@ +/* + * CP1143.cs - IBM EBCDIC (Finland/Sweden with Euro) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1143.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP1143 : ByteEncoding +{ + public CP1143() + : base(1143, ToChars, "IBM EBCDIC (Finland/Sweden with Euro)", + "IBM01143", "IBM01143", "IBM01143", + 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', '\u007B', '\u00E0', '\u00E1', '\u00E3', '\u007D', + '\u00E7', '\u00F1', '\u00A7', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u0060', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u20AC', '\u00C5', '\u002A', '\u0029', '\u003B', '\u005E', + '\u002D', '\u002F', '\u00C2', '\u0023', '\u00C0', '\u00C1', + '\u00C3', '\u0024', '\u00C7', '\u00D1', '\u00F6', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u00F8', '\u005C', + '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', + '\u00CC', '\u00E9', '\u003A', '\u00C4', '\u00D6', '\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', '\u005D', '\u00B5', '\u00FC', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u005B', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u00A8', '\u00B4', '\u00D7', + '\u00E4', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', + '\u00A6', '\u00F2', '\u00F3', '\u00F5', '\u00E5', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u00B9', '\u00FB', '\u007E', '\u00F9', + '\u00FA', '\u00FF', '\u00C9', '\u00F7', '\u0053', '\u0054', + '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', + '\u00B2', '\u00D4', '\u0040', '\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 = 0x4F; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0x63; break; + case 0x0024: ch = 0x67; 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 = 0xEC; 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 = 0xB5; break; + case 0x005C: ch = 0x71; break; + case 0x005D: ch = 0x9F; break; + case 0x005E: ch = 0x5F; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0x51; 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 = 0x43; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x47; break; + case 0x007E: ch = 0xDC; 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 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xCC; break; + case 0x00A7: ch = 0x4A; 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 = 0x7B; break; + case 0x00C5: ch = 0x5B; break; + case 0x00C6: ch = 0x9E; break; + case 0x00C7: ch = 0x68; break; + case 0x00C8: ch = 0x74; break; + case 0x00C9: ch = 0xE0; 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 = 0x7C; 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 = 0xAD; 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 = 0xC0; break; + case 0x00E5: ch = 0xD0; break; + case 0x00E6: ch = 0x9C; break; + case 0x00E7: ch = 0x48; break; + case 0x00E8: ch = 0x54; break; + case 0x00E9: ch = 0x79; 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 = 0x6A; 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 = 0xA1; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0x8E; break; + case 0x00FF: ch = 0xDF; break; + case 0x203E: ch = 0xBC; break; + case 0x20AC: ch = 0x5A; break; + case 0xFF01: ch = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x63; break; + case 0xFF04: ch = 0x67; 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 = 0xEC; 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 = 0xB5; break; + case 0xFF3C: ch = 0x71; break; + case 0xFF3D: ch = 0x9F; break; + case 0xFF3E: ch = 0x5F; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0x51; 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 = 0x43; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x47; break; + case 0xFF5E: ch = 0xDC; 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 = 0x7F; break; + case 0x0023: ch = 0x63; break; + case 0x0024: ch = 0x67; 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 = 0xEC; 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 = 0xB5; break; + case 0x005C: ch = 0x71; break; + case 0x005D: ch = 0x9F; break; + case 0x005E: ch = 0x5F; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0x51; 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 = 0x43; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x47; break; + case 0x007E: ch = 0xDC; 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 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xCC; break; + case 0x00A7: ch = 0x4A; 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 = 0x7B; break; + case 0x00C5: ch = 0x5B; break; + case 0x00C6: ch = 0x9E; break; + case 0x00C7: ch = 0x68; break; + case 0x00C8: ch = 0x74; break; + case 0x00C9: ch = 0xE0; 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 = 0x7C; 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 = 0xAD; 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 = 0xC0; break; + case 0x00E5: ch = 0xD0; break; + case 0x00E6: ch = 0x9C; break; + case 0x00E7: ch = 0x48; break; + case 0x00E8: ch = 0x54; break; + case 0x00E9: ch = 0x79; 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 = 0x6A; 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 = 0xA1; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0x8E; break; + case 0x00FF: ch = 0xDF; break; + case 0x203E: ch = 0xBC; break; + case 0x20AC: ch = 0x5A; break; + case 0xFF01: ch = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x63; break; + case 0xFF04: ch = 0x67; 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 = 0xEC; 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 = 0xB5; break; + case 0xFF3C: ch = 0x71; break; + case 0xFF3D: ch = 0x9F; break; + case 0xFF3E: ch = 0x5F; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0x51; 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 = 0x43; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x47; break; + case 0xFF5E: ch = 0xDC; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1143 + +public class ENCibm01143 : CP1143 +{ + public ENCibm01143() : base() {} + +}; // class ENCibm01143 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP1144.cs b/mcs/class/I18N/Rare/CP1144.cs new file mode 100644 index 00000000000..4debbd934eb --- /dev/null +++ b/mcs/class/I18N/Rare/CP1144.cs @@ -0,0 +1,895 @@ +/* + * CP1144.cs - IBM EBCDIC (Italy with Euro) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1144.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP1144 : ByteEncoding +{ + public CP1144() + : base(1144, ToChars, "IBM EBCDIC (Italy with Euro)", + "ibm1144", "ibm1144", "ibm1144", + 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', '\u007B', '\u00E1', '\u00E3', '\u00E5', + '\u005C', '\u00F1', '\u00B0', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u005D', '\u00EA', '\u00EB', + '\u007D', '\u00ED', '\u00EE', '\u00EF', '\u007E', '\u00DF', + '\u00E9', '\u0024', '\u002A', '\u0029', '\u003B', '\u005E', + '\u002D', '\u002F', '\u00C2', '\u00C4', '\u00C0', '\u00C1', + '\u00C3', '\u00C5', '\u00C7', '\u00D1', '\u00F2', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u00F8', '\u00C9', + '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', + '\u00CC', '\u00F9', '\u003A', '\u00A3', '\u00A7', '\u0027', + '\u003D', '\u0022', '\u00D8', '\u0061', '\u0062', '\u0063', + '\u0064', '\u0065', '\u0066', '\u0067', '\u0068', '\u0069', + '\u00AB', '\u00BB', '\u00F0', '\u00FD', '\u00FE', '\u00B1', + '\u005B', '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', + '\u006F', '\u0070', '\u0071', '\u0072', '\u00AA', '\u00BA', + '\u00E6', '\u00B8', '\u00C6', '\u20AC', '\u00B5', '\u00EC', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u0023', '\u00A5', '\u00B7', + '\u00A9', '\u0040', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u00A8', '\u00B4', '\u00D7', + '\u00E0', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', + '\u00F6', '\u00A6', '\u00F3', '\u00F5', '\u00E8', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u00B9', '\u00FB', '\u00FC', '\u0060', + '\u00FA', '\u00FF', '\u00E7', '\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 = 0x4F; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0xB1; 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 = 0xB5; 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 = 0x90; break; + case 0x005C: ch = 0x48; break; + case 0x005D: ch = 0x51; break; + case 0x005E: ch = 0x5F; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0xDD; 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 = 0x44; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x54; break; + case 0x007E: ch = 0x58; 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 = 0x7B; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xCD; break; + case 0x00A7: ch = 0x7C; 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 = 0x4A; 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 = 0xAD; break; + case 0x00DE: ch = 0xAE; break; + case 0x00DF: ch = 0x59; break; + case 0x00E0: ch = 0xC0; 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 = 0xE0; break; + case 0x00E8: ch = 0xD0; break; + case 0x00E9: ch = 0x5A; break; + case 0x00EA: ch = 0x52; break; + case 0x00EB: ch = 0x53; break; + case 0x00EC: ch = 0xA1; 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 = 0x6A; 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 = 0x79; 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 = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0xB1; 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 = 0xB5; 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 = 0x90; break; + case 0xFF3C: ch = 0x48; break; + case 0xFF3D: ch = 0x51; break; + case 0xFF3E: ch = 0x5F; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0xDD; 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 = 0x44; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x54; break; + case 0xFF5E: ch = 0x58; 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 = 0x7F; break; + case 0x0023: ch = 0xB1; 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 = 0xB5; 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 = 0x90; break; + case 0x005C: ch = 0x48; break; + case 0x005D: ch = 0x51; break; + case 0x005E: ch = 0x5F; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0xDD; 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 = 0x44; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x54; break; + case 0x007E: ch = 0x58; 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 = 0x7B; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xCD; break; + case 0x00A7: ch = 0x7C; 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 = 0x4A; 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 = 0xAD; break; + case 0x00DE: ch = 0xAE; break; + case 0x00DF: ch = 0x59; break; + case 0x00E0: ch = 0xC0; 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 = 0xE0; break; + case 0x00E8: ch = 0xD0; break; + case 0x00E9: ch = 0x5A; break; + case 0x00EA: ch = 0x52; break; + case 0x00EB: ch = 0x53; break; + case 0x00EC: ch = 0xA1; 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 = 0x6A; 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 = 0x79; 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 = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0xB1; 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 = 0xB5; 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 = 0x90; break; + case 0xFF3C: ch = 0x48; break; + case 0xFF3D: ch = 0x51; break; + case 0xFF3E: ch = 0x5F; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0xDD; 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 = 0x44; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x54; break; + case 0xFF5E: ch = 0x58; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1144 + +public class ENCibm1144 : CP1144 +{ + public ENCibm1144() : base() {} + +}; // class ENCibm1144 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP1145.cs b/mcs/class/I18N/Rare/CP1145.cs new file mode 100644 index 00000000000..d2e01263499 --- /dev/null +++ b/mcs/class/I18N/Rare/CP1145.cs @@ -0,0 +1,895 @@ +/* + * CP1145.cs - IBM EBCDIC (Latin America/Spain with Euro) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1145.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP1145 : ByteEncoding +{ + public CP1145() + : base(1145, ToChars, "IBM EBCDIC (Latin America/Spain with Euro)", + "ibm1145", "ibm1145", "ibm1145", + 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', '\u00A6', '\u005B', '\u002E', '\u003C', '\u0028', + '\u002B', '\u007C', '\u0026', '\u00E9', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u005D', '\u0024', '\u002A', '\u0029', '\u003B', '\u00AC', + '\u002D', '\u002F', '\u00C2', '\u00C4', '\u00C0', '\u00C1', + '\u00C3', '\u00C5', '\u00C7', '\u0023', '\u00F1', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u00F8', '\u00C9', + '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', + '\u00CC', '\u0060', '\u003A', '\u00D1', '\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', '\u00A8', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u005E', '\u0021', '\u00AF', '\u007E', '\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 = 0xBB; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0x69; 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 = 0xBA; 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 = 0xBD; 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 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x49; break; + case 0x00A7: ch = 0xB5; break; + case 0x00A8: ch = 0xA1; break; + case 0x00A9: ch = 0xB4; break; + case 0x00AA: ch = 0x9A; break; + case 0x00AB: ch = 0x8A; break; + case 0x00AC: ch = 0x5F; 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 = 0x7B; 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 = 0xAD; 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 = 0x6A; 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 = 0xBB; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x69; 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 = 0xBA; 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 = 0xBD; 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 = 0xBB; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0x69; 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 = 0xBA; 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 = 0xBD; 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 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x49; break; + case 0x00A7: ch = 0xB5; break; + case 0x00A8: ch = 0xA1; break; + case 0x00A9: ch = 0xB4; break; + case 0x00AA: ch = 0x9A; break; + case 0x00AB: ch = 0x8A; break; + case 0x00AC: ch = 0x5F; 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 = 0x7B; 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 = 0xAD; 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 = 0x6A; 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 = 0xBB; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x69; 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 = 0xBA; 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 = 0xBD; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1145 + +public class ENCibm1145 : CP1145 +{ + public ENCibm1145() : base() {} + +}; // class ENCibm1145 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP1146.cs b/mcs/class/I18N/Rare/CP1146.cs new file mode 100644 index 00000000000..a68de00de82 --- /dev/null +++ b/mcs/class/I18N/Rare/CP1146.cs @@ -0,0 +1,895 @@ +/* + * CP1146.cs - IBM EBCDIC (United Kingdom with Euro) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1146.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP1146 : ByteEncoding +{ + public CP1146() + : base(1146, ToChars, "IBM EBCDIC (United Kingdom with Euro)", + "ibm1146", "ibm1146", "ibm1146", + 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', '\u0024', '\u002E', '\u003C', '\u0028', + '\u002B', '\u007C', '\u0026', '\u00E9', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u0021', '\u00A3', '\u002A', '\u0029', '\u003B', '\u00AC', + '\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', '\u00AF', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u005B', '\u00A5', '\u00B7', + '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u005E', '\u005D', '\u007E', '\u00A8', '\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 = 0x4A; 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 = 0xB1; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0xBB; break; + case 0x005E: ch = 0xBA; 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 = 0xBC; 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 = 0x5B; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; 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 = 0x5F; break; + case 0x00AD: ch = 0xCA; break; + case 0x00AE: ch = 0xAF; break; + case 0x00AF: ch = 0xA1; 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 = 0xAD; 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 = 0xA1; break; + case 0x20AC: ch = 0x9F; break; + case 0xFF01: ch = 0x5A; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x7B; break; + case 0xFF04: ch = 0x4A; 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 = 0xB1; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0xBB; break; + case 0xFF3E: ch = 0xBA; 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 = 0xBC; 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 = 0x4A; 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 = 0xB1; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0xBB; break; + case 0x005E: ch = 0xBA; 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 = 0xBC; 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 = 0x5B; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; 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 = 0x5F; break; + case 0x00AD: ch = 0xCA; break; + case 0x00AE: ch = 0xAF; break; + case 0x00AF: ch = 0xA1; 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 = 0xAD; 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 = 0xA1; break; + case 0x20AC: ch = 0x9F; break; + case 0xFF01: ch = 0x5A; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x7B; break; + case 0xFF04: ch = 0x4A; 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 = 0xB1; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0xBB; break; + case 0xFF3E: ch = 0xBA; 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 = 0xBC; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1146 + +public class ENCibm1146 : CP1146 +{ + public ENCibm1146() : base() {} + +}; // class ENCibm1146 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP1147.cs b/mcs/class/I18N/Rare/CP1147.cs new file mode 100644 index 00000000000..700d07bbc94 --- /dev/null +++ b/mcs/class/I18N/Rare/CP1147.cs @@ -0,0 +1,895 @@ +/* + * CP1147.cs - IBM EBCDIC (France with Euro) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1147.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP1147 : ByteEncoding +{ + public CP1147() + : base(1147, ToChars, "IBM EBCDIC (France with Euro)", + "ibm1147", "ibm1147", "ibm1147", + 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', '\u0040', '\u00E1', '\u00E3', '\u00E5', + '\u005C', '\u00F1', '\u00B0', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u007B', '\u00EA', '\u00EB', + '\u007D', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u00A7', '\u0024', '\u002A', '\u0029', '\u003B', '\u005E', + '\u002D', '\u002F', '\u00C2', '\u00C4', '\u00C0', '\u00C1', + '\u00C3', '\u00C5', '\u00C7', '\u00D1', '\u00F9', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u00F8', '\u00C9', + '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', + '\u00CC', '\u00B5', '\u003A', '\u00A3', '\u00E0', '\u0027', + '\u003D', '\u0022', '\u00D8', '\u0061', '\u0062', '\u0063', + '\u0064', '\u0065', '\u0066', '\u0067', '\u0068', '\u0069', + '\u00AB', '\u00BB', '\u00F0', '\u00FD', '\u00FE', '\u00B1', + '\u005B', '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', + '\u006F', '\u0070', '\u0071', '\u0072', '\u00AA', '\u00BA', + '\u00E6', '\u00B8', '\u00C6', '\u20AC', '\u0060', '\u00A8', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u0023', '\u00A5', '\u00B7', + '\u00A9', '\u005D', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u007E', '\u00B4', '\u00D7', + '\u00E9', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', + '\u00F6', '\u00F2', '\u00F3', '\u00F5', '\u00E8', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u00B9', '\u00FB', '\u00FC', '\u00A6', + '\u00FA', '\u00FF', '\u00E7', '\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 = 0x4F; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0xB1; 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 = 0x44; 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 = 0x90; break; + case 0x005C: ch = 0x48; break; + case 0x005D: ch = 0xB5; break; + case 0x005E: ch = 0x5F; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0xA0; 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 = 0x51; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x54; break; + case 0x007E: ch = 0xBD; 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 = 0x7B; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xDD; break; + case 0x00A7: ch = 0x5A; break; + case 0x00A8: ch = 0xA1; 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 = 0x4A; break; + case 0x00B1: ch = 0x8F; break; + case 0x00B2: ch = 0xEA; break; + case 0x00B3: ch = 0xFA; break; + case 0x00B4: ch = 0xBE; break; + case 0x00B5: ch = 0x79; 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 = 0xAD; break; + case 0x00DE: ch = 0xAE; break; + case 0x00DF: ch = 0x59; break; + case 0x00E0: ch = 0x7C; 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 = 0xE0; break; + case 0x00E8: ch = 0xD0; break; + case 0x00E9: ch = 0xC0; 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 = 0x6A; 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 = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0xB1; 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 = 0x44; 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 = 0x90; break; + case 0xFF3C: ch = 0x48; break; + case 0xFF3D: ch = 0xB5; break; + case 0xFF3E: ch = 0x5F; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0xA0; 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 = 0x51; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x54; break; + case 0xFF5E: ch = 0xBD; 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 = 0x7F; break; + case 0x0023: ch = 0xB1; 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 = 0x44; 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 = 0x90; break; + case 0x005C: ch = 0x48; break; + case 0x005D: ch = 0xB5; break; + case 0x005E: ch = 0x5F; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0xA0; 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 = 0x51; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x54; break; + case 0x007E: ch = 0xBD; 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 = 0x7B; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xDD; break; + case 0x00A7: ch = 0x5A; break; + case 0x00A8: ch = 0xA1; 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 = 0x4A; break; + case 0x00B1: ch = 0x8F; break; + case 0x00B2: ch = 0xEA; break; + case 0x00B3: ch = 0xFA; break; + case 0x00B4: ch = 0xBE; break; + case 0x00B5: ch = 0x79; 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 = 0xAD; break; + case 0x00DE: ch = 0xAE; break; + case 0x00DF: ch = 0x59; break; + case 0x00E0: ch = 0x7C; 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 = 0xE0; break; + case 0x00E8: ch = 0xD0; break; + case 0x00E9: ch = 0xC0; 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 = 0x6A; 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 = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0xB1; 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 = 0x44; 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 = 0x90; break; + case 0xFF3C: ch = 0x48; break; + case 0xFF3D: ch = 0xB5; break; + case 0xFF3E: ch = 0x5F; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0xA0; 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 = 0x51; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x54; break; + case 0xFF5E: ch = 0xBD; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1147 + +public class ENCibm1147 : CP1147 +{ + public ENCibm1147() : base() {} + +}; // class ENCibm1147 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP1148.cs b/mcs/class/I18N/Rare/CP1148.cs new file mode 100644 index 00000000000..6d911aa295c --- /dev/null +++ b/mcs/class/I18N/Rare/CP1148.cs @@ -0,0 +1,895 @@ +/* + * CP1148.cs - IBM EBCDIC (International with Euro) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1148.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP1148 : ByteEncoding +{ + public CP1148() + : base(1148, ToChars, "IBM EBCDIC (International with Euro)", + "ibm1148", "ibm1148", "ibm1148", + 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', '\u005B', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u00E9', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u005D', '\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', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u00A8', '\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 = 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 = 0xBB; 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 = 0xB0; break; + case 0x00A3: ch = 0xB1; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; 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 = 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 = 0xAD; 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 = 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 = 0xBB; 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 = 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 = 0xBB; 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 = 0xB0; break; + case 0x00A3: ch = 0xB1; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; 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 = 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 = 0xAD; 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 = 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 = 0xBB; break; + case 0xFF5D: ch = 0xD0; break; + case 0xFF5E: ch = 0xA1; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1148 + +public class ENCibm1148 : CP1148 +{ + public ENCibm1148() : base() {} + +}; // class ENCibm1148 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP1149.cs b/mcs/class/I18N/Rare/CP1149.cs new file mode 100644 index 00000000000..97864e9b9c0 --- /dev/null +++ b/mcs/class/I18N/Rare/CP1149.cs @@ -0,0 +1,895 @@ +/* + * CP1149.cs - IBM EBCDIC (Icelandic with Euro) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1149.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP1149 : ByteEncoding +{ + public CP1149() + : base(1149, ToChars, "IBM EBCDIC (Icelandic with Euro)", + "ibm1149", "ibm1149", "ibm1149", + 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', '\u00DE', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u00E9', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u00C6', '\u0024', '\u002A', '\u0029', '\u003B', '\u00D6', + '\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', '\u00F0', '\u003A', '\u0023', '\u00D0', '\u0027', + '\u003D', '\u0022', '\u00D8', '\u0061', '\u0062', '\u0063', + '\u0064', '\u0065', '\u0066', '\u0067', '\u0068', '\u0069', + '\u00AB', '\u00BB', '\u0060', '\u00FD', '\u007B', '\u00B1', + '\u00B0', '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', + '\u006F', '\u0070', '\u0071', '\u0072', '\u00AA', '\u00BA', + '\u007D', '\u00B8', '\u005D', '\u20AC', '\u00B5', '\u00F6', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u0040', '\u00DD', + '\u005B', '\u00AE', '\u00A2', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u00A8', '\u005C', '\u00D7', + '\u00FE', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', + '\u007E', '\u00F2', '\u00F3', '\u00F5', '\u00E6', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u00B9', '\u00FB', '\u00FC', '\u00F9', + '\u00FA', '\u00FF', '\u00B4', '\u00F7', '\u0053', '\u0054', + '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', + '\u00B2', '\u00D4', '\u005E', '\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 = 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 = 0xAC; 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 = 0xAE; break; + case 0x005C: ch = 0xBE; break; + case 0x005D: ch = 0x9E; break; + case 0x005E: ch = 0xEC; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0x8C; 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 = 0x8E; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x9C; 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 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; 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 = 0xE0; 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 = 0x5A; 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 = 0x7C; 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 = 0x5F; 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 = 0xAD; break; + case 0x00DE: ch = 0x4A; 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 = 0xD0; 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 = 0x79; 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 = 0xDC; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0xC0; break; + case 0x00FF: ch = 0xDF; break; + case 0x203E: ch = 0xBC; break; + case 0x20AC: ch = 0x9F; 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 = 0xAC; 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 = 0xAE; break; + case 0xFF3C: ch = 0xBE; break; + case 0xFF3D: ch = 0x9E; break; + case 0xFF3E: ch = 0xEC; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0x8C; 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 = 0x8E; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x9C; 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 = 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 = 0xAC; 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 = 0xAE; break; + case 0x005C: ch = 0xBE; break; + case 0x005D: ch = 0x9E; break; + case 0x005E: ch = 0xEC; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0x8C; 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 = 0x8E; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x9C; 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 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; 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 = 0xE0; 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 = 0x5A; 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 = 0x7C; 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 = 0x5F; 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 = 0xAD; break; + case 0x00DE: ch = 0x4A; 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 = 0xD0; 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 = 0x79; 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 = 0xDC; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0xC0; break; + case 0x00FF: ch = 0xDF; break; + case 0x203E: ch = 0xBC; break; + case 0x20AC: ch = 0x9F; 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 = 0xAC; 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 = 0xAE; break; + case 0xFF3C: ch = 0xBE; break; + case 0xFF3D: ch = 0x9E; break; + case 0xFF3E: ch = 0xEC; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0x8C; 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 = 0x8E; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x9C; break; + case 0xFF5E: ch = 0xCC; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1149 + +public class ENCibm1149 : CP1149 +{ + public ENCibm1149() : base() {} + +}; // class ENCibm1149 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP20273.cs b/mcs/class/I18N/Rare/CP20273.cs new file mode 100644 index 00000000000..2590ba7e18d --- /dev/null +++ b/mcs/class/I18N/Rare/CP20273.cs @@ -0,0 +1,897 @@ +/* + * CP20273.cs - IBM EBCDIC (Germany) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-273.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP20273 : ByteEncoding +{ + public CP20273() + : base(20273, ToChars, "IBM EBCDIC (Germany)", + "IBM273", "IBM273", "IBM273", + 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', '\u007B', '\u00E0', '\u00E1', '\u00E3', '\u00E5', + '\u00E7', '\u00F1', '\u00C4', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u00E9', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u007E', + '\u00DC', '\u0024', '\u002A', '\u0029', '\u003B', '\u005E', + '\u002D', '\u002F', '\u00C2', '\u005B', '\u00C0', '\u00C1', + '\u00C3', '\u00C5', '\u00C7', '\u00D1', '\u00F6', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u00F8', '\u00C9', + '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', + '\u00CC', '\u0060', '\u003A', '\u0023', '\u00A7', '\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', '\u00A4', '\u00B5', '\u00DF', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u0040', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u00A8', '\u00B4', '\u00D7', + '\u00E4', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', + '\u00A6', '\u00F2', '\u00F3', '\u00F5', '\u00FC', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u00B9', '\u00FB', '\u007D', '\u00F9', + '\u00FA', '\u00FF', '\u00D6', '\u00F7', '\u0053', '\u0054', + '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', + '\u00B2', '\u00D4', '\u005C', '\u00D2', '\u00D3', '\u00D5', + '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', + '\u0036', '\u0037', '\u0038', '\u0039', '\u00B3', '\u00DB', + '\u005D', '\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 = 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 = 0xB5; 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 = 0x63; break; + case 0x005C: ch = 0xEC; break; + case 0x005D: ch = 0xFC; 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 = 0x43; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0xDC; break; + case 0x007E: ch = 0x59; 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 = 0xCC; break; + case 0x00A7: ch = 0x7C; 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 = 0x4A; 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 = 0xE0; 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 = 0x5A; break; + case 0x00DD: ch = 0xAD; break; + case 0x00DE: ch = 0xAE; break; + case 0x00DF: ch = 0xA1; break; + case 0x00E0: ch = 0x44; break; + case 0x00E1: ch = 0x45; break; + case 0x00E2: ch = 0x42; break; + case 0x00E3: ch = 0x46; break; + case 0x00E4: ch = 0xC0; 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 = 0x6A; 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 = 0xD0; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0x8E; break; + case 0x00FF: ch = 0xDF; break; + case 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; 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 = 0xB5; 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 = 0x63; break; + case 0xFF3C: ch = 0xEC; break; + case 0xFF3D: ch = 0xFC; 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 = 0x43; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0xDC; break; + case 0xFF5E: ch = 0x59; 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 = 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 = 0xB5; 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 = 0x63; break; + case 0x005C: ch = 0xEC; break; + case 0x005D: ch = 0xFC; 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 = 0x43; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0xDC; break; + case 0x007E: ch = 0x59; 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 = 0xCC; break; + case 0x00A7: ch = 0x7C; 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 = 0x4A; 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 = 0xE0; 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 = 0x5A; break; + case 0x00DD: ch = 0xAD; break; + case 0x00DE: ch = 0xAE; break; + case 0x00DF: ch = 0xA1; break; + case 0x00E0: ch = 0x44; break; + case 0x00E1: ch = 0x45; break; + case 0x00E2: ch = 0x42; break; + case 0x00E3: ch = 0x46; break; + case 0x00E4: ch = 0xC0; 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 = 0x6A; 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 = 0xD0; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0x8E; break; + case 0x00FF: ch = 0xDF; break; + case 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; 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 = 0xB5; 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 = 0x63; break; + case 0xFF3C: ch = 0xEC; break; + case 0xFF3D: ch = 0xFC; 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 = 0x43; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0xDC; break; + case 0xFF5E: ch = 0x59; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP20273 + +public class ENCibm273 : CP20273 +{ + public ENCibm273() : base() {} + +}; // class ENCibm273 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP20277.cs b/mcs/class/I18N/Rare/CP20277.cs new file mode 100644 index 00000000000..8b0c5e56926 --- /dev/null +++ b/mcs/class/I18N/Rare/CP20277.cs @@ -0,0 +1,897 @@ +/* + * CP20277.cs - IBM EBCDIC (Denmark/Norway) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-277.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP20277 : ByteEncoding +{ + public CP20277() + : base(20277, ToChars, "IBM EBCDIC (Denmark/Norway)", + "IBM277", "IBM277", "IBM277", + 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', '\u007D', + '\u00E7', '\u00F1', '\u0023', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u00E9', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u00A4', '\u00C5', '\u002A', '\u0029', '\u003B', '\u005E', + '\u002D', '\u002F', '\u00C2', '\u00C4', '\u00C0', '\u00C1', + '\u00C3', '\u0024', '\u00C7', '\u00D1', '\u00F8', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u00A6', '\u00C9', + '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', + '\u00CC', '\u0060', '\u003A', '\u00C6', '\u00D8', '\u0027', + '\u003D', '\u0022', '\u0040', '\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', + '\u007B', '\u00B8', '\u005B', '\u005D', '\u00B5', '\u00FC', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u00A8', '\u00B4', '\u00D7', + '\u00E6', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', + '\u00F6', '\u00F2', '\u00F3', '\u00F5', '\u00E5', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u00B9', '\u00FB', '\u007E', '\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 = 0x4F; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0x4A; break; + case 0x0024: ch = 0x67; 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 = 0x80; 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 = 0x9E; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0x9F; 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 = 0x9C; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x47; break; + case 0x007E: ch = 0xDC; 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 = 0x5A; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x70; 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 = 0x5B; break; + case 0x00C6: ch = 0x7B; 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 = 0x7C; break; + case 0x00D9: ch = 0xFD; break; + case 0x00DA: ch = 0xFE; break; + case 0x00DB: ch = 0xFB; break; + case 0x00DC: ch = 0xFC; break; + case 0x00DD: ch = 0xAD; 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 = 0xD0; break; + case 0x00E6: ch = 0xC0; 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 = 0x6A; break; + case 0x00F9: ch = 0xDD; break; + case 0x00FA: ch = 0xDE; break; + case 0x00FB: ch = 0xDB; break; + case 0x00FC: ch = 0xA1; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0x8E; break; + case 0x00FF: ch = 0xDF; break; + case 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; break; + case 0xFF01: ch = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x4A; break; + case 0xFF04: ch = 0x67; 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 = 0x80; 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 = 0x9E; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0x9F; 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 = 0x9C; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x47; break; + case 0xFF5E: ch = 0xDC; 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 = 0x7F; break; + case 0x0023: ch = 0x4A; break; + case 0x0024: ch = 0x67; 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 = 0x80; 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 = 0x9E; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0x9F; 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 = 0x9C; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x47; break; + case 0x007E: ch = 0xDC; 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 = 0x5A; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x70; 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 = 0x5B; break; + case 0x00C6: ch = 0x7B; 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 = 0x7C; break; + case 0x00D9: ch = 0xFD; break; + case 0x00DA: ch = 0xFE; break; + case 0x00DB: ch = 0xFB; break; + case 0x00DC: ch = 0xFC; break; + case 0x00DD: ch = 0xAD; 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 = 0xD0; break; + case 0x00E6: ch = 0xC0; 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 = 0x6A; break; + case 0x00F9: ch = 0xDD; break; + case 0x00FA: ch = 0xDE; break; + case 0x00FB: ch = 0xDB; break; + case 0x00FC: ch = 0xA1; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0x8E; break; + case 0x00FF: ch = 0xDF; break; + case 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; break; + case 0xFF01: ch = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x4A; break; + case 0xFF04: ch = 0x67; 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 = 0x80; 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 = 0x9E; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0x9F; 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 = 0x9C; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x47; break; + case 0xFF5E: ch = 0xDC; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP20277 + +public class ENCibm277 : CP20277 +{ + public ENCibm277() : base() {} + +}; // class ENCibm277 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP20278.cs b/mcs/class/I18N/Rare/CP20278.cs new file mode 100644 index 00000000000..56f03e2f5aa --- /dev/null +++ b/mcs/class/I18N/Rare/CP20278.cs @@ -0,0 +1,897 @@ +/* + * CP20278.cs - IBM EBCDIC (Finland/Sweden) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-278.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP20278 : ByteEncoding +{ + public CP20278() + : base(20278, ToChars, "IBM EBCDIC (Finland/Sweden)", + "IBM278", "IBM278", "IBM278", + 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', '\u007B', '\u00E0', '\u00E1', '\u00E3', '\u007D', + '\u00E7', '\u00F1', '\u00A7', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u0060', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u00A4', '\u00C5', '\u002A', '\u0029', '\u003B', '\u005E', + '\u002D', '\u002F', '\u00C2', '\u0023', '\u00C0', '\u00C1', + '\u00C3', '\u0024', '\u00C7', '\u00D1', '\u00F6', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u00F8', '\u005C', + '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', + '\u00CC', '\u00E9', '\u003A', '\u00C4', '\u00D6', '\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', '\u005D', '\u00B5', '\u00FC', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u005B', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u00A8', '\u00B4', '\u00D7', + '\u00E4', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', + '\u00A6', '\u00F2', '\u00F3', '\u00F5', '\u00E5', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u00B9', '\u00FB', '\u007E', '\u00F9', + '\u00FA', '\u00FF', '\u00C9', '\u00F7', '\u0053', '\u0054', + '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', + '\u00B2', '\u00D4', '\u0040', '\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 = 0x4F; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0x63; break; + case 0x0024: ch = 0x67; 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 = 0xEC; 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 = 0xB5; break; + case 0x005C: ch = 0x71; break; + case 0x005D: ch = 0x9F; break; + case 0x005E: ch = 0x5F; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0x51; 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 = 0x43; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x47; break; + case 0x007E: ch = 0xDC; 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 = 0x5A; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xCC; break; + case 0x00A7: ch = 0x4A; 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 = 0x7B; break; + case 0x00C5: ch = 0x5B; break; + case 0x00C6: ch = 0x9E; break; + case 0x00C7: ch = 0x68; break; + case 0x00C8: ch = 0x74; break; + case 0x00C9: ch = 0xE0; 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 = 0x7C; 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 = 0xAD; 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 = 0xC0; break; + case 0x00E5: ch = 0xD0; break; + case 0x00E6: ch = 0x9C; break; + case 0x00E7: ch = 0x48; break; + case 0x00E8: ch = 0x54; break; + case 0x00E9: ch = 0x79; 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 = 0x6A; 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 = 0xA1; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0x8E; break; + case 0x00FF: ch = 0xDF; break; + case 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; break; + case 0xFF01: ch = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x63; break; + case 0xFF04: ch = 0x67; 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 = 0xEC; 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 = 0xB5; break; + case 0xFF3C: ch = 0x71; break; + case 0xFF3D: ch = 0x9F; break; + case 0xFF3E: ch = 0x5F; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0x51; 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 = 0x43; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x47; break; + case 0xFF5E: ch = 0xDC; 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 = 0x7F; break; + case 0x0023: ch = 0x63; break; + case 0x0024: ch = 0x67; 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 = 0xEC; 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 = 0xB5; break; + case 0x005C: ch = 0x71; break; + case 0x005D: ch = 0x9F; break; + case 0x005E: ch = 0x5F; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0x51; 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 = 0x43; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x47; break; + case 0x007E: ch = 0xDC; 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 = 0x5A; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xCC; break; + case 0x00A7: ch = 0x4A; 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 = 0x7B; break; + case 0x00C5: ch = 0x5B; break; + case 0x00C6: ch = 0x9E; break; + case 0x00C7: ch = 0x68; break; + case 0x00C8: ch = 0x74; break; + case 0x00C9: ch = 0xE0; 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 = 0x7C; 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 = 0xAD; 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 = 0xC0; break; + case 0x00E5: ch = 0xD0; break; + case 0x00E6: ch = 0x9C; break; + case 0x00E7: ch = 0x48; break; + case 0x00E8: ch = 0x54; break; + case 0x00E9: ch = 0x79; 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 = 0x6A; 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 = 0xA1; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0x8E; break; + case 0x00FF: ch = 0xDF; break; + case 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; break; + case 0xFF01: ch = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x63; break; + case 0xFF04: ch = 0x67; 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 = 0xEC; 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 = 0xB5; break; + case 0xFF3C: ch = 0x71; break; + case 0xFF3D: ch = 0x9F; break; + case 0xFF3E: ch = 0x5F; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0x51; 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 = 0x43; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x47; break; + case 0xFF5E: ch = 0xDC; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP20278 + +public class ENCibm278 : CP20278 +{ + public ENCibm278() : base() {} + +}; // class ENCibm278 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP20280.cs b/mcs/class/I18N/Rare/CP20280.cs new file mode 100644 index 00000000000..d675956d980 --- /dev/null +++ b/mcs/class/I18N/Rare/CP20280.cs @@ -0,0 +1,897 @@ +/* + * CP20280.cs - IBM EBCDIC (Italy) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-280.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP20280 : ByteEncoding +{ + public CP20280() + : base(20280, ToChars, "IBM EBCDIC (Italy)", + "IBM280", "IBM280", "IBM280", + 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', '\u007B', '\u00E1', '\u00E3', '\u00E5', + '\u005C', '\u00F1', '\u00B0', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u005D', '\u00EA', '\u00EB', + '\u007D', '\u00ED', '\u00EE', '\u00EF', '\u007E', '\u00DF', + '\u00E9', '\u0024', '\u002A', '\u0029', '\u003B', '\u005E', + '\u002D', '\u002F', '\u00C2', '\u00C4', '\u00C0', '\u00C1', + '\u00C3', '\u00C5', '\u00C7', '\u00D1', '\u00F2', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u00F8', '\u00C9', + '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', + '\u00CC', '\u00F9', '\u003A', '\u00A3', '\u00A7', '\u0027', + '\u003D', '\u0022', '\u00D8', '\u0061', '\u0062', '\u0063', + '\u0064', '\u0065', '\u0066', '\u0067', '\u0068', '\u0069', + '\u00AB', '\u00BB', '\u00F0', '\u00FD', '\u00FE', '\u00B1', + '\u005B', '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', + '\u006F', '\u0070', '\u0071', '\u0072', '\u00AA', '\u00BA', + '\u00E6', '\u00B8', '\u00C6', '\u00A4', '\u00B5', '\u00EC', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u0023', '\u00A5', '\u00B7', + '\u00A9', '\u0040', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u00A8', '\u00B4', '\u00D7', + '\u00E0', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', + '\u00F6', '\u00A6', '\u00F3', '\u00F5', '\u00E8', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u00B9', '\u00FB', '\u00FC', '\u0060', + '\u00FA', '\u00FF', '\u00E7', '\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 = 0x4F; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0xB1; 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 = 0xB5; 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 = 0x90; break; + case 0x005C: ch = 0x48; break; + case 0x005D: ch = 0x51; break; + case 0x005E: ch = 0x5F; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0xDD; 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 = 0x44; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x54; break; + case 0x007E: ch = 0x58; 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 = 0x7B; break; + case 0x00A4: ch = 0x9F; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xCD; break; + case 0x00A7: ch = 0x7C; 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 = 0x4A; 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 = 0xAD; break; + case 0x00DE: ch = 0xAE; break; + case 0x00DF: ch = 0x59; break; + case 0x00E0: ch = 0xC0; 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 = 0xE0; break; + case 0x00E8: ch = 0xD0; break; + case 0x00E9: ch = 0x5A; break; + case 0x00EA: ch = 0x52; break; + case 0x00EB: ch = 0x53; break; + case 0x00EC: ch = 0xA1; 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 = 0x6A; 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 = 0x79; 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 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; break; + case 0xFF01: ch = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0xB1; 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 = 0xB5; 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 = 0x90; break; + case 0xFF3C: ch = 0x48; break; + case 0xFF3D: ch = 0x51; break; + case 0xFF3E: ch = 0x5F; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0xDD; 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 = 0x44; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x54; break; + case 0xFF5E: ch = 0x58; 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 = 0x7F; break; + case 0x0023: ch = 0xB1; 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 = 0xB5; 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 = 0x90; break; + case 0x005C: ch = 0x48; break; + case 0x005D: ch = 0x51; break; + case 0x005E: ch = 0x5F; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0xDD; 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 = 0x44; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x54; break; + case 0x007E: ch = 0x58; 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 = 0x7B; break; + case 0x00A4: ch = 0x9F; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xCD; break; + case 0x00A7: ch = 0x7C; 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 = 0x4A; 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 = 0xAD; break; + case 0x00DE: ch = 0xAE; break; + case 0x00DF: ch = 0x59; break; + case 0x00E0: ch = 0xC0; 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 = 0xE0; break; + case 0x00E8: ch = 0xD0; break; + case 0x00E9: ch = 0x5A; break; + case 0x00EA: ch = 0x52; break; + case 0x00EB: ch = 0x53; break; + case 0x00EC: ch = 0xA1; 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 = 0x6A; 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 = 0x79; 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 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; break; + case 0xFF01: ch = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0xB1; 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 = 0xB5; 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 = 0x90; break; + case 0xFF3C: ch = 0x48; break; + case 0xFF3D: ch = 0x51; break; + case 0xFF3E: ch = 0x5F; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0xDD; 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 = 0x44; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x54; break; + case 0xFF5E: ch = 0x58; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP20280 + +public class ENCibm280 : CP20280 +{ + public ENCibm280() : base() {} + +}; // class ENCibm280 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP20284.cs b/mcs/class/I18N/Rare/CP20284.cs new file mode 100644 index 00000000000..df03a5271ea --- /dev/null +++ b/mcs/class/I18N/Rare/CP20284.cs @@ -0,0 +1,897 @@ +/* + * CP20284.cs - IBM EBCDIC (Latin America/Spain) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-284.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP20284 : ByteEncoding +{ + public CP20284() + : base(20284, ToChars, "IBM EBCDIC (Latin America/Spain)", + "IBM284", "IBM284", "IBM284", + 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', '\u00A6', '\u005B', '\u002E', '\u003C', '\u0028', + '\u002B', '\u007C', '\u0026', '\u00E9', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u005D', '\u0024', '\u002A', '\u0029', '\u003B', '\u00AC', + '\u002D', '\u002F', '\u00C2', '\u00C4', '\u00C0', '\u00C1', + '\u00C3', '\u00C5', '\u00C7', '\u0023', '\u00F1', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u00F8', '\u00C9', + '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', + '\u00CC', '\u0060', '\u003A', '\u00D1', '\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', '\u00A4', '\u00B5', '\u00A8', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u005E', '\u0021', '\u00AF', '\u007E', '\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 = 0xBB; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0x69; 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 = 0xBA; 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 = 0xBD; 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 = 0x49; break; + case 0x00A7: ch = 0xB5; break; + case 0x00A8: ch = 0xA1; break; + case 0x00A9: ch = 0xB4; break; + case 0x00AA: ch = 0x9A; break; + case 0x00AB: ch = 0x8A; break; + case 0x00AC: ch = 0x5F; 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 = 0x7B; 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 = 0xAD; 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 = 0x6A; 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 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; break; + case 0xFF01: ch = 0xBB; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x69; 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 = 0xBA; 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 = 0xBD; 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 = 0xBB; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0x69; 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 = 0xBA; 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 = 0xBD; 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 = 0x49; break; + case 0x00A7: ch = 0xB5; break; + case 0x00A8: ch = 0xA1; break; + case 0x00A9: ch = 0xB4; break; + case 0x00AA: ch = 0x9A; break; + case 0x00AB: ch = 0x8A; break; + case 0x00AC: ch = 0x5F; 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 = 0x7B; 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 = 0xAD; 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 = 0x6A; 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 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; break; + case 0xFF01: ch = 0xBB; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x69; 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 = 0xBA; 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 = 0xBD; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP20284 + +public class ENCibm284 : CP20284 +{ + public ENCibm284() : base() {} + +}; // class ENCibm284 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP20285.cs b/mcs/class/I18N/Rare/CP20285.cs new file mode 100644 index 00000000000..20efc688ffb --- /dev/null +++ b/mcs/class/I18N/Rare/CP20285.cs @@ -0,0 +1,897 @@ +/* + * CP20285.cs - IBM EBCDIC (United Kingdom) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-285.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP20285 : ByteEncoding +{ + public CP20285() + : base(20285, ToChars, "IBM EBCDIC (United Kingdom)", + "IBM285", "IBM285", "IBM285", + 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', '\u0024', '\u002E', '\u003C', '\u0028', + '\u002B', '\u007C', '\u0026', '\u00E9', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u0021', '\u00A3', '\u002A', '\u0029', '\u003B', '\u00AC', + '\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', '\u00A4', '\u00B5', '\u00AF', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u005B', '\u00A5', '\u00B7', + '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u005E', '\u005D', '\u007E', '\u00A8', '\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 = 0x4A; 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 = 0xB1; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0xBB; break; + case 0x005E: ch = 0xBA; 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 = 0xBC; 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 = 0x5B; break; + case 0x00A4: ch = 0x9F; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; 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 = 0x5F; break; + case 0x00AD: ch = 0xCA; break; + case 0x00AE: ch = 0xAF; break; + case 0x00AF: ch = 0xA1; 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 = 0xAD; 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 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xA1; break; + case 0xFF01: ch = 0x5A; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x7B; break; + case 0xFF04: ch = 0x4A; 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 = 0xB1; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0xBB; break; + case 0xFF3E: ch = 0xBA; 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 = 0xBC; 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 = 0x4A; 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 = 0xB1; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0xBB; break; + case 0x005E: ch = 0xBA; 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 = 0xBC; 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 = 0x5B; break; + case 0x00A4: ch = 0x9F; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; 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 = 0x5F; break; + case 0x00AD: ch = 0xCA; break; + case 0x00AE: ch = 0xAF; break; + case 0x00AF: ch = 0xA1; 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 = 0xAD; 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 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xA1; break; + case 0xFF01: ch = 0x5A; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x7B; break; + case 0xFF04: ch = 0x4A; 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 = 0xB1; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0xBB; break; + case 0xFF3E: ch = 0xBA; 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 = 0xBC; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP20285 + +public class ENCibm285 : CP20285 +{ + public ENCibm285() : base() {} + +}; // class ENCibm285 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP20290.cs b/mcs/class/I18N/Rare/CP20290.cs new file mode 100644 index 00000000000..4df3d74ce2b --- /dev/null +++ b/mcs/class/I18N/Rare/CP20290.cs @@ -0,0 +1,865 @@ +/* + * CP20290.cs - IBM EBCDIC (Japanese Katakana Extended) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-290.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP20290 : ByteEncoding +{ + public CP20290() + : base(20290, ToChars, "IBM EBCDIC (Japanese Katakana Extended)", + "IBM290", "IBM290", "IBM290", + false, false, false, false, 932) + {} + + 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', '\uFF61', + '\uFF62', '\uFF63', '\uFF64', '\uFF65', '\uFF66', '\uFF67', + '\uFF68', '\uFF69', '\u00A3', '\u002E', '\u003C', '\u0028', + '\u002B', '\u007C', '\u0026', '\uFF6A', '\uFF6B', '\uFF6C', + '\uFF6D', '\uFF6E', '\uFF6F', '\u003F', '\uFF70', '\u003F', + '\u0021', '\u00A5', '\u002A', '\u0029', '\u003B', '\u00AC', + '\u002D', '\u002F', '\u0061', '\u0062', '\u0063', '\u0064', + '\u0065', '\u0066', '\u0067', '\u0068', '\u003F', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u005B', '\u0069', + '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', '\u006F', + '\u0070', '\u0060', '\u003A', '\u0023', '\u0040', '\u0027', + '\u003D', '\u0022', '\u005D', '\uFF71', '\uFF72', '\uFF73', + '\uFF74', '\uFF75', '\uFF76', '\uFF77', '\uFF78', '\uFF79', + '\uFF7A', '\u0071', '\uFF7B', '\uFF7C', '\uFF7D', '\uFF7E', + '\uFF7F', '\uFF80', '\uFF81', '\uFF82', '\uFF83', '\uFF84', + '\uFF85', '\uFF86', '\uFF87', '\uFF88', '\uFF89', '\u0072', + '\u003F', '\uFF8A', '\uFF8B', '\uFF8C', '\u007E', '\u203E', + '\uFF8D', '\uFF8E', '\uFF8F', '\uFF90', '\uFF91', '\uFF92', + '\uFF93', '\uFF94', '\uFF95', '\u0073', '\uFF96', '\uFF97', + '\uFF98', '\uFF99', '\u005E', '\u00A2', '\u005C', '\u0074', + '\u0075', '\u0076', '\u0077', '\u0078', '\u0079', '\u007A', + '\uFF9A', '\uFF9B', '\uFF9C', '\uFF9D', '\uFF9E', '\uFF9F', + '\u007B', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u007D', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u0024', '\u003F', '\u0053', '\u0054', + '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', + '\u0036', '\u0037', '\u0038', '\u0039', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\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 = 0x5A; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0x7B; break; + case 0x0024: ch = 0xE0; 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 = 0x70; break; + case 0x005C: ch = 0xB2; break; + case 0x005D: ch = 0x80; break; + case 0x005E: ch = 0xB0; 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: + ch += 0x0001; + break; + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + ch += 0x0008; + break; + case 0x0071: ch = 0x8B; break; + case 0x0072: ch = 0x9B; break; + case 0x0073: ch = 0xAB; break; + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + ch += 0x003F; + break; + case 0x007B: ch = 0xC0; break; + case 0x007C: ch = 0x4F; break; + case 0x007D: ch = 0xD0; break; + case 0x007E: ch = 0xA0; 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 0x00A2: ch = 0xB1; break; + case 0x00A3: ch = 0x4A; break; + case 0x00A5: ch = 0x5B; break; + case 0x00AC: ch = 0x5F; break; + case 0x203E: ch = 0xA1; break; + case 0xFF01: ch = 0x5A; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x7B; break; + case 0xFF04: ch = 0xE0; 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 = 0x70; break; + case 0xFF3C: ch = 0xB2; break; + case 0xFF3D: ch = 0x80; break; + case 0xFF3E: ch = 0xB0; 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: + ch -= 0xFEDF; + break; + case 0xFF49: + case 0xFF4A: + case 0xFF4B: + case 0xFF4C: + case 0xFF4D: + case 0xFF4E: + case 0xFF4F: + case 0xFF50: + ch -= 0xFED8; + break; + case 0xFF51: ch = 0x8B; break; + case 0xFF52: ch = 0x9B; break; + case 0xFF53: ch = 0xAB; break; + case 0xFF54: + case 0xFF55: + case 0xFF56: + case 0xFF57: + case 0xFF58: + case 0xFF59: + case 0xFF5A: + ch -= 0xFEA1; + break; + case 0xFF5B: ch = 0xC0; break; + case 0xFF5C: ch = 0x4F; break; + case 0xFF5D: ch = 0xD0; break; + case 0xFF5E: ch = 0xA0; break; + case 0xFF61: + case 0xFF62: + case 0xFF63: + case 0xFF64: + case 0xFF65: + case 0xFF66: + case 0xFF67: + case 0xFF68: + case 0xFF69: + ch -= 0xFF20; + break; + case 0xFF6A: + case 0xFF6B: + case 0xFF6C: + case 0xFF6D: + case 0xFF6E: + case 0xFF6F: + ch -= 0xFF19; + break; + case 0xFF70: ch = 0x58; break; + case 0xFF71: + case 0xFF72: + case 0xFF73: + case 0xFF74: + case 0xFF75: + case 0xFF76: + case 0xFF77: + case 0xFF78: + case 0xFF79: + case 0xFF7A: + ch -= 0xFEF0; + break; + case 0xFF7B: + case 0xFF7C: + case 0xFF7D: + case 0xFF7E: + case 0xFF7F: + case 0xFF80: + case 0xFF81: + case 0xFF82: + case 0xFF83: + case 0xFF84: + case 0xFF85: + case 0xFF86: + case 0xFF87: + case 0xFF88: + case 0xFF89: + ch -= 0xFEEF; + break; + case 0xFF8A: ch = 0x9D; break; + case 0xFF8B: ch = 0x9E; break; + case 0xFF8C: ch = 0x9F; break; + case 0xFF8D: + case 0xFF8E: + case 0xFF8F: + case 0xFF90: + case 0xFF91: + case 0xFF92: + case 0xFF93: + case 0xFF94: + case 0xFF95: + ch -= 0xFEEB; + break; + case 0xFF96: + case 0xFF97: + case 0xFF98: + case 0xFF99: + ch -= 0xFEEA; + break; + case 0xFF9A: + case 0xFF9B: + case 0xFF9C: + case 0xFF9D: + case 0xFF9E: + case 0xFF9F: + ch -= 0xFEE0; + 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 = 0x5A; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0x7B; break; + case 0x0024: ch = 0xE0; 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 = 0x70; break; + case 0x005C: ch = 0xB2; break; + case 0x005D: ch = 0x80; break; + case 0x005E: ch = 0xB0; 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: + ch += 0x0001; + break; + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + ch += 0x0008; + break; + case 0x0071: ch = 0x8B; break; + case 0x0072: ch = 0x9B; break; + case 0x0073: ch = 0xAB; break; + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + ch += 0x003F; + break; + case 0x007B: ch = 0xC0; break; + case 0x007C: ch = 0x4F; break; + case 0x007D: ch = 0xD0; break; + case 0x007E: ch = 0xA0; 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 0x00A2: ch = 0xB1; break; + case 0x00A3: ch = 0x4A; break; + case 0x00A5: ch = 0x5B; break; + case 0x00AC: ch = 0x5F; break; + case 0x203E: ch = 0xA1; break; + case 0xFF01: ch = 0x5A; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0x7B; break; + case 0xFF04: ch = 0xE0; 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 = 0x70; break; + case 0xFF3C: ch = 0xB2; break; + case 0xFF3D: ch = 0x80; break; + case 0xFF3E: ch = 0xB0; 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: + ch -= 0xFEDF; + break; + case 0xFF49: + case 0xFF4A: + case 0xFF4B: + case 0xFF4C: + case 0xFF4D: + case 0xFF4E: + case 0xFF4F: + case 0xFF50: + ch -= 0xFED8; + break; + case 0xFF51: ch = 0x8B; break; + case 0xFF52: ch = 0x9B; break; + case 0xFF53: ch = 0xAB; break; + case 0xFF54: + case 0xFF55: + case 0xFF56: + case 0xFF57: + case 0xFF58: + case 0xFF59: + case 0xFF5A: + ch -= 0xFEA1; + break; + case 0xFF5B: ch = 0xC0; break; + case 0xFF5C: ch = 0x4F; break; + case 0xFF5D: ch = 0xD0; break; + case 0xFF5E: ch = 0xA0; break; + case 0xFF61: + case 0xFF62: + case 0xFF63: + case 0xFF64: + case 0xFF65: + case 0xFF66: + case 0xFF67: + case 0xFF68: + case 0xFF69: + ch -= 0xFF20; + break; + case 0xFF6A: + case 0xFF6B: + case 0xFF6C: + case 0xFF6D: + case 0xFF6E: + case 0xFF6F: + ch -= 0xFF19; + break; + case 0xFF70: ch = 0x58; break; + case 0xFF71: + case 0xFF72: + case 0xFF73: + case 0xFF74: + case 0xFF75: + case 0xFF76: + case 0xFF77: + case 0xFF78: + case 0xFF79: + case 0xFF7A: + ch -= 0xFEF0; + break; + case 0xFF7B: + case 0xFF7C: + case 0xFF7D: + case 0xFF7E: + case 0xFF7F: + case 0xFF80: + case 0xFF81: + case 0xFF82: + case 0xFF83: + case 0xFF84: + case 0xFF85: + case 0xFF86: + case 0xFF87: + case 0xFF88: + case 0xFF89: + ch -= 0xFEEF; + break; + case 0xFF8A: ch = 0x9D; break; + case 0xFF8B: ch = 0x9E; break; + case 0xFF8C: ch = 0x9F; break; + case 0xFF8D: + case 0xFF8E: + case 0xFF8F: + case 0xFF90: + case 0xFF91: + case 0xFF92: + case 0xFF93: + case 0xFF94: + case 0xFF95: + ch -= 0xFEEB; + break; + case 0xFF96: + case 0xFF97: + case 0xFF98: + case 0xFF99: + ch -= 0xFEEA; + break; + case 0xFF9A: + case 0xFF9B: + case 0xFF9C: + case 0xFF9D: + case 0xFF9E: + case 0xFF9F: + ch -= 0xFEE0; + break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP20290 + +public class ENCibm290 : CP20290 +{ + public ENCibm290() : base() {} + +}; // class ENCibm290 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP20297.cs b/mcs/class/I18N/Rare/CP20297.cs new file mode 100644 index 00000000000..439aeefbd4a --- /dev/null +++ b/mcs/class/I18N/Rare/CP20297.cs @@ -0,0 +1,897 @@ +/* + * CP20297.cs - IBM EBCDIC (France) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-297.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP20297 : ByteEncoding +{ + public CP20297() + : base(20297, ToChars, "IBM EBCDIC (France)", + "IBM297", "IBM297", "IBM297", + 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', '\u0040', '\u00E1', '\u00E3', '\u00E5', + '\u005C', '\u00F1', '\u00B0', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u007B', '\u00EA', '\u00EB', + '\u007D', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u00A7', '\u0024', '\u002A', '\u0029', '\u003B', '\u005E', + '\u002D', '\u002F', '\u00C2', '\u00C4', '\u00C0', '\u00C1', + '\u00C3', '\u00C5', '\u00C7', '\u00D1', '\u00F9', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u00F8', '\u00C9', + '\u00CA', '\u00CB', '\u00C8', '\u00CD', '\u00CE', '\u00CF', + '\u00CC', '\u00B5', '\u003A', '\u00A3', '\u00E0', '\u0027', + '\u003D', '\u0022', '\u00D8', '\u0061', '\u0062', '\u0063', + '\u0064', '\u0065', '\u0066', '\u0067', '\u0068', '\u0069', + '\u00AB', '\u00BB', '\u00F0', '\u00FD', '\u00FE', '\u00B1', + '\u005B', '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', + '\u006F', '\u0070', '\u0071', '\u0072', '\u00AA', '\u00BA', + '\u00E6', '\u00B8', '\u00C6', '\u00A4', '\u0060', '\u00A8', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u0023', '\u00A5', '\u00B7', + '\u00A9', '\u005D', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u007E', '\u00B4', '\u00D7', + '\u00E9', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', + '\u00F6', '\u00F2', '\u00F3', '\u00F5', '\u00E8', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u00B9', '\u00FB', '\u00FC', '\u00A6', + '\u00FA', '\u00FF', '\u00E7', '\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 = 0x4F; break; + case 0x0022: ch = 0x7F; break; + case 0x0023: ch = 0xB1; 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 = 0x44; 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 = 0x90; break; + case 0x005C: ch = 0x48; break; + case 0x005D: ch = 0xB5; break; + case 0x005E: ch = 0x5F; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0xA0; 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 = 0x51; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x54; break; + case 0x007E: ch = 0xBD; 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 = 0x7B; break; + case 0x00A4: ch = 0x9F; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xDD; break; + case 0x00A7: ch = 0x5A; break; + case 0x00A8: ch = 0xA1; 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 = 0x4A; break; + case 0x00B1: ch = 0x8F; break; + case 0x00B2: ch = 0xEA; break; + case 0x00B3: ch = 0xFA; break; + case 0x00B4: ch = 0xBE; break; + case 0x00B5: ch = 0x79; 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 = 0xAD; break; + case 0x00DE: ch = 0xAE; break; + case 0x00DF: ch = 0x59; break; + case 0x00E0: ch = 0x7C; 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 = 0xE0; break; + case 0x00E8: ch = 0xD0; break; + case 0x00E9: ch = 0xC0; 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 = 0x6A; 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 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; break; + case 0xFF01: ch = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0xB1; 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 = 0x44; 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 = 0x90; break; + case 0xFF3C: ch = 0x48; break; + case 0xFF3D: ch = 0xB5; break; + case 0xFF3E: ch = 0x5F; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0xA0; 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 = 0x51; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x54; break; + case 0xFF5E: ch = 0xBD; 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 = 0x7F; break; + case 0x0023: ch = 0xB1; 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 = 0x44; 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 = 0x90; break; + case 0x005C: ch = 0x48; break; + case 0x005D: ch = 0xB5; break; + case 0x005E: ch = 0x5F; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0xA0; 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 = 0x51; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x54; break; + case 0x007E: ch = 0xBD; 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 = 0x7B; break; + case 0x00A4: ch = 0x9F; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0xDD; break; + case 0x00A7: ch = 0x5A; break; + case 0x00A8: ch = 0xA1; 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 = 0x4A; break; + case 0x00B1: ch = 0x8F; break; + case 0x00B2: ch = 0xEA; break; + case 0x00B3: ch = 0xFA; break; + case 0x00B4: ch = 0xBE; break; + case 0x00B5: ch = 0x79; 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 = 0xAD; break; + case 0x00DE: ch = 0xAE; break; + case 0x00DF: ch = 0x59; break; + case 0x00E0: ch = 0x7C; 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 = 0xE0; break; + case 0x00E8: ch = 0xD0; break; + case 0x00E9: ch = 0xC0; 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 = 0x6A; 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 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; break; + case 0xFF01: ch = 0x4F; break; + case 0xFF02: ch = 0x7F; break; + case 0xFF03: ch = 0xB1; 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 = 0x44; 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 = 0x90; break; + case 0xFF3C: ch = 0x48; break; + case 0xFF3D: ch = 0xB5; break; + case 0xFF3E: ch = 0x5F; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0xA0; 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 = 0x51; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x54; break; + case 0xFF5E: ch = 0xBD; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP20297 + +public class ENCibm297 : CP20297 +{ + public ENCibm297() : base() {} + +}; // class ENCibm297 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP20420.cs b/mcs/class/I18N/Rare/CP20420.cs new file mode 100644 index 00000000000..ee601514f32 --- /dev/null +++ b/mcs/class/I18N/Rare/CP20420.cs @@ -0,0 +1,1073 @@ +/* + * CP20420.cs - IBM EBCDIC (Arabic) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-420.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP20420 : ByteEncoding +{ + public CP20420() + : base(20420, ToChars, "IBM EBCDIC (Arabic)", + "IBM420", "IBM420", "IBM420", + false, false, false, false, 1256) + {} + + 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', + '\u0651', '\uFE7D', '\u0640', '\u200B', '\u0621', '\u0622', + '\uFE82', '\u0623', '\u00A2', '\u002E', '\u003C', '\u0028', + '\u002B', '\u007C', '\u0026', '\uFE84', '\u0624', '\u003F', + '\u003F', '\u0626', '\u0627', '\uFE8E', '\u0628', '\uFE91', + '\u0021', '\u0024', '\u002A', '\u0029', '\u003B', '\u00AC', + '\u002D', '\u002F', '\u0629', '\u062A', '\uFE97', '\u062B', + '\uFE9B', '\u062C', '\uFE9F', '\u062D', '\u00A6', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\uFEA3', '\u062E', + '\uFEA7', '\u062F', '\u0630', '\u0631', '\u0632', '\u0633', + '\uFEB3', '\u060C', '\u003A', '\u0023', '\u0040', '\u0027', + '\u003D', '\u0022', '\u0634', '\u0061', '\u0062', '\u0063', + '\u0064', '\u0065', '\u0066', '\u0067', '\u0068', '\u0069', + '\uFEB7', '\u0635', '\uFEBB', '\u0636', '\uFEBF', '\u0637', + '\u0638', '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', + '\u006F', '\u0070', '\u0071', '\u0072', '\u0639', '\uFECA', + '\uFECB', '\uFECC', '\u063A', '\uFECE', '\uFECF', '\u00F7', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\uFED0', '\u0641', '\uFED3', '\u0642', + '\uFED7', '\u0643', '\uFEDB', '\u0644', '\uFEF5', '\uFEF6', + '\uFEF7', '\uFEF8', '\u003F', '\u003F', '\uFEFB', '\uFEFC', + '\uFEDF', '\u0645', '\uFEE3', '\u0646', '\uFEE7', '\u0647', + '\u061B', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\uFEEB', + '\u003F', '\uFEEC', '\u003F', '\u0648', '\u061F', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u0649', '\uFEF0', '\u064A', '\uFEF2', + '\uFEF3', '\u0660', '\u00D7', '\u003F', '\u0053', '\u0054', + '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', + '\u0661', '\u0662', '\u003F', '\u0663', '\u0664', '\u0665', + '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', + '\u0036', '\u0037', '\u0038', '\u0039', '\u003F', '\u0666', + '\u0667', '\u0668', '\u0669', '\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 = 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 0x005F: ch = 0x6D; 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 0x007C: ch = 0x4F; 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 0x00A2: ch = 0x4A; break; + case 0x00A6: ch = 0x6A; break; + case 0x00AC: ch = 0x5F; break; + case 0x00AD: ch = 0xCA; break; + case 0x00D7: ch = 0xE0; break; + case 0x00F7: ch = 0xA1; break; + case 0x060C: ch = 0x79; break; + case 0x061B: ch = 0xC0; break; + case 0x061F: ch = 0xD0; break; + case 0x0621: ch = 0x46; break; + case 0x0622: ch = 0x47; break; + case 0x0623: ch = 0x49; break; + case 0x0624: ch = 0x52; break; + case 0x0625: ch = 0x56; break; + case 0x0626: ch = 0x55; break; + case 0x0627: ch = 0x56; break; + case 0x0628: ch = 0x58; break; + case 0x0629: ch = 0x62; break; + case 0x062A: ch = 0x63; break; + case 0x062B: ch = 0x65; break; + case 0x062C: ch = 0x67; break; + case 0x062D: ch = 0x69; break; + case 0x062E: ch = 0x71; break; + case 0x062F: + case 0x0630: + case 0x0631: + case 0x0632: + case 0x0633: + ch -= 0x05BC; + break; + case 0x0634: ch = 0x80; break; + case 0x0635: ch = 0x8B; break; + case 0x0636: ch = 0x8D; break; + case 0x0637: ch = 0x8F; break; + case 0x0638: ch = 0x90; break; + case 0x0639: ch = 0x9A; break; + case 0x063A: ch = 0x9E; break; + case 0x0640: ch = 0x44; break; + case 0x0641: ch = 0xAB; break; + case 0x0642: ch = 0xAD; break; + case 0x0643: ch = 0xAF; break; + case 0x0644: ch = 0xB1; break; + case 0x0645: ch = 0xBB; break; + case 0x0646: ch = 0xBD; break; + case 0x0647: ch = 0xBF; break; + case 0x0648: ch = 0xCF; break; + case 0x0649: ch = 0xDA; break; + case 0x064A: ch = 0xDC; break; + case 0x0651: ch = 0x42; break; + case 0x0660: ch = 0xDF; break; + case 0x0661: ch = 0xEA; break; + case 0x0662: ch = 0xEB; break; + case 0x0663: ch = 0xED; break; + case 0x0664: ch = 0xEE; break; + case 0x0665: ch = 0xEF; break; + case 0x0666: + case 0x0667: + case 0x0668: + case 0x0669: + ch -= 0x056B; + break; + case 0x066A: ch = 0x6C; break; + case 0x066B: ch = 0x6B; break; + case 0x066C: ch = 0x4B; break; + case 0x066D: ch = 0x5C; break; + case 0x200B: ch = 0x45; break; + case 0xFE7C: ch = 0x42; break; + case 0xFE7D: ch = 0x43; break; + case 0xFE80: + case 0xFE81: + case 0xFE82: + case 0xFE83: + ch -= 0xFE3A; + break; + case 0xFE84: ch = 0x51; break; + case 0xFE85: ch = 0x52; break; + case 0xFE86: ch = 0x52; break; + case 0xFE87: ch = 0x56; break; + case 0xFE88: ch = 0x57; break; + case 0xFE8B: ch = 0x55; break; + case 0xFE8C: + case 0xFE8D: + case 0xFE8E: + case 0xFE8F: + ch -= 0xFE37; + break; + case 0xFE90: ch = 0x58; break; + case 0xFE91: ch = 0x59; break; + case 0xFE92: ch = 0x59; break; + case 0xFE93: ch = 0x62; break; + case 0xFE94: ch = 0x62; break; + case 0xFE95: ch = 0x63; break; + case 0xFE96: ch = 0x63; break; + case 0xFE97: ch = 0x64; break; + case 0xFE98: ch = 0x64; break; + case 0xFE99: ch = 0x65; break; + case 0xFE9A: ch = 0x65; break; + case 0xFE9B: ch = 0x66; break; + case 0xFE9C: ch = 0x66; break; + case 0xFE9D: ch = 0x67; break; + case 0xFE9E: ch = 0x67; break; + case 0xFE9F: ch = 0x68; break; + case 0xFEA0: ch = 0x68; break; + case 0xFEA1: ch = 0x69; break; + case 0xFEA2: ch = 0x69; break; + case 0xFEA3: ch = 0x70; break; + case 0xFEA4: ch = 0x70; break; + case 0xFEA5: ch = 0x71; break; + case 0xFEA6: ch = 0x71; break; + case 0xFEA7: ch = 0x72; break; + case 0xFEA8: ch = 0x72; break; + case 0xFEA9: ch = 0x73; break; + case 0xFEAA: ch = 0x73; break; + case 0xFEAB: ch = 0x74; break; + case 0xFEAC: ch = 0x74; break; + case 0xFEAD: ch = 0x75; break; + case 0xFEAE: ch = 0x75; break; + case 0xFEAF: ch = 0x76; break; + case 0xFEB0: ch = 0x76; break; + case 0xFEB1: ch = 0x77; break; + case 0xFEB2: ch = 0x77; break; + case 0xFEB3: ch = 0x78; break; + case 0xFEB4: ch = 0x78; break; + case 0xFEB5: ch = 0x80; break; + case 0xFEB6: ch = 0x80; break; + case 0xFEB7: ch = 0x8A; break; + case 0xFEB8: ch = 0x8A; break; + case 0xFEB9: ch = 0x8B; break; + case 0xFEBA: ch = 0x8B; break; + case 0xFEBB: ch = 0x8C; break; + case 0xFEBC: ch = 0x8C; break; + case 0xFEBD: ch = 0x8D; break; + case 0xFEBE: ch = 0x8D; break; + case 0xFEBF: ch = 0x8E; break; + case 0xFEC0: ch = 0x8E; break; + case 0xFEC1: ch = 0x8F; break; + case 0xFEC2: ch = 0x8F; break; + case 0xFEC3: ch = 0x8F; break; + case 0xFEC4: ch = 0x8F; break; + case 0xFEC5: ch = 0x90; break; + case 0xFEC6: ch = 0x90; break; + case 0xFEC7: ch = 0x90; break; + case 0xFEC8: ch = 0x90; break; + case 0xFEC9: + case 0xFECA: + case 0xFECB: + case 0xFECC: + case 0xFECD: + case 0xFECE: + case 0xFECF: + ch -= 0xFE2F; + break; + case 0xFED0: ch = 0xAA; break; + case 0xFED1: ch = 0xAB; break; + case 0xFED2: ch = 0xAB; break; + case 0xFED3: ch = 0xAC; break; + case 0xFED4: ch = 0xAC; break; + case 0xFED5: ch = 0xAD; break; + case 0xFED6: ch = 0xAD; break; + case 0xFED7: ch = 0xAE; break; + case 0xFED8: ch = 0xAE; break; + case 0xFED9: ch = 0xAF; break; + case 0xFEDA: ch = 0xAF; break; + case 0xFEDB: ch = 0xB0; break; + case 0xFEDC: ch = 0xB0; break; + case 0xFEDD: ch = 0xB1; break; + case 0xFEDE: ch = 0xB1; break; + case 0xFEDF: ch = 0xBA; break; + case 0xFEE0: ch = 0xBA; break; + case 0xFEE1: ch = 0xBB; break; + case 0xFEE2: ch = 0xBB; break; + case 0xFEE3: ch = 0xBC; break; + case 0xFEE4: ch = 0xBC; break; + case 0xFEE5: ch = 0xBD; break; + case 0xFEE6: ch = 0xBD; break; + case 0xFEE7: ch = 0xBE; break; + case 0xFEE8: ch = 0xBE; break; + case 0xFEE9: ch = 0xBF; break; + case 0xFEEA: ch = 0xBF; break; + case 0xFEEB: ch = 0xCB; break; + case 0xFEEC: ch = 0xCD; break; + case 0xFEED: ch = 0xCF; break; + case 0xFEEE: ch = 0xCF; break; + case 0xFEEF: + case 0xFEF0: + case 0xFEF1: + case 0xFEF2: + case 0xFEF3: + ch -= 0xFE15; + break; + case 0xFEF4: ch = 0xDE; break; + case 0xFEF5: + case 0xFEF6: + case 0xFEF7: + case 0xFEF8: + ch -= 0xFE43; + break; + case 0xFEF9: ch = 0xB8; break; + case 0xFEFA: ch = 0xB9; break; + case 0xFEFB: ch = 0xB8; break; + case 0xFEFC: ch = 0xB9; 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 0xFF3F: ch = 0x6D; 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 0xFF5C: ch = 0x4F; 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 = 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 0x005F: ch = 0x6D; 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 0x007C: ch = 0x4F; 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 0x00A2: ch = 0x4A; break; + case 0x00A6: ch = 0x6A; break; + case 0x00AC: ch = 0x5F; break; + case 0x00AD: ch = 0xCA; break; + case 0x00D7: ch = 0xE0; break; + case 0x00F7: ch = 0xA1; break; + case 0x060C: ch = 0x79; break; + case 0x061B: ch = 0xC0; break; + case 0x061F: ch = 0xD0; break; + case 0x0621: ch = 0x46; break; + case 0x0622: ch = 0x47; break; + case 0x0623: ch = 0x49; break; + case 0x0624: ch = 0x52; break; + case 0x0625: ch = 0x56; break; + case 0x0626: ch = 0x55; break; + case 0x0627: ch = 0x56; break; + case 0x0628: ch = 0x58; break; + case 0x0629: ch = 0x62; break; + case 0x062A: ch = 0x63; break; + case 0x062B: ch = 0x65; break; + case 0x062C: ch = 0x67; break; + case 0x062D: ch = 0x69; break; + case 0x062E: ch = 0x71; break; + case 0x062F: + case 0x0630: + case 0x0631: + case 0x0632: + case 0x0633: + ch -= 0x05BC; + break; + case 0x0634: ch = 0x80; break; + case 0x0635: ch = 0x8B; break; + case 0x0636: ch = 0x8D; break; + case 0x0637: ch = 0x8F; break; + case 0x0638: ch = 0x90; break; + case 0x0639: ch = 0x9A; break; + case 0x063A: ch = 0x9E; break; + case 0x0640: ch = 0x44; break; + case 0x0641: ch = 0xAB; break; + case 0x0642: ch = 0xAD; break; + case 0x0643: ch = 0xAF; break; + case 0x0644: ch = 0xB1; break; + case 0x0645: ch = 0xBB; break; + case 0x0646: ch = 0xBD; break; + case 0x0647: ch = 0xBF; break; + case 0x0648: ch = 0xCF; break; + case 0x0649: ch = 0xDA; break; + case 0x064A: ch = 0xDC; break; + case 0x0651: ch = 0x42; break; + case 0x0660: ch = 0xDF; break; + case 0x0661: ch = 0xEA; break; + case 0x0662: ch = 0xEB; break; + case 0x0663: ch = 0xED; break; + case 0x0664: ch = 0xEE; break; + case 0x0665: ch = 0xEF; break; + case 0x0666: + case 0x0667: + case 0x0668: + case 0x0669: + ch -= 0x056B; + break; + case 0x066A: ch = 0x6C; break; + case 0x066B: ch = 0x6B; break; + case 0x066C: ch = 0x4B; break; + case 0x066D: ch = 0x5C; break; + case 0x200B: ch = 0x45; break; + case 0xFE7C: ch = 0x42; break; + case 0xFE7D: ch = 0x43; break; + case 0xFE80: + case 0xFE81: + case 0xFE82: + case 0xFE83: + ch -= 0xFE3A; + break; + case 0xFE84: ch = 0x51; break; + case 0xFE85: ch = 0x52; break; + case 0xFE86: ch = 0x52; break; + case 0xFE87: ch = 0x56; break; + case 0xFE88: ch = 0x57; break; + case 0xFE8B: ch = 0x55; break; + case 0xFE8C: + case 0xFE8D: + case 0xFE8E: + case 0xFE8F: + ch -= 0xFE37; + break; + case 0xFE90: ch = 0x58; break; + case 0xFE91: ch = 0x59; break; + case 0xFE92: ch = 0x59; break; + case 0xFE93: ch = 0x62; break; + case 0xFE94: ch = 0x62; break; + case 0xFE95: ch = 0x63; break; + case 0xFE96: ch = 0x63; break; + case 0xFE97: ch = 0x64; break; + case 0xFE98: ch = 0x64; break; + case 0xFE99: ch = 0x65; break; + case 0xFE9A: ch = 0x65; break; + case 0xFE9B: ch = 0x66; break; + case 0xFE9C: ch = 0x66; break; + case 0xFE9D: ch = 0x67; break; + case 0xFE9E: ch = 0x67; break; + case 0xFE9F: ch = 0x68; break; + case 0xFEA0: ch = 0x68; break; + case 0xFEA1: ch = 0x69; break; + case 0xFEA2: ch = 0x69; break; + case 0xFEA3: ch = 0x70; break; + case 0xFEA4: ch = 0x70; break; + case 0xFEA5: ch = 0x71; break; + case 0xFEA6: ch = 0x71; break; + case 0xFEA7: ch = 0x72; break; + case 0xFEA8: ch = 0x72; break; + case 0xFEA9: ch = 0x73; break; + case 0xFEAA: ch = 0x73; break; + case 0xFEAB: ch = 0x74; break; + case 0xFEAC: ch = 0x74; break; + case 0xFEAD: ch = 0x75; break; + case 0xFEAE: ch = 0x75; break; + case 0xFEAF: ch = 0x76; break; + case 0xFEB0: ch = 0x76; break; + case 0xFEB1: ch = 0x77; break; + case 0xFEB2: ch = 0x77; break; + case 0xFEB3: ch = 0x78; break; + case 0xFEB4: ch = 0x78; break; + case 0xFEB5: ch = 0x80; break; + case 0xFEB6: ch = 0x80; break; + case 0xFEB7: ch = 0x8A; break; + case 0xFEB8: ch = 0x8A; break; + case 0xFEB9: ch = 0x8B; break; + case 0xFEBA: ch = 0x8B; break; + case 0xFEBB: ch = 0x8C; break; + case 0xFEBC: ch = 0x8C; break; + case 0xFEBD: ch = 0x8D; break; + case 0xFEBE: ch = 0x8D; break; + case 0xFEBF: ch = 0x8E; break; + case 0xFEC0: ch = 0x8E; break; + case 0xFEC1: ch = 0x8F; break; + case 0xFEC2: ch = 0x8F; break; + case 0xFEC3: ch = 0x8F; break; + case 0xFEC4: ch = 0x8F; break; + case 0xFEC5: ch = 0x90; break; + case 0xFEC6: ch = 0x90; break; + case 0xFEC7: ch = 0x90; break; + case 0xFEC8: ch = 0x90; break; + case 0xFEC9: + case 0xFECA: + case 0xFECB: + case 0xFECC: + case 0xFECD: + case 0xFECE: + case 0xFECF: + ch -= 0xFE2F; + break; + case 0xFED0: ch = 0xAA; break; + case 0xFED1: ch = 0xAB; break; + case 0xFED2: ch = 0xAB; break; + case 0xFED3: ch = 0xAC; break; + case 0xFED4: ch = 0xAC; break; + case 0xFED5: ch = 0xAD; break; + case 0xFED6: ch = 0xAD; break; + case 0xFED7: ch = 0xAE; break; + case 0xFED8: ch = 0xAE; break; + case 0xFED9: ch = 0xAF; break; + case 0xFEDA: ch = 0xAF; break; + case 0xFEDB: ch = 0xB0; break; + case 0xFEDC: ch = 0xB0; break; + case 0xFEDD: ch = 0xB1; break; + case 0xFEDE: ch = 0xB1; break; + case 0xFEDF: ch = 0xBA; break; + case 0xFEE0: ch = 0xBA; break; + case 0xFEE1: ch = 0xBB; break; + case 0xFEE2: ch = 0xBB; break; + case 0xFEE3: ch = 0xBC; break; + case 0xFEE4: ch = 0xBC; break; + case 0xFEE5: ch = 0xBD; break; + case 0xFEE6: ch = 0xBD; break; + case 0xFEE7: ch = 0xBE; break; + case 0xFEE8: ch = 0xBE; break; + case 0xFEE9: ch = 0xBF; break; + case 0xFEEA: ch = 0xBF; break; + case 0xFEEB: ch = 0xCB; break; + case 0xFEEC: ch = 0xCD; break; + case 0xFEED: ch = 0xCF; break; + case 0xFEEE: ch = 0xCF; break; + case 0xFEEF: + case 0xFEF0: + case 0xFEF1: + case 0xFEF2: + case 0xFEF3: + ch -= 0xFE15; + break; + case 0xFEF4: ch = 0xDE; break; + case 0xFEF5: + case 0xFEF6: + case 0xFEF7: + case 0xFEF8: + ch -= 0xFE43; + break; + case 0xFEF9: ch = 0xB8; break; + case 0xFEFA: ch = 0xB9; break; + case 0xFEFB: ch = 0xB8; break; + case 0xFEFC: ch = 0xB9; 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 0xFF3F: ch = 0x6D; 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 0xFF5C: ch = 0x4F; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP20420 + +public class ENCibm420 : CP20420 +{ + public ENCibm420() : base() {} + +}; // class ENCibm420 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP20424.cs b/mcs/class/I18N/Rare/CP20424.cs new file mode 100644 index 00000000000..224cd0da02a --- /dev/null +++ b/mcs/class/I18N/Rare/CP20424.cs @@ -0,0 +1,829 @@ +/* + * CP20424.cs - IBM EBCDIC (Hebrew) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-424.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP20424 : ByteEncoding +{ + public CP20424() + : base(20424, ToChars, "IBM EBCDIC (Hebrew)", + "IBM424", "IBM424", "IBM424", + false, false, false, false, 1255) + {} + + 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', '\u05D0', + '\u05D1', '\u05D2', '\u05D3', '\u05D4', '\u05D5', '\u05D6', + '\u05D7', '\u05D8', '\u00A2', '\u002E', '\u003C', '\u0028', + '\u002B', '\u007C', '\u0026', '\u05D9', '\u05DA', '\u05DB', + '\u05DC', '\u05DD', '\u05DE', '\u05DF', '\u05E0', '\u05E1', + '\u0021', '\u0024', '\u002A', '\u0029', '\u003B', '\u00AC', + '\u002D', '\u002F', '\u05E2', '\u05E3', '\u05E4', '\u05E5', + '\u05E6', '\u05E7', '\u05E8', '\u05E9', '\u00A6', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u003F', '\u05EA', + '\u003F', '\u003F', '\u00A0', '\u003F', '\u003F', '\u003F', + '\u2017', '\u0060', '\u003A', '\u0023', '\u0040', '\u0027', + '\u003D', '\u0022', '\u003F', '\u0061', '\u0062', '\u0063', + '\u0064', '\u0065', '\u0066', '\u0067', '\u0068', '\u0069', + '\u00AB', '\u00BB', '\u003F', '\u003F', '\u003F', '\u00B1', + '\u00B0', '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', + '\u006F', '\u0070', '\u0071', '\u0072', '\u003F', '\u003F', + '\u003F', '\u00B8', '\u003F', '\u00A4', '\u00B5', '\u007E', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u00AE', '\u005E', '\u00A3', '\u00A5', '\u2022', + '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u005B', '\u005D', '\u203E', '\u00A8', '\u00B4', '\u00D7', + '\u007B', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u007D', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u00B9', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u005C', '\u00F7', '\u0053', '\u0054', + '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', + '\u00B2', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', + '\u0036', '\u0037', '\u0038', '\u0039', '\u00B3', '\u003F', + '\u003F', '\u003F', '\u003F', '\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 = 0xBA; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0xBB; break; + case 0x005E: ch = 0xB0; 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 = 0x74; break; + case 0x00A2: ch = 0x4A; break; + case 0x00A3: ch = 0xB1; break; + case 0x00A4: ch = 0x9F; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; break; + case 0x00A7: ch = 0xB5; break; + case 0x00A8: ch = 0xBD; break; + case 0x00A9: ch = 0xB4; break; + case 0x00AB: ch = 0x8A; break; + case 0x00AC: ch = 0x5F; break; + case 0x00AD: ch = 0xCA; break; + case 0x00AE: ch = 0xAF; 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 0x00B8: ch = 0x9D; break; + case 0x00B9: ch = 0xDA; break; + case 0x00BB: ch = 0x8B; break; + case 0x00BC: ch = 0xB7; break; + case 0x00BD: ch = 0xB8; break; + case 0x00BE: ch = 0xB9; break; + case 0x00D7: ch = 0xBF; break; + case 0x00F7: ch = 0xE1; break; + case 0x05D0: + case 0x05D1: + case 0x05D2: + case 0x05D3: + case 0x05D4: + case 0x05D5: + case 0x05D6: + case 0x05D7: + case 0x05D8: + ch -= 0x058F; + break; + case 0x05D9: + case 0x05DA: + case 0x05DB: + case 0x05DC: + case 0x05DD: + case 0x05DE: + case 0x05DF: + case 0x05E0: + case 0x05E1: + ch -= 0x0588; + break; + case 0x05E2: + case 0x05E3: + case 0x05E4: + case 0x05E5: + case 0x05E6: + case 0x05E7: + case 0x05E8: + case 0x05E9: + ch -= 0x0580; + break; + case 0x05EA: ch = 0x71; break; + case 0x2017: ch = 0x78; break; + case 0x2022: ch = 0xB3; break; + case 0x203E: ch = 0xBC; 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 = 0xBA; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0xBB; break; + case 0xFF3E: ch = 0xB0; 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 = 0xBA; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0xBB; break; + case 0x005E: ch = 0xB0; 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 = 0x74; break; + case 0x00A2: ch = 0x4A; break; + case 0x00A3: ch = 0xB1; break; + case 0x00A4: ch = 0x9F; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; break; + case 0x00A7: ch = 0xB5; break; + case 0x00A8: ch = 0xBD; break; + case 0x00A9: ch = 0xB4; break; + case 0x00AB: ch = 0x8A; break; + case 0x00AC: ch = 0x5F; break; + case 0x00AD: ch = 0xCA; break; + case 0x00AE: ch = 0xAF; 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 0x00B8: ch = 0x9D; break; + case 0x00B9: ch = 0xDA; break; + case 0x00BB: ch = 0x8B; break; + case 0x00BC: ch = 0xB7; break; + case 0x00BD: ch = 0xB8; break; + case 0x00BE: ch = 0xB9; break; + case 0x00D7: ch = 0xBF; break; + case 0x00F7: ch = 0xE1; break; + case 0x05D0: + case 0x05D1: + case 0x05D2: + case 0x05D3: + case 0x05D4: + case 0x05D5: + case 0x05D6: + case 0x05D7: + case 0x05D8: + ch -= 0x058F; + break; + case 0x05D9: + case 0x05DA: + case 0x05DB: + case 0x05DC: + case 0x05DD: + case 0x05DE: + case 0x05DF: + case 0x05E0: + case 0x05E1: + ch -= 0x0588; + break; + case 0x05E2: + case 0x05E3: + case 0x05E4: + case 0x05E5: + case 0x05E6: + case 0x05E7: + case 0x05E8: + case 0x05E9: + ch -= 0x0580; + break; + case 0x05EA: ch = 0x71; break; + case 0x2017: ch = 0x78; break; + case 0x2022: ch = 0xB3; break; + case 0x203E: ch = 0xBC; 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 = 0xBA; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0xBB; break; + case 0xFF3E: ch = 0xB0; 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 CP20424 + +public class ENCibm424 : CP20424 +{ + public ENCibm424() : base() {} + +}; // class ENCibm424 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP20871.cs b/mcs/class/I18N/Rare/CP20871.cs new file mode 100644 index 00000000000..fdb11807505 --- /dev/null +++ b/mcs/class/I18N/Rare/CP20871.cs @@ -0,0 +1,897 @@ +/* + * CP20871.cs - IBM EBCDIC (Icelandic) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-871.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP20871 : ByteEncoding +{ + public CP20871() + : base(20871, ToChars, "IBM EBCDIC (Icelandic)", + "IBM871", "IBM871", "IBM871", + 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', '\u00DE', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u00E9', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u00C6', '\u0024', '\u002A', '\u0029', '\u003B', '\u00D6', + '\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', '\u00F0', '\u003A', '\u0023', '\u00D0', '\u0027', + '\u003D', '\u0022', '\u00D8', '\u0061', '\u0062', '\u0063', + '\u0064', '\u0065', '\u0066', '\u0067', '\u0068', '\u0069', + '\u00AB', '\u00BB', '\u0060', '\u00FD', '\u007B', '\u00B1', + '\u00B0', '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', + '\u006F', '\u0070', '\u0071', '\u0072', '\u00AA', '\u00BA', + '\u007D', '\u00B8', '\u005D', '\u00A4', '\u00B5', '\u00F6', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u0040', '\u00DD', + '\u005B', '\u00AE', '\u00A2', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u00A8', '\u005C', '\u00D7', + '\u00FE', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', + '\u007E', '\u00F2', '\u00F3', '\u00F5', '\u00E6', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u00B9', '\u00FB', '\u00FC', '\u00F9', + '\u00FA', '\u00FF', '\u00B4', '\u00F7', '\u0053', '\u0054', + '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', + '\u00B2', '\u00D4', '\u005E', '\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 = 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 = 0xAC; 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 = 0xAE; break; + case 0x005C: ch = 0xBE; break; + case 0x005D: ch = 0x9E; break; + case 0x005E: ch = 0xEC; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0x8C; 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 = 0x8E; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x9C; 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 = 0x6A; 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 = 0xE0; 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 = 0x5A; 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 = 0x7C; 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 = 0x5F; 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 = 0xAD; break; + case 0x00DE: ch = 0x4A; 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 = 0xD0; 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 = 0x79; 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 = 0xDC; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0xC0; break; + case 0x00FF: ch = 0xDF; break; + case 0x0110: ch = 0x7C; break; + case 0x203E: ch = 0xBC; 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 = 0xAC; 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 = 0xAE; break; + case 0xFF3C: ch = 0xBE; break; + case 0xFF3D: ch = 0x9E; break; + case 0xFF3E: ch = 0xEC; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0x8C; 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 = 0x8E; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x9C; 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 = 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 = 0xAC; 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 = 0xAE; break; + case 0x005C: ch = 0xBE; break; + case 0x005D: ch = 0x9E; break; + case 0x005E: ch = 0xEC; break; + case 0x005F: ch = 0x6D; break; + case 0x0060: ch = 0x8C; 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 = 0x8E; break; + case 0x007C: ch = 0xBB; break; + case 0x007D: ch = 0x9C; 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 = 0x6A; 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 = 0xE0; 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 = 0x5A; 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 = 0x7C; 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 = 0x5F; 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 = 0xAD; break; + case 0x00DE: ch = 0x4A; 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 = 0xD0; 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 = 0x79; 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 = 0xDC; break; + case 0x00FD: ch = 0x8D; break; + case 0x00FE: ch = 0xC0; break; + case 0x00FF: ch = 0xDF; break; + case 0x0110: ch = 0x7C; break; + case 0x203E: ch = 0xBC; 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 = 0xAC; 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 = 0xAE; break; + case 0xFF3C: ch = 0xBE; break; + case 0xFF3D: ch = 0x9E; break; + case 0xFF3E: ch = 0xEC; break; + case 0xFF3F: ch = 0x6D; break; + case 0xFF40: ch = 0x8C; 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 = 0x8E; break; + case 0xFF5C: ch = 0xBB; break; + case 0xFF5D: ch = 0x9C; break; + case 0xFF5E: ch = 0xCC; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP20871 + +public class ENCibm871 : CP20871 +{ + public ENCibm871() : base() {} + +}; // class ENCibm871 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP21025.cs b/mcs/class/I18N/Rare/CP21025.cs new file mode 100644 index 00000000000..8285d1ba3a4 --- /dev/null +++ b/mcs/class/I18N/Rare/CP21025.cs @@ -0,0 +1,917 @@ +/* + * CP21025.cs - IBM EBCDIC (Cyrillic - Serbian, Bulgarian) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1025.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP21025 : ByteEncoding +{ + public CP21025() + : base(21025, ToChars, "IBM EBCDIC (Cyrillic - Serbian, Bulgarian)", + "IBM1025", "IBM1025", "IBM1025", + 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', '\u00A7', '\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 0x00A7: ch = 0xE1; 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 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 0x00A7: ch = 0xE1; 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 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 CP21025 + +public class ENCibm1025 : CP21025 +{ + public ENCibm1025() : base() {} + +}; // class ENCibm1025 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP37.cs b/mcs/class/I18N/Rare/CP37.cs new file mode 100644 index 00000000000..e7c7da24d5b --- /dev/null +++ b/mcs/class/I18N/Rare/CP37.cs @@ -0,0 +1,897 @@ +/* + * CP37.cs - IBM EBCDIC (US-Canada) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-37.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP37 : ByteEncoding +{ + public CP37() + : base(37, ToChars, "IBM EBCDIC (US-Canada)", + "IBM037", "IBM037", "IBM037", + 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', '\u00AC', + '\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', '\u00A4', '\u00B5', '\u007E', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u005E', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u005B', '\u005D', '\u00AF', '\u00A8', '\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 = 0xBA; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0xBB; break; + case 0x005E: ch = 0xB0; 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 0x00A4: ch = 0x9F; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; 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 = 0x5F; 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 = 0xAD; 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 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; 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 = 0xBA; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0xBB; break; + case 0xFF3E: ch = 0xB0; 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 = 0xBA; break; + case 0x005C: ch = 0xE0; break; + case 0x005D: ch = 0xBB; break; + case 0x005E: ch = 0xB0; 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 0x00A4: ch = 0x9F; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; 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 = 0x5F; 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 = 0xAD; 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 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; 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 = 0xBA; break; + case 0xFF3C: ch = 0xE0; break; + case 0xFF3D: ch = 0xBB; break; + case 0xFF3E: ch = 0xB0; 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 CP37 + +public class ENCibm037 : CP37 +{ + public ENCibm037() : base() {} + +}; // class ENCibm037 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP500.cs b/mcs/class/I18N/Rare/CP500.cs new file mode 100644 index 00000000000..631ba6c71f8 --- /dev/null +++ b/mcs/class/I18N/Rare/CP500.cs @@ -0,0 +1,897 @@ +/* + * CP500.cs - IBM EBCDIC (International) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-500.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP500 : ByteEncoding +{ + public CP500() + : base(500, ToChars, "IBM EBCDIC (International)", + "IBM500", "IBM500", "IBM500", + 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', '\u005B', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u00E9', '\u00EA', '\u00EB', + '\u00E8', '\u00ED', '\u00EE', '\u00EF', '\u00EC', '\u00DF', + '\u005D', '\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', '\u00A4', '\u00B5', '\u007E', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u00A1', '\u00BF', '\u00D0', '\u00DD', + '\u00DE', '\u00AE', '\u00A2', '\u00A3', '\u00A5', '\u00B7', + '\u00A9', '\u00A7', '\u00B6', '\u00BC', '\u00BD', '\u00BE', + '\u00AC', '\u007C', '\u00AF', '\u00A8', '\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 = 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 = 0xBB; 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 = 0xB0; break; + case 0x00A3: ch = 0xB1; break; + case 0x00A4: ch = 0x9F; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; 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 = 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 = 0xAD; 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 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; 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 = 0xBB; 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 = 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 = 0xBB; 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 = 0xB0; break; + case 0x00A3: ch = 0xB1; break; + case 0x00A4: ch = 0x9F; break; + case 0x00A5: ch = 0xB2; break; + case 0x00A6: ch = 0x6A; 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 = 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 = 0xAD; 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 0x0110: ch = 0xAC; break; + case 0x203E: ch = 0xBC; 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 = 0xBB; break; + case 0xFF5D: ch = 0xD0; break; + case 0xFF5E: ch = 0xA1; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP500 + +public class ENCibm500 : CP500 +{ + public ENCibm500() : base() {} + +}; // class ENCibm500 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP708.cs b/mcs/class/I18N/Rare/CP708.cs new file mode 100644 index 00000000000..8bd621acc24 --- /dev/null +++ b/mcs/class/I18N/Rare/CP708.cs @@ -0,0 +1,545 @@ +/* + * CP708.cs - Arabic (ASMO 708) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1089.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP708 : ByteEncoding +{ + public CP708() + : base(708, ToChars, "Arabic (ASMO 708)", + "iso-8859-6", "asmo-708", "asmo-708", + false, false, false, false, 1256) + {} + + 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', '\u0080', '\u0081', '\u0082', '\u0083', + '\u0084', '\u0085', '\u0086', '\u0087', '\u0088', '\u0089', + '\u008A', '\u008B', '\u008C', '\u008D', '\u008E', '\u008F', + '\u0090', '\u0091', '\u0092', '\u0093', '\u0094', '\u0095', + '\u0096', '\u0097', '\u0098', '\u0099', '\u009A', '\u009B', + '\u009C', '\u009D', '\u009E', '\u009F', '\u00A0', '\u003F', + '\u003F', '\u003F', '\u00A4', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u060C', '\u00AD', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u061B', '\u003F', '\u003F', '\u003F', '\u061F', + '\u003F', '\u0621', '\u0622', '\u0623', '\u0624', '\u0625', + '\u0626', '\u0627', '\u0628', '\u0629', '\u062A', '\u062B', + '\u062C', '\u062D', '\u062E', '\u062F', '\u0630', '\u0631', + '\u0632', '\u0633', '\u0634', '\u0635', '\u0636', '\u0637', + '\u0638', '\u0639', '\u063A', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u0640', '\u0641', '\u0642', '\u0643', + '\u0644', '\u0645', '\u0646', '\u0647', '\u0648', '\u0649', + '\u064A', '\u064B', '\u064C', '\u064D', '\u064E', '\u064F', + '\u0650', '\u0651', '\u0652', '\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 >= 161) switch(ch) + { + case 0x00A4: + case 0x00AD: + break; + case 0x060C: ch = 0xAC; break; + case 0x061B: ch = 0xBB; break; + case 0x061F: ch = 0xBF; break; + case 0x0621: + case 0x0622: + case 0x0623: + case 0x0624: + case 0x0625: + case 0x0626: + case 0x0627: + case 0x0628: + case 0x0629: + case 0x062A: + case 0x062B: + case 0x062C: + case 0x062D: + case 0x062E: + case 0x062F: + case 0x0630: + case 0x0631: + case 0x0632: + case 0x0633: + case 0x0634: + case 0x0635: + case 0x0636: + case 0x0637: + case 0x0638: + case 0x0639: + case 0x063A: + ch -= 0x0560; + break; + case 0x0640: + case 0x0641: + case 0x0642: + case 0x0643: + case 0x0644: + case 0x0645: + case 0x0646: + case 0x0647: + case 0x0648: + case 0x0649: + case 0x064A: + case 0x064B: + case 0x064C: + case 0x064D: + case 0x064E: + case 0x064F: + case 0x0650: + case 0x0651: + case 0x0652: + ch -= 0x0560; + break; + case 0x0660: + case 0x0661: + case 0x0662: + case 0x0663: + case 0x0664: + case 0x0665: + case 0x0666: + case 0x0667: + case 0x0668: + case 0x0669: + ch -= 0x0630; + break; + case 0x066A: ch = 0x25; break; + case 0x066B: ch = 0x2C; break; + case 0x066C: ch = 0x2E; break; + case 0x066D: ch = 0x2A; break; + case 0xFE70: ch = 0xEB; break; + case 0xFE71: ch = 0xEB; break; + case 0xFE72: ch = 0xEC; break; + case 0xFE74: ch = 0xED; break; + case 0xFE76: ch = 0xEE; break; + case 0xFE77: ch = 0xEE; break; + case 0xFE78: ch = 0xEF; break; + case 0xFE79: ch = 0xEF; break; + case 0xFE7A: ch = 0xF0; break; + case 0xFE7B: ch = 0xF0; break; + case 0xFE7C: ch = 0xF1; break; + case 0xFE7D: ch = 0xF1; break; + case 0xFE7E: ch = 0xF2; break; + case 0xFE7F: ch = 0xF2; break; + case 0xFE80: ch = 0xC1; break; + case 0xFE81: ch = 0xC2; break; + case 0xFE82: ch = 0xC2; break; + case 0xFE83: ch = 0xC3; break; + case 0xFE84: ch = 0xC3; break; + case 0xFE85: ch = 0xC4; break; + case 0xFE86: ch = 0xC4; break; + case 0xFE87: ch = 0xC5; break; + case 0xFE88: ch = 0xC5; break; + case 0xFE89: ch = 0xC6; break; + case 0xFE8A: ch = 0xC6; break; + case 0xFE8B: ch = 0xC6; break; + case 0xFE8C: ch = 0xC6; break; + case 0xFE8D: ch = 0xC7; break; + case 0xFE8E: ch = 0xC7; break; + case 0xFE8F: ch = 0xC8; break; + case 0xFE90: ch = 0xC8; break; + case 0xFE91: ch = 0xC8; break; + case 0xFE92: ch = 0xC8; break; + case 0xFE93: ch = 0xC9; break; + case 0xFE94: ch = 0xC9; break; + case 0xFE95: ch = 0xCA; break; + case 0xFE96: ch = 0xCA; break; + case 0xFE97: ch = 0xCA; break; + case 0xFE98: ch = 0xCA; break; + case 0xFE99: ch = 0xCB; break; + case 0xFE9A: ch = 0xCB; break; + case 0xFE9B: ch = 0xCB; break; + case 0xFE9C: ch = 0xCB; break; + case 0xFE9D: ch = 0xCC; break; + case 0xFE9E: ch = 0xCC; break; + case 0xFE9F: ch = 0xCC; break; + case 0xFEA0: ch = 0xCC; break; + case 0xFEA1: ch = 0xCD; break; + case 0xFEA2: ch = 0xCD; break; + case 0xFEA3: ch = 0xCD; break; + case 0xFEA4: ch = 0xCD; break; + case 0xFEA5: ch = 0xCE; break; + case 0xFEA6: ch = 0xCE; break; + case 0xFEA7: ch = 0xCE; break; + case 0xFEA8: ch = 0xCE; break; + case 0xFEA9: ch = 0xCF; break; + case 0xFEAA: ch = 0xCF; break; + case 0xFEAB: ch = 0xD0; break; + case 0xFEAC: ch = 0xD0; break; + case 0xFEAD: ch = 0xD1; break; + case 0xFEAE: ch = 0xD1; break; + case 0xFEAF: ch = 0xD2; break; + case 0xFEB0: ch = 0xD2; break; + case 0xFEB1: ch = 0xD3; break; + case 0xFEB2: ch = 0xD3; break; + case 0xFEB3: ch = 0xD3; break; + case 0xFEB4: ch = 0xD3; break; + case 0xFEB5: ch = 0xD4; break; + case 0xFEB6: ch = 0xD4; break; + case 0xFEB7: ch = 0xD4; break; + case 0xFEB8: ch = 0xD4; break; + case 0xFEB9: ch = 0xD5; break; + case 0xFEBA: ch = 0xD5; break; + case 0xFEBB: ch = 0xD5; break; + case 0xFEBC: ch = 0xD5; break; + case 0xFEBD: ch = 0xD6; break; + case 0xFEBE: ch = 0xD6; break; + case 0xFEBF: ch = 0xD6; break; + case 0xFEC0: ch = 0xD6; break; + case 0xFEC1: ch = 0xD7; break; + case 0xFEC2: ch = 0xD7; break; + case 0xFEC3: ch = 0xD7; break; + case 0xFEC4: ch = 0xD7; break; + case 0xFEC5: ch = 0xD8; break; + case 0xFEC6: ch = 0xD8; break; + case 0xFEC7: ch = 0xD8; break; + case 0xFEC8: ch = 0xD8; break; + case 0xFEC9: ch = 0xD9; break; + case 0xFECA: ch = 0xD9; break; + case 0xFECB: ch = 0xD9; break; + case 0xFECC: ch = 0xD9; break; + case 0xFECD: ch = 0xDA; break; + case 0xFECE: ch = 0xDA; break; + case 0xFECF: ch = 0xDA; break; + case 0xFED0: ch = 0xDA; break; + case 0xFED1: ch = 0xE1; break; + case 0xFED2: ch = 0xE1; break; + case 0xFED3: ch = 0xE1; break; + case 0xFED4: ch = 0xE1; break; + case 0xFED5: ch = 0xE2; break; + case 0xFED6: ch = 0xE2; break; + case 0xFED7: ch = 0xE2; break; + case 0xFED8: ch = 0xE2; break; + case 0xFED9: ch = 0xE3; break; + case 0xFEDA: ch = 0xE3; break; + case 0xFEDB: ch = 0xE3; break; + case 0xFEDC: ch = 0xE3; break; + case 0xFEDD: ch = 0xE4; break; + case 0xFEDE: ch = 0xE4; break; + case 0xFEDF: ch = 0xE4; break; + case 0xFEE0: ch = 0xE4; break; + case 0xFEE1: ch = 0xE5; break; + case 0xFEE2: ch = 0xE5; break; + case 0xFEE3: ch = 0xE5; break; + case 0xFEE4: ch = 0xE5; break; + case 0xFEE5: ch = 0xE6; break; + case 0xFEE6: ch = 0xE6; break; + case 0xFEE7: ch = 0xE6; break; + case 0xFEE8: ch = 0xE6; break; + case 0xFEE9: ch = 0xE7; break; + case 0xFEEA: ch = 0xE7; break; + case 0xFEEB: ch = 0xE7; break; + case 0xFEEC: ch = 0xE7; break; + case 0xFEED: ch = 0xE8; break; + case 0xFEEE: ch = 0xE8; break; + case 0xFEEF: ch = 0xE9; break; + case 0xFEF0: ch = 0xE9; break; + case 0xFEF1: ch = 0xEA; break; + case 0xFEF2: ch = 0xEA; break; + case 0xFEF3: ch = 0xEA; break; + case 0xFEF4: ch = 0xEA; 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 >= 161) switch(ch) + { + case 0x00A4: + case 0x00AD: + break; + case 0x060C: ch = 0xAC; break; + case 0x061B: ch = 0xBB; break; + case 0x061F: ch = 0xBF; break; + case 0x0621: + case 0x0622: + case 0x0623: + case 0x0624: + case 0x0625: + case 0x0626: + case 0x0627: + case 0x0628: + case 0x0629: + case 0x062A: + case 0x062B: + case 0x062C: + case 0x062D: + case 0x062E: + case 0x062F: + case 0x0630: + case 0x0631: + case 0x0632: + case 0x0633: + case 0x0634: + case 0x0635: + case 0x0636: + case 0x0637: + case 0x0638: + case 0x0639: + case 0x063A: + ch -= 0x0560; + break; + case 0x0640: + case 0x0641: + case 0x0642: + case 0x0643: + case 0x0644: + case 0x0645: + case 0x0646: + case 0x0647: + case 0x0648: + case 0x0649: + case 0x064A: + case 0x064B: + case 0x064C: + case 0x064D: + case 0x064E: + case 0x064F: + case 0x0650: + case 0x0651: + case 0x0652: + ch -= 0x0560; + break; + case 0x0660: + case 0x0661: + case 0x0662: + case 0x0663: + case 0x0664: + case 0x0665: + case 0x0666: + case 0x0667: + case 0x0668: + case 0x0669: + ch -= 0x0630; + break; + case 0x066A: ch = 0x25; break; + case 0x066B: ch = 0x2C; break; + case 0x066C: ch = 0x2E; break; + case 0x066D: ch = 0x2A; break; + case 0xFE70: ch = 0xEB; break; + case 0xFE71: ch = 0xEB; break; + case 0xFE72: ch = 0xEC; break; + case 0xFE74: ch = 0xED; break; + case 0xFE76: ch = 0xEE; break; + case 0xFE77: ch = 0xEE; break; + case 0xFE78: ch = 0xEF; break; + case 0xFE79: ch = 0xEF; break; + case 0xFE7A: ch = 0xF0; break; + case 0xFE7B: ch = 0xF0; break; + case 0xFE7C: ch = 0xF1; break; + case 0xFE7D: ch = 0xF1; break; + case 0xFE7E: ch = 0xF2; break; + case 0xFE7F: ch = 0xF2; break; + case 0xFE80: ch = 0xC1; break; + case 0xFE81: ch = 0xC2; break; + case 0xFE82: ch = 0xC2; break; + case 0xFE83: ch = 0xC3; break; + case 0xFE84: ch = 0xC3; break; + case 0xFE85: ch = 0xC4; break; + case 0xFE86: ch = 0xC4; break; + case 0xFE87: ch = 0xC5; break; + case 0xFE88: ch = 0xC5; break; + case 0xFE89: ch = 0xC6; break; + case 0xFE8A: ch = 0xC6; break; + case 0xFE8B: ch = 0xC6; break; + case 0xFE8C: ch = 0xC6; break; + case 0xFE8D: ch = 0xC7; break; + case 0xFE8E: ch = 0xC7; break; + case 0xFE8F: ch = 0xC8; break; + case 0xFE90: ch = 0xC8; break; + case 0xFE91: ch = 0xC8; break; + case 0xFE92: ch = 0xC8; break; + case 0xFE93: ch = 0xC9; break; + case 0xFE94: ch = 0xC9; break; + case 0xFE95: ch = 0xCA; break; + case 0xFE96: ch = 0xCA; break; + case 0xFE97: ch = 0xCA; break; + case 0xFE98: ch = 0xCA; break; + case 0xFE99: ch = 0xCB; break; + case 0xFE9A: ch = 0xCB; break; + case 0xFE9B: ch = 0xCB; break; + case 0xFE9C: ch = 0xCB; break; + case 0xFE9D: ch = 0xCC; break; + case 0xFE9E: ch = 0xCC; break; + case 0xFE9F: ch = 0xCC; break; + case 0xFEA0: ch = 0xCC; break; + case 0xFEA1: ch = 0xCD; break; + case 0xFEA2: ch = 0xCD; break; + case 0xFEA3: ch = 0xCD; break; + case 0xFEA4: ch = 0xCD; break; + case 0xFEA5: ch = 0xCE; break; + case 0xFEA6: ch = 0xCE; break; + case 0xFEA7: ch = 0xCE; break; + case 0xFEA8: ch = 0xCE; break; + case 0xFEA9: ch = 0xCF; break; + case 0xFEAA: ch = 0xCF; break; + case 0xFEAB: ch = 0xD0; break; + case 0xFEAC: ch = 0xD0; break; + case 0xFEAD: ch = 0xD1; break; + case 0xFEAE: ch = 0xD1; break; + case 0xFEAF: ch = 0xD2; break; + case 0xFEB0: ch = 0xD2; break; + case 0xFEB1: ch = 0xD3; break; + case 0xFEB2: ch = 0xD3; break; + case 0xFEB3: ch = 0xD3; break; + case 0xFEB4: ch = 0xD3; break; + case 0xFEB5: ch = 0xD4; break; + case 0xFEB6: ch = 0xD4; break; + case 0xFEB7: ch = 0xD4; break; + case 0xFEB8: ch = 0xD4; break; + case 0xFEB9: ch = 0xD5; break; + case 0xFEBA: ch = 0xD5; break; + case 0xFEBB: ch = 0xD5; break; + case 0xFEBC: ch = 0xD5; break; + case 0xFEBD: ch = 0xD6; break; + case 0xFEBE: ch = 0xD6; break; + case 0xFEBF: ch = 0xD6; break; + case 0xFEC0: ch = 0xD6; break; + case 0xFEC1: ch = 0xD7; break; + case 0xFEC2: ch = 0xD7; break; + case 0xFEC3: ch = 0xD7; break; + case 0xFEC4: ch = 0xD7; break; + case 0xFEC5: ch = 0xD8; break; + case 0xFEC6: ch = 0xD8; break; + case 0xFEC7: ch = 0xD8; break; + case 0xFEC8: ch = 0xD8; break; + case 0xFEC9: ch = 0xD9; break; + case 0xFECA: ch = 0xD9; break; + case 0xFECB: ch = 0xD9; break; + case 0xFECC: ch = 0xD9; break; + case 0xFECD: ch = 0xDA; break; + case 0xFECE: ch = 0xDA; break; + case 0xFECF: ch = 0xDA; break; + case 0xFED0: ch = 0xDA; break; + case 0xFED1: ch = 0xE1; break; + case 0xFED2: ch = 0xE1; break; + case 0xFED3: ch = 0xE1; break; + case 0xFED4: ch = 0xE1; break; + case 0xFED5: ch = 0xE2; break; + case 0xFED6: ch = 0xE2; break; + case 0xFED7: ch = 0xE2; break; + case 0xFED8: ch = 0xE2; break; + case 0xFED9: ch = 0xE3; break; + case 0xFEDA: ch = 0xE3; break; + case 0xFEDB: ch = 0xE3; break; + case 0xFEDC: ch = 0xE3; break; + case 0xFEDD: ch = 0xE4; break; + case 0xFEDE: ch = 0xE4; break; + case 0xFEDF: ch = 0xE4; break; + case 0xFEE0: ch = 0xE4; break; + case 0xFEE1: ch = 0xE5; break; + case 0xFEE2: ch = 0xE5; break; + case 0xFEE3: ch = 0xE5; break; + case 0xFEE4: ch = 0xE5; break; + case 0xFEE5: ch = 0xE6; break; + case 0xFEE6: ch = 0xE6; break; + case 0xFEE7: ch = 0xE6; break; + case 0xFEE8: ch = 0xE6; break; + case 0xFEE9: ch = 0xE7; break; + case 0xFEEA: ch = 0xE7; break; + case 0xFEEB: ch = 0xE7; break; + case 0xFEEC: ch = 0xE7; break; + case 0xFEED: ch = 0xE8; break; + case 0xFEEE: ch = 0xE8; break; + case 0xFEEF: ch = 0xE9; break; + case 0xFEF0: ch = 0xE9; break; + case 0xFEF1: ch = 0xEA; break; + case 0xFEF2: ch = 0xEA; break; + case 0xFEF3: ch = 0xEA; break; + case 0xFEF4: ch = 0xEA; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP708 + +public class ENCasmo_708 : CP708 +{ + public ENCasmo_708() : base() {} + +}; // class ENCasmo_708 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP852.cs b/mcs/class/I18N/Rare/CP852.cs new file mode 100644 index 00000000000..7f768b3a6f1 --- /dev/null +++ b/mcs/class/I18N/Rare/CP852.cs @@ -0,0 +1,679 @@ +/* + * CP852.cs - Central European (DOS) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-852.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP852 : ByteEncoding +{ + public CP852() + : base(852, ToChars, "Central European (DOS)", + "ibm852", "ibm852", "ibm852", + false, false, false, false, 1250) + {} + + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u00C7', '\u00FC', '\u00E9', '\u00E2', + '\u00E4', '\u016F', '\u0107', '\u00E7', '\u0142', '\u00EB', + '\u0150', '\u0151', '\u00EE', '\u0179', '\u00C4', '\u0106', + '\u00C9', '\u0139', '\u013A', '\u00F4', '\u00F6', '\u013D', + '\u013E', '\u015A', '\u015B', '\u00D6', '\u00DC', '\u0164', + '\u0165', '\u0141', '\u00D7', '\u010D', '\u00E1', '\u00ED', + '\u00F3', '\u00FA', '\u0104', '\u0105', '\u017D', '\u017E', + '\u0118', '\u0119', '\u003F', '\u017A', '\u010C', '\u015F', + '\u00AB', '\u00BB', '\u2591', '\u2592', '\u2593', '\u2502', + '\u2524', '\u00C1', '\u00C2', '\u011A', '\u015E', '\u2563', + '\u2551', '\u2557', '\u255D', '\u017B', '\u017C', '\u2510', + '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', + '\u0102', '\u0103', '\u255A', '\u2554', '\u2569', '\u2566', + '\u2560', '\u2550', '\u256C', '\u00A4', '\u0111', '\u0110', + '\u010E', '\u00CB', '\u010F', '\u0147', '\u00CD', '\u00CE', + '\u011B', '\u2518', '\u250C', '\u2588', '\u2584', '\u0162', + '\u016E', '\u2580', '\u00D3', '\u00DF', '\u00D4', '\u0143', + '\u0144', '\u0148', '\u0160', '\u0161', '\u0154', '\u00DA', + '\u0155', '\u0170', '\u00FD', '\u00DD', '\u0163', '\u00B4', + '\u00AD', '\u02DD', '\u02DB', '\u02C7', '\u02D8', '\u00A7', + '\u00F7', '\u00B8', '\u00B0', '\u00A8', '\u02D9', '\u0171', + '\u0158', '\u0159', '\u25A0', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A4: ch = 0xCF; break; + case 0x00A7: ch = 0xF5; break; + case 0x00A8: ch = 0xF9; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AD: ch = 0xF0; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B4: ch = 0xEF; break; + case 0x00B6: ch = 0x14; break; + case 0x00B8: ch = 0xF7; break; + case 0x00BB: ch = 0xAF; break; + case 0x00C1: ch = 0xB5; break; + case 0x00C2: ch = 0xB6; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C7: ch = 0x80; break; + case 0x00C9: ch = 0x90; break; + case 0x00CB: ch = 0xD3; break; + case 0x00CD: ch = 0xD6; break; + case 0x00CE: ch = 0xD7; break; + case 0x00D0: ch = 0xD1; break; + case 0x00D3: ch = 0xE0; break; + case 0x00D4: ch = 0xE2; break; + case 0x00D6: ch = 0x99; break; + case 0x00D7: ch = 0x9E; break; + case 0x00DA: ch = 0xE9; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DD: ch = 0xED; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E4: ch = 0x84; break; + case 0x00E7: ch = 0x87; break; + case 0x00E9: ch = 0x82; break; + case 0x00EB: ch = 0x89; break; + case 0x00ED: ch = 0xA1; break; + case 0x00EE: ch = 0x8C; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FC: ch = 0x81; break; + case 0x00FD: ch = 0xEC; break; + case 0x0102: ch = 0xC6; break; + case 0x0103: ch = 0xC7; break; + case 0x0104: ch = 0xA4; break; + case 0x0105: ch = 0xA5; break; + case 0x0106: ch = 0x8F; break; + case 0x0107: ch = 0x86; break; + case 0x010C: ch = 0xAC; break; + case 0x010D: ch = 0x9F; break; + case 0x010E: ch = 0xD2; break; + case 0x010F: ch = 0xD4; break; + case 0x0110: ch = 0xD1; break; + case 0x0111: ch = 0xD0; break; + case 0x0118: ch = 0xA8; break; + case 0x0119: ch = 0xA9; break; + case 0x011A: ch = 0xB7; break; + case 0x011B: ch = 0xD8; break; + case 0x0139: ch = 0x91; break; + case 0x013A: ch = 0x92; break; + case 0x013D: ch = 0x95; break; + case 0x013E: ch = 0x96; break; + case 0x0141: ch = 0x9D; break; + case 0x0142: ch = 0x88; break; + case 0x0143: ch = 0xE3; break; + case 0x0144: ch = 0xE4; break; + case 0x0147: ch = 0xD5; break; + case 0x0148: ch = 0xE5; break; + case 0x0150: ch = 0x8A; break; + case 0x0151: ch = 0x8B; break; + case 0x0154: ch = 0xE8; break; + case 0x0155: ch = 0xEA; break; + case 0x0158: ch = 0xFC; break; + case 0x0159: ch = 0xFD; break; + case 0x015A: ch = 0x97; break; + case 0x015B: ch = 0x98; break; + case 0x015E: ch = 0xB8; break; + case 0x015F: ch = 0xAD; break; + case 0x0160: ch = 0xE6; break; + case 0x0161: ch = 0xE7; break; + case 0x0162: ch = 0xDD; break; + case 0x0163: ch = 0xEE; break; + case 0x0164: ch = 0x9B; break; + case 0x0165: ch = 0x9C; break; + case 0x016E: ch = 0xDE; break; + case 0x016F: ch = 0x85; break; + case 0x0170: ch = 0xEB; break; + case 0x0171: ch = 0xFB; break; + case 0x0179: ch = 0x8D; break; + case 0x017A: ch = 0xAB; break; + case 0x017B: ch = 0xBD; break; + case 0x017C: ch = 0xBE; break; + case 0x017D: ch = 0xA6; break; + case 0x017E: ch = 0xA7; break; + case 0x02C7: ch = 0xF3; break; + case 0x02D8: ch = 0xF4; break; + case 0x02D9: ch = 0xFA; break; + case 0x02DB: ch = 0xF2; break; + case 0x02DD: ch = 0xF1; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2554: ch = 0xC9; break; + case 0x2557: ch = 0xBB; break; + case 0x255A: ch = 0xC8; break; + case 0x255D: ch = 0xBC; break; + case 0x2560: ch = 0xCC; break; + case 0x2563: ch = 0xB9; break; + case 0x2566: ch = 0xCB; break; + case 0x2569: ch = 0xCA; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266C: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A4: ch = 0xCF; break; + case 0x00A7: ch = 0xF5; break; + case 0x00A8: ch = 0xF9; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AD: ch = 0xF0; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B4: ch = 0xEF; break; + case 0x00B6: ch = 0x14; break; + case 0x00B8: ch = 0xF7; break; + case 0x00BB: ch = 0xAF; break; + case 0x00C1: ch = 0xB5; break; + case 0x00C2: ch = 0xB6; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C7: ch = 0x80; break; + case 0x00C9: ch = 0x90; break; + case 0x00CB: ch = 0xD3; break; + case 0x00CD: ch = 0xD6; break; + case 0x00CE: ch = 0xD7; break; + case 0x00D0: ch = 0xD1; break; + case 0x00D3: ch = 0xE0; break; + case 0x00D4: ch = 0xE2; break; + case 0x00D6: ch = 0x99; break; + case 0x00D7: ch = 0x9E; break; + case 0x00DA: ch = 0xE9; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DD: ch = 0xED; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E4: ch = 0x84; break; + case 0x00E7: ch = 0x87; break; + case 0x00E9: ch = 0x82; break; + case 0x00EB: ch = 0x89; break; + case 0x00ED: ch = 0xA1; break; + case 0x00EE: ch = 0x8C; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FC: ch = 0x81; break; + case 0x00FD: ch = 0xEC; break; + case 0x0102: ch = 0xC6; break; + case 0x0103: ch = 0xC7; break; + case 0x0104: ch = 0xA4; break; + case 0x0105: ch = 0xA5; break; + case 0x0106: ch = 0x8F; break; + case 0x0107: ch = 0x86; break; + case 0x010C: ch = 0xAC; break; + case 0x010D: ch = 0x9F; break; + case 0x010E: ch = 0xD2; break; + case 0x010F: ch = 0xD4; break; + case 0x0110: ch = 0xD1; break; + case 0x0111: ch = 0xD0; break; + case 0x0118: ch = 0xA8; break; + case 0x0119: ch = 0xA9; break; + case 0x011A: ch = 0xB7; break; + case 0x011B: ch = 0xD8; break; + case 0x0139: ch = 0x91; break; + case 0x013A: ch = 0x92; break; + case 0x013D: ch = 0x95; break; + case 0x013E: ch = 0x96; break; + case 0x0141: ch = 0x9D; break; + case 0x0142: ch = 0x88; break; + case 0x0143: ch = 0xE3; break; + case 0x0144: ch = 0xE4; break; + case 0x0147: ch = 0xD5; break; + case 0x0148: ch = 0xE5; break; + case 0x0150: ch = 0x8A; break; + case 0x0151: ch = 0x8B; break; + case 0x0154: ch = 0xE8; break; + case 0x0155: ch = 0xEA; break; + case 0x0158: ch = 0xFC; break; + case 0x0159: ch = 0xFD; break; + case 0x015A: ch = 0x97; break; + case 0x015B: ch = 0x98; break; + case 0x015E: ch = 0xB8; break; + case 0x015F: ch = 0xAD; break; + case 0x0160: ch = 0xE6; break; + case 0x0161: ch = 0xE7; break; + case 0x0162: ch = 0xDD; break; + case 0x0163: ch = 0xEE; break; + case 0x0164: ch = 0x9B; break; + case 0x0165: ch = 0x9C; break; + case 0x016E: ch = 0xDE; break; + case 0x016F: ch = 0x85; break; + case 0x0170: ch = 0xEB; break; + case 0x0171: ch = 0xFB; break; + case 0x0179: ch = 0x8D; break; + case 0x017A: ch = 0xAB; break; + case 0x017B: ch = 0xBD; break; + case 0x017C: ch = 0xBE; break; + case 0x017D: ch = 0xA6; break; + case 0x017E: ch = 0xA7; break; + case 0x02C7: ch = 0xF3; break; + case 0x02D8: ch = 0xF4; break; + case 0x02D9: ch = 0xFA; break; + case 0x02DB: ch = 0xF2; break; + case 0x02DD: ch = 0xF1; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2554: ch = 0xC9; break; + case 0x2557: ch = 0xBB; break; + case 0x255A: ch = 0xC8; break; + case 0x255D: ch = 0xBC; break; + case 0x2560: ch = 0xCC; break; + case 0x2563: ch = 0xB9; break; + case 0x2566: ch = 0xCB; break; + case 0x2569: ch = 0xCA; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266C: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP852 + +public class ENCibm852 : CP852 +{ + public ENCibm852() : base() {} + +}; // class ENCibm852 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP855.cs b/mcs/class/I18N/Rare/CP855.cs new file mode 100644 index 00000000000..665ece07051 --- /dev/null +++ b/mcs/class/I18N/Rare/CP855.cs @@ -0,0 +1,679 @@ +/* + * CP855.cs - Cyrillic (DOS) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-855.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP855 : ByteEncoding +{ + public CP855() + : base(855, ToChars, "Cyrillic (DOS)", + "ibm855", "ibm855", "ibm855", + false, false, false, false, 1251) + {} + + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u0452', '\u0402', '\u0453', '\u0403', + '\u0451', '\u0401', '\u0454', '\u0404', '\u0455', '\u0405', + '\u0456', '\u0406', '\u0457', '\u0407', '\u0458', '\u0408', + '\u0459', '\u0409', '\u045A', '\u040A', '\u045B', '\u040B', + '\u045C', '\u040C', '\u045E', '\u040E', '\u045F', '\u040F', + '\u044E', '\u042E', '\u044A', '\u042A', '\u0430', '\u0410', + '\u0431', '\u0411', '\u0446', '\u0426', '\u0434', '\u0414', + '\u0435', '\u0415', '\u0444', '\u0424', '\u0433', '\u0413', + '\u00AB', '\u00BB', '\u2591', '\u2592', '\u2593', '\u2502', + '\u2524', '\u0445', '\u0425', '\u0438', '\u0418', '\u2563', + '\u2551', '\u2557', '\u255D', '\u0439', '\u0419', '\u2510', + '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', + '\u043A', '\u041A', '\u255A', '\u2554', '\u2569', '\u2566', + '\u2560', '\u2550', '\u256C', '\u00A4', '\u043B', '\u041B', + '\u043C', '\u041C', '\u043D', '\u041D', '\u043E', '\u041E', + '\u043F', '\u2518', '\u250C', '\u2588', '\u2584', '\u041F', + '\u044F', '\u2580', '\u042F', '\u0440', '\u0420', '\u0441', + '\u0421', '\u0442', '\u0422', '\u0443', '\u0423', '\u0436', + '\u0416', '\u0432', '\u0412', '\u044C', '\u042C', '\u2116', + '\u00AD', '\u044B', '\u042B', '\u0437', '\u0417', '\u0448', + '\u0428', '\u044D', '\u042D', '\u0449', '\u0429', '\u0447', + '\u0427', '\u00A7', '\u25A0', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A4: ch = 0xCF; break; + case 0x00A7: ch = 0xFD; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AD: ch = 0xF0; break; + case 0x00B6: ch = 0x14; break; + case 0x00BB: ch = 0xAF; break; + case 0x0401: ch = 0x85; break; + case 0x0402: ch = 0x81; break; + case 0x0403: ch = 0x83; break; + case 0x0404: ch = 0x87; break; + case 0x0405: ch = 0x89; break; + case 0x0406: ch = 0x8B; break; + case 0x0407: ch = 0x8D; break; + case 0x0408: ch = 0x8F; break; + case 0x0409: ch = 0x91; break; + case 0x040A: ch = 0x93; break; + case 0x040B: ch = 0x95; break; + case 0x040C: ch = 0x97; break; + case 0x040E: ch = 0x99; break; + case 0x040F: ch = 0x9B; break; + case 0x0410: ch = 0xA1; break; + case 0x0411: ch = 0xA3; break; + case 0x0412: ch = 0xEC; break; + case 0x0413: ch = 0xAD; break; + case 0x0414: ch = 0xA7; break; + case 0x0415: ch = 0xA9; break; + case 0x0416: ch = 0xEA; break; + case 0x0417: ch = 0xF4; break; + case 0x0418: ch = 0xB8; break; + case 0x0419: ch = 0xBE; break; + case 0x041A: ch = 0xC7; break; + case 0x041B: ch = 0xD1; break; + case 0x041C: ch = 0xD3; break; + case 0x041D: ch = 0xD5; break; + case 0x041E: ch = 0xD7; break; + case 0x041F: ch = 0xDD; break; + case 0x0420: ch = 0xE2; break; + case 0x0421: ch = 0xE4; break; + case 0x0422: ch = 0xE6; break; + case 0x0423: ch = 0xE8; break; + case 0x0424: ch = 0xAB; break; + case 0x0425: ch = 0xB6; break; + case 0x0426: ch = 0xA5; break; + case 0x0427: ch = 0xFC; break; + case 0x0428: ch = 0xF6; break; + case 0x0429: ch = 0xFA; break; + case 0x042A: ch = 0x9F; break; + case 0x042B: ch = 0xF2; break; + case 0x042C: ch = 0xEE; break; + case 0x042D: ch = 0xF8; break; + case 0x042E: ch = 0x9D; break; + case 0x042F: ch = 0xE0; break; + case 0x0430: ch = 0xA0; break; + case 0x0431: ch = 0xA2; break; + case 0x0432: ch = 0xEB; break; + case 0x0433: ch = 0xAC; break; + case 0x0434: ch = 0xA6; break; + case 0x0435: ch = 0xA8; break; + case 0x0436: ch = 0xE9; break; + case 0x0437: ch = 0xF3; break; + case 0x0438: ch = 0xB7; break; + case 0x0439: ch = 0xBD; break; + case 0x043A: ch = 0xC6; break; + case 0x043B: ch = 0xD0; break; + case 0x043C: ch = 0xD2; break; + case 0x043D: ch = 0xD4; break; + case 0x043E: ch = 0xD6; break; + case 0x043F: ch = 0xD8; break; + case 0x0440: ch = 0xE1; break; + case 0x0441: ch = 0xE3; break; + case 0x0442: ch = 0xE5; break; + case 0x0443: ch = 0xE7; break; + case 0x0444: ch = 0xAA; break; + case 0x0445: ch = 0xB5; break; + case 0x0446: ch = 0xA4; break; + case 0x0447: ch = 0xFB; break; + case 0x0448: ch = 0xF5; break; + case 0x0449: ch = 0xF9; break; + case 0x044A: ch = 0x9E; break; + case 0x044B: ch = 0xF1; break; + case 0x044C: ch = 0xED; break; + case 0x044D: ch = 0xF7; break; + case 0x044E: ch = 0x9C; break; + case 0x044F: ch = 0xDE; break; + case 0x0451: ch = 0x84; break; + case 0x0452: ch = 0x80; break; + case 0x0453: ch = 0x82; break; + case 0x0454: ch = 0x86; break; + case 0x0455: ch = 0x88; break; + case 0x0456: ch = 0x8A; break; + case 0x0457: ch = 0x8C; break; + case 0x0458: ch = 0x8E; break; + case 0x0459: ch = 0x90; break; + case 0x045A: ch = 0x92; break; + case 0x045B: ch = 0x94; break; + case 0x045C: ch = 0x96; break; + case 0x045E: ch = 0x98; break; + case 0x045F: ch = 0x9A; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x2116: ch = 0xEF; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2554: ch = 0xC9; break; + case 0x2557: ch = 0xBB; break; + case 0x255A: ch = 0xC8; break; + case 0x255D: ch = 0xBC; break; + case 0x2560: ch = 0xCC; break; + case 0x2563: ch = 0xB9; break; + case 0x2566: ch = 0xCB; break; + case 0x2569: ch = 0xCA; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A4: ch = 0xCF; break; + case 0x00A7: ch = 0xFD; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AD: ch = 0xF0; break; + case 0x00B6: ch = 0x14; break; + case 0x00BB: ch = 0xAF; break; + case 0x0401: ch = 0x85; break; + case 0x0402: ch = 0x81; break; + case 0x0403: ch = 0x83; break; + case 0x0404: ch = 0x87; break; + case 0x0405: ch = 0x89; break; + case 0x0406: ch = 0x8B; break; + case 0x0407: ch = 0x8D; break; + case 0x0408: ch = 0x8F; break; + case 0x0409: ch = 0x91; break; + case 0x040A: ch = 0x93; break; + case 0x040B: ch = 0x95; break; + case 0x040C: ch = 0x97; break; + case 0x040E: ch = 0x99; break; + case 0x040F: ch = 0x9B; break; + case 0x0410: ch = 0xA1; break; + case 0x0411: ch = 0xA3; break; + case 0x0412: ch = 0xEC; break; + case 0x0413: ch = 0xAD; break; + case 0x0414: ch = 0xA7; break; + case 0x0415: ch = 0xA9; break; + case 0x0416: ch = 0xEA; break; + case 0x0417: ch = 0xF4; break; + case 0x0418: ch = 0xB8; break; + case 0x0419: ch = 0xBE; break; + case 0x041A: ch = 0xC7; break; + case 0x041B: ch = 0xD1; break; + case 0x041C: ch = 0xD3; break; + case 0x041D: ch = 0xD5; break; + case 0x041E: ch = 0xD7; break; + case 0x041F: ch = 0xDD; break; + case 0x0420: ch = 0xE2; break; + case 0x0421: ch = 0xE4; break; + case 0x0422: ch = 0xE6; break; + case 0x0423: ch = 0xE8; break; + case 0x0424: ch = 0xAB; break; + case 0x0425: ch = 0xB6; break; + case 0x0426: ch = 0xA5; break; + case 0x0427: ch = 0xFC; break; + case 0x0428: ch = 0xF6; break; + case 0x0429: ch = 0xFA; break; + case 0x042A: ch = 0x9F; break; + case 0x042B: ch = 0xF2; break; + case 0x042C: ch = 0xEE; break; + case 0x042D: ch = 0xF8; break; + case 0x042E: ch = 0x9D; break; + case 0x042F: ch = 0xE0; break; + case 0x0430: ch = 0xA0; break; + case 0x0431: ch = 0xA2; break; + case 0x0432: ch = 0xEB; break; + case 0x0433: ch = 0xAC; break; + case 0x0434: ch = 0xA6; break; + case 0x0435: ch = 0xA8; break; + case 0x0436: ch = 0xE9; break; + case 0x0437: ch = 0xF3; break; + case 0x0438: ch = 0xB7; break; + case 0x0439: ch = 0xBD; break; + case 0x043A: ch = 0xC6; break; + case 0x043B: ch = 0xD0; break; + case 0x043C: ch = 0xD2; break; + case 0x043D: ch = 0xD4; break; + case 0x043E: ch = 0xD6; break; + case 0x043F: ch = 0xD8; break; + case 0x0440: ch = 0xE1; break; + case 0x0441: ch = 0xE3; break; + case 0x0442: ch = 0xE5; break; + case 0x0443: ch = 0xE7; break; + case 0x0444: ch = 0xAA; break; + case 0x0445: ch = 0xB5; break; + case 0x0446: ch = 0xA4; break; + case 0x0447: ch = 0xFB; break; + case 0x0448: ch = 0xF5; break; + case 0x0449: ch = 0xF9; break; + case 0x044A: ch = 0x9E; break; + case 0x044B: ch = 0xF1; break; + case 0x044C: ch = 0xED; break; + case 0x044D: ch = 0xF7; break; + case 0x044E: ch = 0x9C; break; + case 0x044F: ch = 0xDE; break; + case 0x0451: ch = 0x84; break; + case 0x0452: ch = 0x80; break; + case 0x0453: ch = 0x82; break; + case 0x0454: ch = 0x86; break; + case 0x0455: ch = 0x88; break; + case 0x0456: ch = 0x8A; break; + case 0x0457: ch = 0x8C; break; + case 0x0458: ch = 0x8E; break; + case 0x0459: ch = 0x90; break; + case 0x045A: ch = 0x92; break; + case 0x045B: ch = 0x94; break; + case 0x045C: ch = 0x96; break; + case 0x045E: ch = 0x98; break; + case 0x045F: ch = 0x9A; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x2116: ch = 0xEF; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2554: ch = 0xC9; break; + case 0x2557: ch = 0xBB; break; + case 0x255A: ch = 0xC8; break; + case 0x255D: ch = 0xBC; break; + case 0x2560: ch = 0xCC; break; + case 0x2563: ch = 0xB9; break; + case 0x2566: ch = 0xCB; break; + case 0x2569: ch = 0xCA; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP855 + +public class ENCibm855 : CP855 +{ + public ENCibm855() : base() {} + +}; // class ENCibm855 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP857.cs b/mcs/class/I18N/Rare/CP857.cs new file mode 100644 index 00000000000..9d2b85e0708 --- /dev/null +++ b/mcs/class/I18N/Rare/CP857.cs @@ -0,0 +1,673 @@ +/* + * CP857.cs - Turkish (DOS) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-857.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP857 : ByteEncoding +{ + public CP857() + : base(857, ToChars, "Turkish (DOS)", + "ibm857", "ibm857", "ibm857", + false, false, false, false, 1254) + {} + + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u00C7', '\u00FC', '\u00E9', '\u00E2', + '\u00E4', '\u00E0', '\u00E5', '\u00E7', '\u00EA', '\u00EB', + '\u00E8', '\u00EF', '\u00EE', '\u0131', '\u00C4', '\u00C5', + '\u00C9', '\u00E6', '\u00C6', '\u00F4', '\u00F6', '\u00F2', + '\u00FB', '\u00F9', '\u0130', '\u00D6', '\u00DC', '\u00F8', + '\u00A3', '\u00D8', '\u015E', '\u015F', '\u00E1', '\u00ED', + '\u00F3', '\u00FA', '\u00F1', '\u00D1', '\u011E', '\u011F', + '\u00BF', '\u00AE', '\u00AC', '\u00BD', '\u00BC', '\u00A1', + '\u00AB', '\u00BB', '\u2591', '\u2592', '\u2593', '\u2502', + '\u2524', '\u00C1', '\u00C2', '\u00C0', '\u00A9', '\u2563', + '\u2551', '\u2557', '\u255D', '\u00A2', '\u00A5', '\u2510', + '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', + '\u00E3', '\u00C3', '\u255A', '\u2554', '\u2569', '\u2566', + '\u2560', '\u2550', '\u256C', '\u00A4', '\u00BA', '\u00AA', + '\u00CA', '\u00CB', '\u00C8', '\u003F', '\u00CD', '\u00CE', + '\u00CF', '\u2518', '\u250C', '\u2588', '\u2584', '\u00A6', + '\u00CC', '\u2580', '\u00D3', '\u00DF', '\u00D4', '\u00D2', + '\u00F5', '\u00D5', '\u00B5', '\u003F', '\u00D7', '\u00DA', + '\u00DB', '\u00D9', '\u00EC', '\u00FF', '\u00AF', '\u00B4', + '\u00AD', '\u00B1', '\u003F', '\u00BE', '\u00B6', '\u00A7', + '\u00F7', '\u00B8', '\u00B0', '\u00A8', '\u00B7', '\u00B9', + '\u00B3', '\u00B2', '\u25A0', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + case 0x00EC: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A2: ch = 0xBD; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A4: ch = 0xCF; break; + case 0x00A5: ch = 0xBE; break; + case 0x00A6: ch = 0xDD; break; + case 0x00A7: ch = 0xF5; break; + case 0x00A8: ch = 0xF9; break; + case 0x00A9: ch = 0xB8; break; + case 0x00AA: ch = 0xD1; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00AD: ch = 0xF0; break; + case 0x00AE: ch = 0xA9; break; + case 0x00AF: ch = 0xEE; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B3: ch = 0xFC; break; + case 0x00B4: ch = 0xEF; break; + case 0x00B5: ch = 0xE6; break; + case 0x00B6: ch = 0xF4; break; + case 0x00B7: ch = 0xFA; break; + case 0x00B8: ch = 0xF7; break; + case 0x00B9: ch = 0xFB; break; + case 0x00BA: ch = 0xD0; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BE: ch = 0xF3; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C0: ch = 0xB7; break; + case 0x00C1: ch = 0xB5; break; + case 0x00C2: ch = 0xB6; break; + case 0x00C3: ch = 0xC7; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C5: ch = 0x8F; break; + case 0x00C6: ch = 0x92; break; + case 0x00C7: ch = 0x80; break; + case 0x00C8: ch = 0xD4; break; + case 0x00C9: ch = 0x90; break; + case 0x00CA: ch = 0xD2; break; + case 0x00CB: ch = 0xD3; break; + case 0x00CC: ch = 0xDE; break; + case 0x00CD: ch = 0xD6; break; + case 0x00CE: ch = 0xD7; break; + case 0x00CF: ch = 0xD8; break; + case 0x00D1: ch = 0xA5; break; + case 0x00D2: ch = 0xE3; break; + case 0x00D3: ch = 0xE0; break; + case 0x00D4: ch = 0xE2; break; + case 0x00D5: ch = 0xE5; break; + case 0x00D6: ch = 0x99; break; + case 0x00D7: ch = 0xE8; break; + case 0x00D8: ch = 0x9D; break; + case 0x00D9: ch = 0xEB; break; + case 0x00DA: ch = 0xE9; break; + case 0x00DB: ch = 0xEA; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E3: ch = 0xC6; break; + case 0x00E4: ch = 0x84; break; + case 0x00E5: ch = 0x86; break; + case 0x00E6: ch = 0x91; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00ED: ch = 0xA1; break; + case 0x00EE: ch = 0x8C; break; + case 0x00EF: ch = 0x8B; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F2: ch = 0x95; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F5: ch = 0xE4; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F8: ch = 0x9B; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x00FF: ch = 0xED; break; + case 0x011E: ch = 0xA6; break; + case 0x011F: ch = 0xA7; break; + case 0x0130: ch = 0x98; break; + case 0x0131: ch = 0x8D; break; + case 0x015E: ch = 0x9E; break; + case 0x015F: ch = 0x9F; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x203E: ch = 0xEE; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2554: ch = 0xC9; break; + case 0x2557: ch = 0xBB; break; + case 0x255A: ch = 0xC8; break; + case 0x255D: ch = 0xBC; break; + case 0x2560: ch = 0xCC; break; + case 0x2563: ch = 0xB9; break; + case 0x2566: ch = 0xCB; break; + case 0x2569: ch = 0xCA; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + case 0x00EC: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A2: ch = 0xBD; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A4: ch = 0xCF; break; + case 0x00A5: ch = 0xBE; break; + case 0x00A6: ch = 0xDD; break; + case 0x00A7: ch = 0xF5; break; + case 0x00A8: ch = 0xF9; break; + case 0x00A9: ch = 0xB8; break; + case 0x00AA: ch = 0xD1; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00AD: ch = 0xF0; break; + case 0x00AE: ch = 0xA9; break; + case 0x00AF: ch = 0xEE; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B3: ch = 0xFC; break; + case 0x00B4: ch = 0xEF; break; + case 0x00B5: ch = 0xE6; break; + case 0x00B6: ch = 0xF4; break; + case 0x00B7: ch = 0xFA; break; + case 0x00B8: ch = 0xF7; break; + case 0x00B9: ch = 0xFB; break; + case 0x00BA: ch = 0xD0; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BE: ch = 0xF3; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C0: ch = 0xB7; break; + case 0x00C1: ch = 0xB5; break; + case 0x00C2: ch = 0xB6; break; + case 0x00C3: ch = 0xC7; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C5: ch = 0x8F; break; + case 0x00C6: ch = 0x92; break; + case 0x00C7: ch = 0x80; break; + case 0x00C8: ch = 0xD4; break; + case 0x00C9: ch = 0x90; break; + case 0x00CA: ch = 0xD2; break; + case 0x00CB: ch = 0xD3; break; + case 0x00CC: ch = 0xDE; break; + case 0x00CD: ch = 0xD6; break; + case 0x00CE: ch = 0xD7; break; + case 0x00CF: ch = 0xD8; break; + case 0x00D1: ch = 0xA5; break; + case 0x00D2: ch = 0xE3; break; + case 0x00D3: ch = 0xE0; break; + case 0x00D4: ch = 0xE2; break; + case 0x00D5: ch = 0xE5; break; + case 0x00D6: ch = 0x99; break; + case 0x00D7: ch = 0xE8; break; + case 0x00D8: ch = 0x9D; break; + case 0x00D9: ch = 0xEB; break; + case 0x00DA: ch = 0xE9; break; + case 0x00DB: ch = 0xEA; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E3: ch = 0xC6; break; + case 0x00E4: ch = 0x84; break; + case 0x00E5: ch = 0x86; break; + case 0x00E6: ch = 0x91; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00ED: ch = 0xA1; break; + case 0x00EE: ch = 0x8C; break; + case 0x00EF: ch = 0x8B; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F2: ch = 0x95; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F5: ch = 0xE4; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F8: ch = 0x9B; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x00FF: ch = 0xED; break; + case 0x011E: ch = 0xA6; break; + case 0x011F: ch = 0xA7; break; + case 0x0130: ch = 0x98; break; + case 0x0131: ch = 0x8D; break; + case 0x015E: ch = 0x9E; break; + case 0x015F: ch = 0x9F; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x203E: ch = 0xEE; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2554: ch = 0xC9; break; + case 0x2557: ch = 0xBB; break; + case 0x255A: ch = 0xC8; break; + case 0x255D: ch = 0xBC; break; + case 0x2560: ch = 0xCC; break; + case 0x2563: ch = 0xB9; break; + case 0x2566: ch = 0xCB; break; + case 0x2569: ch = 0xCA; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP857 + +public class ENCibm857 : CP857 +{ + public ENCibm857() : base() {} + +}; // class ENCibm857 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP858.cs b/mcs/class/I18N/Rare/CP858.cs new file mode 100644 index 00000000000..3ad8fc85a42 --- /dev/null +++ b/mcs/class/I18N/Rare/CP858.cs @@ -0,0 +1,679 @@ +/* + * CP858.cs - Western European (DOS with Euro) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-858.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP858 : ByteEncoding +{ + public CP858() + : base(858, ToChars, "Western European (DOS with Euro)", + "IBM00858", "IBM00858", "IBM00858", + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u00C7', '\u00FC', '\u00E9', '\u00E2', + '\u00E4', '\u00E0', '\u00E5', '\u00E7', '\u00EA', '\u00EB', + '\u00E8', '\u00EF', '\u00EE', '\u00EC', '\u00C4', '\u00C5', + '\u00C9', '\u00E6', '\u00C6', '\u00F4', '\u00F6', '\u00F2', + '\u00FB', '\u00F9', '\u00FF', '\u00D6', '\u00DC', '\u00F8', + '\u00A3', '\u00D8', '\u00D7', '\u0192', '\u00E1', '\u00ED', + '\u00F3', '\u00FA', '\u00F1', '\u00D1', '\u00AA', '\u00BA', + '\u00BF', '\u00AE', '\u00AC', '\u00BD', '\u00BC', '\u00A1', + '\u00AB', '\u00BB', '\u2591', '\u2592', '\u2593', '\u2502', + '\u2524', '\u00C1', '\u00C2', '\u00C0', '\u00A9', '\u2563', + '\u2551', '\u2557', '\u255D', '\u00A2', '\u00A5', '\u2510', + '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', + '\u00E3', '\u00C3', '\u255A', '\u2554', '\u2569', '\u2566', + '\u2560', '\u2550', '\u256C', '\u00A4', '\u00F0', '\u00D0', + '\u00CA', '\u00CB', '\u00C8', '\u20AC', '\u00CD', '\u00CE', + '\u00CF', '\u2518', '\u250C', '\u2588', '\u2584', '\u00A6', + '\u00CC', '\u2580', '\u00D3', '\u00DF', '\u00D4', '\u00D2', + '\u00F5', '\u00D5', '\u00B5', '\u00FE', '\u00DE', '\u00DA', + '\u00DB', '\u00D9', '\u00FD', '\u00DD', '\u00AF', '\u00B4', + '\u00AD', '\u00B1', '\u2017', '\u00BE', '\u00B6', '\u00A7', + '\u00F7', '\u00B8', '\u00B0', '\u00A8', '\u00B7', '\u00B9', + '\u00B3', '\u00B2', '\u25A0', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A2: ch = 0xBD; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A4: ch = 0xCF; break; + case 0x00A5: ch = 0xBE; break; + case 0x00A6: ch = 0xDD; break; + case 0x00A7: ch = 0xF5; break; + case 0x00A8: ch = 0xF9; break; + case 0x00A9: ch = 0xB8; break; + case 0x00AA: ch = 0xA6; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00AD: ch = 0xF0; break; + case 0x00AE: ch = 0xA9; break; + case 0x00AF: ch = 0xEE; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B3: ch = 0xFC; break; + case 0x00B4: ch = 0xEF; break; + case 0x00B5: ch = 0xE6; break; + case 0x00B6: ch = 0xF4; break; + case 0x00B7: ch = 0xFA; break; + case 0x00B8: ch = 0xF7; break; + case 0x00B9: ch = 0xFB; break; + case 0x00BA: ch = 0xA7; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BE: ch = 0xF3; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C0: ch = 0xB7; break; + case 0x00C1: ch = 0xB5; break; + case 0x00C2: ch = 0xB6; break; + case 0x00C3: ch = 0xC7; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C5: ch = 0x8F; break; + case 0x00C6: ch = 0x92; break; + case 0x00C7: ch = 0x80; break; + case 0x00C8: ch = 0xD4; break; + case 0x00C9: ch = 0x90; break; + case 0x00CA: ch = 0xD2; break; + case 0x00CB: ch = 0xD3; break; + case 0x00CC: ch = 0xDE; break; + case 0x00CD: ch = 0xD6; break; + case 0x00CE: ch = 0xD7; break; + case 0x00CF: ch = 0xD8; break; + case 0x00D0: ch = 0xD1; break; + case 0x00D1: ch = 0xA5; break; + case 0x00D2: ch = 0xE3; break; + case 0x00D3: ch = 0xE0; break; + case 0x00D4: ch = 0xE2; break; + case 0x00D5: ch = 0xE5; break; + case 0x00D6: ch = 0x99; break; + case 0x00D7: ch = 0x9E; break; + case 0x00D8: ch = 0x9D; break; + case 0x00D9: ch = 0xEB; break; + case 0x00DA: ch = 0xE9; break; + case 0x00DB: ch = 0xEA; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DD: ch = 0xED; break; + case 0x00DE: ch = 0xE8; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E3: ch = 0xC6; break; + case 0x00E4: ch = 0x84; break; + case 0x00E5: ch = 0x86; break; + case 0x00E6: ch = 0x91; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00EC: ch = 0x8D; break; + case 0x00ED: ch = 0xA1; break; + case 0x00EE: ch = 0x8C; break; + case 0x00EF: ch = 0x8B; break; + case 0x00F0: ch = 0xD0; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F2: ch = 0x95; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F5: ch = 0xE4; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F8: ch = 0x9B; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x00FD: ch = 0xEC; break; + case 0x00FE: ch = 0xE7; break; + case 0x00FF: ch = 0x98; break; + case 0x0192: ch = 0x9F; break; + case 0x2017: ch = 0xF2; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x203E: ch = 0xEE; break; + case 0x20AC: ch = 0xD5; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2554: ch = 0xC9; break; + case 0x2557: ch = 0xBB; break; + case 0x255A: ch = 0xC8; break; + case 0x255D: ch = 0xBC; break; + case 0x2560: ch = 0xCC; break; + case 0x2563: ch = 0xB9; break; + case 0x2566: ch = 0xCB; break; + case 0x2569: ch = 0xCA; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266C: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A2: ch = 0xBD; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A4: ch = 0xCF; break; + case 0x00A5: ch = 0xBE; break; + case 0x00A6: ch = 0xDD; break; + case 0x00A7: ch = 0xF5; break; + case 0x00A8: ch = 0xF9; break; + case 0x00A9: ch = 0xB8; break; + case 0x00AA: ch = 0xA6; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00AD: ch = 0xF0; break; + case 0x00AE: ch = 0xA9; break; + case 0x00AF: ch = 0xEE; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B3: ch = 0xFC; break; + case 0x00B4: ch = 0xEF; break; + case 0x00B5: ch = 0xE6; break; + case 0x00B6: ch = 0xF4; break; + case 0x00B7: ch = 0xFA; break; + case 0x00B8: ch = 0xF7; break; + case 0x00B9: ch = 0xFB; break; + case 0x00BA: ch = 0xA7; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BE: ch = 0xF3; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C0: ch = 0xB7; break; + case 0x00C1: ch = 0xB5; break; + case 0x00C2: ch = 0xB6; break; + case 0x00C3: ch = 0xC7; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C5: ch = 0x8F; break; + case 0x00C6: ch = 0x92; break; + case 0x00C7: ch = 0x80; break; + case 0x00C8: ch = 0xD4; break; + case 0x00C9: ch = 0x90; break; + case 0x00CA: ch = 0xD2; break; + case 0x00CB: ch = 0xD3; break; + case 0x00CC: ch = 0xDE; break; + case 0x00CD: ch = 0xD6; break; + case 0x00CE: ch = 0xD7; break; + case 0x00CF: ch = 0xD8; break; + case 0x00D0: ch = 0xD1; break; + case 0x00D1: ch = 0xA5; break; + case 0x00D2: ch = 0xE3; break; + case 0x00D3: ch = 0xE0; break; + case 0x00D4: ch = 0xE2; break; + case 0x00D5: ch = 0xE5; break; + case 0x00D6: ch = 0x99; break; + case 0x00D7: ch = 0x9E; break; + case 0x00D8: ch = 0x9D; break; + case 0x00D9: ch = 0xEB; break; + case 0x00DA: ch = 0xE9; break; + case 0x00DB: ch = 0xEA; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DD: ch = 0xED; break; + case 0x00DE: ch = 0xE8; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E3: ch = 0xC6; break; + case 0x00E4: ch = 0x84; break; + case 0x00E5: ch = 0x86; break; + case 0x00E6: ch = 0x91; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00EC: ch = 0x8D; break; + case 0x00ED: ch = 0xA1; break; + case 0x00EE: ch = 0x8C; break; + case 0x00EF: ch = 0x8B; break; + case 0x00F0: ch = 0xD0; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F2: ch = 0x95; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F5: ch = 0xE4; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F8: ch = 0x9B; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x00FD: ch = 0xEC; break; + case 0x00FE: ch = 0xE7; break; + case 0x00FF: ch = 0x98; break; + case 0x0192: ch = 0x9F; break; + case 0x2017: ch = 0xF2; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x203E: ch = 0xEE; break; + case 0x20AC: ch = 0xD5; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2554: ch = 0xC9; break; + case 0x2557: ch = 0xBB; break; + case 0x255A: ch = 0xC8; break; + case 0x255D: ch = 0xBC; break; + case 0x2560: ch = 0xCC; break; + case 0x2563: ch = 0xB9; break; + case 0x2566: ch = 0xCB; break; + case 0x2569: ch = 0xCA; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266C: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP858 + +public class ENCibm00858 : CP858 +{ + public ENCibm00858() : base() {} + +}; // class ENCibm00858 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP862.cs b/mcs/class/I18N/Rare/CP862.cs new file mode 100644 index 00000000000..182fcb33e45 --- /dev/null +++ b/mcs/class/I18N/Rare/CP862.cs @@ -0,0 +1,685 @@ +/* + * CP862.cs - Hebrew (DOS) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-862.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP862 : ByteEncoding +{ + public CP862() + : base(862, ToChars, "Hebrew (DOS)", + "ibm862", "ibm861", "ibm862", + false, false, false, false, 1255) + {} + + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u05D0', '\u05D1', '\u05D2', '\u05D3', + '\u05D4', '\u05D5', '\u05D6', '\u05D7', '\u05D8', '\u05D9', + '\u05DA', '\u05DB', '\u05DC', '\u05DD', '\u05DE', '\u05DF', + '\u05E0', '\u05E1', '\u05E2', '\u05E3', '\u05E4', '\u05E5', + '\u05E6', '\u05E7', '\u05E8', '\u05E9', '\u05EA', '\u00A2', + '\u00A3', '\u00A5', '\u20A7', '\u0192', '\u00E1', '\u00ED', + '\u00F3', '\u00FA', '\u00F1', '\u00D1', '\u00AA', '\u00BA', + '\u00BF', '\u2310', '\u00AC', '\u00BD', '\u00BC', '\u00A1', + '\u00AB', '\u00BB', '\u2591', '\u2592', '\u2593', '\u2502', + '\u2524', '\u2561', '\u2562', '\u2556', '\u2555', '\u2563', + '\u2551', '\u2557', '\u255D', '\u255C', '\u255B', '\u2510', + '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', + '\u255E', '\u255F', '\u255A', '\u2554', '\u2569', '\u2566', + '\u2560', '\u2550', '\u256C', '\u2567', '\u2568', '\u2564', + '\u2565', '\u2559', '\u2558', '\u2552', '\u2553', '\u256B', + '\u256A', '\u2518', '\u250C', '\u2588', '\u2584', '\u258C', + '\u2590', '\u2580', '\u03B1', '\u00DF', '\u0393', '\u03C0', + '\u03A3', '\u03C3', '\u03BC', '\u03C4', '\u03A6', '\u0398', + '\u03A9', '\u03B4', '\u221E', '\u03C6', '\u03B5', '\u2229', + '\u2261', '\u00B1', '\u2265', '\u2264', '\u2320', '\u2321', + '\u00F7', '\u2248', '\u00B0', '\u2219', '\u00B7', '\u221A', + '\u207F', '\u00B2', '\u25A0', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A2: ch = 0x9B; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A5: ch = 0x9D; break; + case 0x00A7: ch = 0x15; break; + case 0x00AA: ch = 0xA6; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0xFA; break; + case 0x00BA: ch = 0xA7; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BF: ch = 0xA8; break; + case 0x00D1: ch = 0xA5; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E1: ch = 0xA0; break; + case 0x00ED: ch = 0xA1; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F7: ch = 0xF6; break; + case 0x00FA: ch = 0xA3; break; + case 0x0192: ch = 0x9F; break; + case 0x0393: ch = 0xE2; break; + case 0x0398: ch = 0xE9; break; + case 0x03A3: ch = 0xE4; break; + case 0x03A6: ch = 0xE8; break; + case 0x03A9: ch = 0xEA; break; + case 0x03B1: ch = 0xE0; break; + case 0x03B4: ch = 0xEB; break; + case 0x03B5: ch = 0xEE; break; + case 0x03BC: ch = 0xE6; break; + case 0x03C0: ch = 0xE3; break; + case 0x03C3: ch = 0xE5; break; + case 0x03C4: ch = 0xE7; break; + case 0x03C6: ch = 0xED; break; + case 0x05D0: + case 0x05D1: + case 0x05D2: + case 0x05D3: + case 0x05D4: + case 0x05D5: + case 0x05D6: + case 0x05D7: + case 0x05D8: + case 0x05D9: + case 0x05DA: + case 0x05DB: + case 0x05DC: + case 0x05DD: + case 0x05DE: + case 0x05DF: + case 0x05E0: + case 0x05E1: + case 0x05E2: + case 0x05E3: + case 0x05E4: + case 0x05E5: + case 0x05E6: + case 0x05E7: + case 0x05E8: + case 0x05E9: + case 0x05EA: + ch -= 0x0550; + break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x207F: ch = 0xFC; break; + case 0x20A7: ch = 0x9E; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221E: ch = 0xEC; break; + case 0x221F: ch = 0x1C; break; + case 0x2229: ch = 0xEF; break; + case 0x2248: ch = 0xF7; break; + case 0x2261: ch = 0xF0; break; + case 0x2264: ch = 0xF3; break; + case 0x2265: ch = 0xF2; break; + case 0x2302: ch = 0x7F; break; + case 0x2310: ch = 0xA9; break; + case 0x2320: ch = 0xF4; break; + case 0x2321: ch = 0xF5; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A2: ch = 0x9B; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A5: ch = 0x9D; break; + case 0x00A7: ch = 0x15; break; + case 0x00AA: ch = 0xA6; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0xFA; break; + case 0x00BA: ch = 0xA7; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BF: ch = 0xA8; break; + case 0x00D1: ch = 0xA5; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E1: ch = 0xA0; break; + case 0x00ED: ch = 0xA1; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F7: ch = 0xF6; break; + case 0x00FA: ch = 0xA3; break; + case 0x0192: ch = 0x9F; break; + case 0x0393: ch = 0xE2; break; + case 0x0398: ch = 0xE9; break; + case 0x03A3: ch = 0xE4; break; + case 0x03A6: ch = 0xE8; break; + case 0x03A9: ch = 0xEA; break; + case 0x03B1: ch = 0xE0; break; + case 0x03B4: ch = 0xEB; break; + case 0x03B5: ch = 0xEE; break; + case 0x03BC: ch = 0xE6; break; + case 0x03C0: ch = 0xE3; break; + case 0x03C3: ch = 0xE5; break; + case 0x03C4: ch = 0xE7; break; + case 0x03C6: ch = 0xED; break; + case 0x05D0: + case 0x05D1: + case 0x05D2: + case 0x05D3: + case 0x05D4: + case 0x05D5: + case 0x05D6: + case 0x05D7: + case 0x05D8: + case 0x05D9: + case 0x05DA: + case 0x05DB: + case 0x05DC: + case 0x05DD: + case 0x05DE: + case 0x05DF: + case 0x05E0: + case 0x05E1: + case 0x05E2: + case 0x05E3: + case 0x05E4: + case 0x05E5: + case 0x05E6: + case 0x05E7: + case 0x05E8: + case 0x05E9: + case 0x05EA: + ch -= 0x0550; + break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x207F: ch = 0xFC; break; + case 0x20A7: ch = 0x9E; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221E: ch = 0xEC; break; + case 0x221F: ch = 0x1C; break; + case 0x2229: ch = 0xEF; break; + case 0x2248: ch = 0xF7; break; + case 0x2261: ch = 0xF0; break; + case 0x2264: ch = 0xF3; break; + case 0x2265: ch = 0xF2; break; + case 0x2302: ch = 0x7F; break; + case 0x2310: ch = 0xA9; break; + case 0x2320: ch = 0xF4; break; + case 0x2321: ch = 0xF5; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP862 + +public class ENCibm862 : CP862 +{ + public ENCibm862() : base() {} + +}; // class ENCibm862 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP864.cs b/mcs/class/I18N/Rare/CP864.cs new file mode 100644 index 00000000000..0ad86426477 --- /dev/null +++ b/mcs/class/I18N/Rare/CP864.cs @@ -0,0 +1,861 @@ +/* + * CP864.cs - Arabic (DOS) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-864.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP864 : ByteEncoding +{ + public CP864() + : base(864, ToChars, "Arabic (DOS)", + "ibm864", "ibm864", "ibm864", + false, false, false, false, 1256) + {} + + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u00B0', '\u00B7', '\u2219', '\u221A', + '\u2592', '\u2500', '\u2502', '\u253C', '\u2524', '\u252C', + '\u251C', '\u2534', '\u2510', '\u250C', '\u2514', '\u2518', + '\u03B2', '\u221E', '\u03C6', '\u00B1', '\u00BD', '\u00BC', + '\u2248', '\u00AB', '\u00BB', '\uFEF7', '\uFEF8', '\u003F', + '\u003F', '\uFEFB', '\uFEFC', '\u200B', '\u00A0', '\u00AD', + '\uFE82', '\u00A3', '\u00A4', '\uFE84', '\u003F', '\u003F', + '\uFE8E', '\uFE8F', '\uFE95', '\uFE99', '\u060C', '\uFE9D', + '\uFEA1', '\uFEA5', '\u0660', '\u0661', '\u0662', '\u0663', + '\u0664', '\u0665', '\u0666', '\u0667', '\u0668', '\u0669', + '\uFED1', '\u061B', '\uFEB1', '\uFEB5', '\uFEB9', '\u061F', + '\u00A2', '\uFE80', '\uFE81', '\uFE83', '\uFE85', '\uFECA', + '\uFE8B', '\uFE8D', '\uFE91', '\uFE93', '\uFE97', '\uFE9B', + '\uFE9F', '\uFEA3', '\uFEA7', '\uFEA9', '\uFEAB', '\uFEAD', + '\uFEAF', '\uFEB3', '\uFEB7', '\uFEBB', '\uFEBF', '\uFEC3', + '\uFEC7', '\uFECB', '\uFECF', '\u00A6', '\u00AC', '\u00F7', + '\u00D7', '\uFEC9', '\u0640', '\uFED3', '\uFED7', '\uFEDB', + '\uFEDF', '\uFEE3', '\uFEE7', '\uFEEB', '\uFEED', '\uFEEF', + '\uFEF3', '\uFEBD', '\uFECC', '\uFECE', '\uFECD', '\uFEE1', + '\uFE7D', '\uFE7C', '\uFEE5', '\uFEE9', '\uFEEC', '\uFEF0', + '\uFEF2', '\uFED0', '\uFED5', '\uFEF5', '\uFEF6', '\uFEDD', + '\uFED9', '\uFEF1', '\u25A0', '\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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + case 0x00A0: + case 0x00A3: + case 0x00A4: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A2: ch = 0xC0; break; + case 0x00A6: ch = 0xDB; break; + case 0x00A7: ch = 0x15; break; + case 0x00AB: ch = 0x97; break; + case 0x00AC: ch = 0xDC; break; + case 0x00AD: ch = 0xA1; break; + case 0x00B0: ch = 0x80; break; + case 0x00B1: ch = 0x93; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0x81; break; + case 0x00BB: ch = 0x98; break; + case 0x00BC: ch = 0x95; break; + case 0x00BD: ch = 0x94; break; + case 0x00D7: ch = 0xDE; break; + case 0x00F7: ch = 0xDD; break; + case 0x03B2: ch = 0x90; break; + case 0x03C6: ch = 0x92; break; + case 0x060C: ch = 0xAC; break; + case 0x061B: ch = 0xBB; break; + case 0x061F: ch = 0xBF; break; + case 0x0621: + case 0x0622: + case 0x0623: + case 0x0624: + ch -= 0x0560; + break; + case 0x0626: + case 0x0627: + case 0x0628: + case 0x0629: + case 0x062A: + case 0x062B: + case 0x062C: + case 0x062D: + case 0x062E: + case 0x062F: + case 0x0630: + case 0x0631: + case 0x0632: + case 0x0633: + case 0x0634: + case 0x0635: + case 0x0636: + case 0x0637: + case 0x0638: + case 0x0639: + case 0x063A: + ch -= 0x0560; + break; + case 0x0640: + case 0x0641: + case 0x0642: + case 0x0643: + case 0x0644: + case 0x0645: + case 0x0646: + case 0x0647: + case 0x0648: + case 0x0649: + ch -= 0x0560; + break; + case 0x064A: ch = 0xFD; break; + case 0x0651: ch = 0xF1; break; + case 0x0660: + case 0x0661: + case 0x0662: + case 0x0663: + case 0x0664: + case 0x0665: + case 0x0666: + case 0x0667: + case 0x0668: + case 0x0669: + ch -= 0x05B0; + break; + case 0x066A: ch = 0x25; break; + case 0x066B: ch = 0x2C; break; + case 0x066C: ch = 0x2E; break; + case 0x066D: ch = 0x2A; break; + case 0x200B: ch = 0x9F; break; + case 0x203C: ch = 0x13; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0x82; break; + case 0x221A: ch = 0x83; break; + case 0x221E: ch = 0x91; break; + case 0x221F: ch = 0x1C; break; + case 0x2248: ch = 0x96; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0x85; break; + case 0x2502: ch = 0x86; break; + case 0x250C: ch = 0x8D; break; + case 0x2510: ch = 0x8C; break; + case 0x2514: ch = 0x8E; break; + case 0x2518: ch = 0x8F; break; + case 0x251C: ch = 0x8A; break; + case 0x2524: ch = 0x88; break; + case 0x252C: ch = 0x89; break; + case 0x2534: ch = 0x8B; break; + case 0x253C: ch = 0x87; break; + case 0x2550: ch = 0x05; break; + case 0x2551: ch = 0x06; break; + case 0x2554: ch = 0x0D; break; + case 0x2557: ch = 0x0C; break; + case 0x255A: ch = 0x0E; break; + case 0x255D: ch = 0x0F; break; + case 0x2560: ch = 0x0A; break; + case 0x2563: ch = 0x08; break; + case 0x2566: ch = 0x09; break; + case 0x2569: ch = 0x0B; break; + case 0x256C: ch = 0x07; break; + case 0x2592: ch = 0x84; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x263A: ch = 0x01; break; + case 0x263C: ch = 0x04; break; + case 0x266A: ch = 0x02; break; + case 0x266C: ch = 0x03; break; + case 0xFE7C: ch = 0xF1; break; + case 0xFE7D: ch = 0xF0; break; + case 0xFE80: ch = 0xC1; break; + case 0xFE81: ch = 0xC2; break; + case 0xFE82: ch = 0xA2; break; + case 0xFE83: ch = 0xC3; break; + case 0xFE84: ch = 0xA5; break; + case 0xFE85: ch = 0xC4; break; + case 0xFE86: ch = 0xC4; break; + case 0xFE8B: ch = 0xC6; break; + case 0xFE8C: ch = 0xC6; break; + case 0xFE8D: ch = 0xC7; break; + case 0xFE8E: ch = 0xA8; break; + case 0xFE8F: ch = 0xA9; break; + case 0xFE90: ch = 0xA9; break; + case 0xFE91: ch = 0xC8; break; + case 0xFE92: ch = 0xC8; break; + case 0xFE93: ch = 0xC9; break; + case 0xFE94: ch = 0xC9; break; + case 0xFE95: ch = 0xAA; break; + case 0xFE96: ch = 0xAA; break; + case 0xFE97: ch = 0xCA; break; + case 0xFE98: ch = 0xCA; break; + case 0xFE99: ch = 0xAB; break; + case 0xFE9A: ch = 0xAB; break; + case 0xFE9B: ch = 0xCB; break; + case 0xFE9C: ch = 0xCB; break; + case 0xFE9D: ch = 0xAD; break; + case 0xFE9E: ch = 0xAD; break; + case 0xFE9F: ch = 0xCC; break; + case 0xFEA0: ch = 0xCC; break; + case 0xFEA1: ch = 0xAE; break; + case 0xFEA2: ch = 0xAE; break; + case 0xFEA3: ch = 0xCD; break; + case 0xFEA4: ch = 0xCD; break; + case 0xFEA5: ch = 0xAF; break; + case 0xFEA6: ch = 0xAF; break; + case 0xFEA7: ch = 0xCE; break; + case 0xFEA8: ch = 0xCE; break; + case 0xFEA9: ch = 0xCF; break; + case 0xFEAA: ch = 0xCF; break; + case 0xFEAB: ch = 0xD0; break; + case 0xFEAC: ch = 0xD0; break; + case 0xFEAD: ch = 0xD1; break; + case 0xFEAE: ch = 0xD1; break; + case 0xFEAF: ch = 0xD2; break; + case 0xFEB0: ch = 0xD2; break; + case 0xFEB1: ch = 0xBC; break; + case 0xFEB2: ch = 0xBC; break; + case 0xFEB3: ch = 0xD3; break; + case 0xFEB4: ch = 0xD3; break; + case 0xFEB5: ch = 0xBD; break; + case 0xFEB6: ch = 0xBD; break; + case 0xFEB7: ch = 0xD4; break; + case 0xFEB8: ch = 0xD4; break; + case 0xFEB9: ch = 0xBE; break; + case 0xFEBA: ch = 0xBE; break; + case 0xFEBB: ch = 0xD5; break; + case 0xFEBC: ch = 0xD5; break; + case 0xFEBD: ch = 0xEB; break; + case 0xFEBE: ch = 0xEB; break; + case 0xFEBF: ch = 0xD6; break; + case 0xFEC0: ch = 0xD6; break; + case 0xFEC1: ch = 0xD7; break; + case 0xFEC2: ch = 0xD7; break; + case 0xFEC3: ch = 0xD7; break; + case 0xFEC4: ch = 0xD7; break; + case 0xFEC5: ch = 0xD8; break; + case 0xFEC6: ch = 0xD8; break; + case 0xFEC7: ch = 0xD8; break; + case 0xFEC8: ch = 0xD8; break; + case 0xFEC9: ch = 0xDF; break; + case 0xFECA: ch = 0xC5; break; + case 0xFECB: ch = 0xD9; break; + case 0xFECC: ch = 0xEC; break; + case 0xFECD: ch = 0xEE; break; + case 0xFECE: ch = 0xED; break; + case 0xFECF: ch = 0xDA; break; + case 0xFED0: ch = 0xF7; break; + case 0xFED1: ch = 0xBA; break; + case 0xFED2: ch = 0xBA; break; + case 0xFED3: ch = 0xE1; break; + case 0xFED4: ch = 0xE1; break; + case 0xFED5: ch = 0xF8; break; + case 0xFED6: ch = 0xF8; break; + case 0xFED7: ch = 0xE2; break; + case 0xFED8: ch = 0xE2; break; + case 0xFED9: ch = 0xFC; break; + case 0xFEDA: ch = 0xFC; break; + case 0xFEDB: ch = 0xE3; break; + case 0xFEDC: ch = 0xE3; break; + case 0xFEDD: ch = 0xFB; break; + case 0xFEDE: ch = 0xFB; break; + case 0xFEDF: ch = 0xE4; break; + case 0xFEE0: ch = 0xE4; break; + case 0xFEE1: ch = 0xEF; break; + case 0xFEE2: ch = 0xEF; break; + case 0xFEE3: ch = 0xE5; break; + case 0xFEE4: ch = 0xE5; break; + case 0xFEE5: ch = 0xF2; break; + case 0xFEE6: ch = 0xF2; break; + case 0xFEE7: ch = 0xE6; break; + case 0xFEE8: ch = 0xE6; break; + case 0xFEE9: ch = 0xF3; break; + case 0xFEEA: ch = 0xF3; break; + case 0xFEEB: ch = 0xE7; break; + case 0xFEEC: ch = 0xF4; break; + case 0xFEED: ch = 0xE8; break; + case 0xFEEE: ch = 0xE8; break; + case 0xFEEF: ch = 0xE9; break; + case 0xFEF0: ch = 0xF5; break; + case 0xFEF1: ch = 0xFD; break; + case 0xFEF2: ch = 0xF6; break; + case 0xFEF3: ch = 0xEA; break; + case 0xFEF4: ch = 0xEA; break; + case 0xFEF5: ch = 0xF9; break; + case 0xFEF6: ch = 0xFA; break; + case 0xFEF7: ch = 0x99; break; + case 0xFEF8: ch = 0x9A; break; + case 0xFEFB: ch = 0x9D; break; + case 0xFEFC: ch = 0x9E; break; + case 0xFFE8: ch = 0x86; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + case 0x00A0: + case 0x00A3: + case 0x00A4: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A2: ch = 0xC0; break; + case 0x00A6: ch = 0xDB; break; + case 0x00A7: ch = 0x15; break; + case 0x00AB: ch = 0x97; break; + case 0x00AC: ch = 0xDC; break; + case 0x00AD: ch = 0xA1; break; + case 0x00B0: ch = 0x80; break; + case 0x00B1: ch = 0x93; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0x81; break; + case 0x00BB: ch = 0x98; break; + case 0x00BC: ch = 0x95; break; + case 0x00BD: ch = 0x94; break; + case 0x00D7: ch = 0xDE; break; + case 0x00F7: ch = 0xDD; break; + case 0x03B2: ch = 0x90; break; + case 0x03C6: ch = 0x92; break; + case 0x060C: ch = 0xAC; break; + case 0x061B: ch = 0xBB; break; + case 0x061F: ch = 0xBF; break; + case 0x0621: + case 0x0622: + case 0x0623: + case 0x0624: + ch -= 0x0560; + break; + case 0x0626: + case 0x0627: + case 0x0628: + case 0x0629: + case 0x062A: + case 0x062B: + case 0x062C: + case 0x062D: + case 0x062E: + case 0x062F: + case 0x0630: + case 0x0631: + case 0x0632: + case 0x0633: + case 0x0634: + case 0x0635: + case 0x0636: + case 0x0637: + case 0x0638: + case 0x0639: + case 0x063A: + ch -= 0x0560; + break; + case 0x0640: + case 0x0641: + case 0x0642: + case 0x0643: + case 0x0644: + case 0x0645: + case 0x0646: + case 0x0647: + case 0x0648: + case 0x0649: + ch -= 0x0560; + break; + case 0x064A: ch = 0xFD; break; + case 0x0651: ch = 0xF1; break; + case 0x0660: + case 0x0661: + case 0x0662: + case 0x0663: + case 0x0664: + case 0x0665: + case 0x0666: + case 0x0667: + case 0x0668: + case 0x0669: + ch -= 0x05B0; + break; + case 0x066A: ch = 0x25; break; + case 0x066B: ch = 0x2C; break; + case 0x066C: ch = 0x2E; break; + case 0x066D: ch = 0x2A; break; + case 0x200B: ch = 0x9F; break; + case 0x203C: ch = 0x13; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0x82; break; + case 0x221A: ch = 0x83; break; + case 0x221E: ch = 0x91; break; + case 0x221F: ch = 0x1C; break; + case 0x2248: ch = 0x96; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0x85; break; + case 0x2502: ch = 0x86; break; + case 0x250C: ch = 0x8D; break; + case 0x2510: ch = 0x8C; break; + case 0x2514: ch = 0x8E; break; + case 0x2518: ch = 0x8F; break; + case 0x251C: ch = 0x8A; break; + case 0x2524: ch = 0x88; break; + case 0x252C: ch = 0x89; break; + case 0x2534: ch = 0x8B; break; + case 0x253C: ch = 0x87; break; + case 0x2550: ch = 0x05; break; + case 0x2551: ch = 0x06; break; + case 0x2554: ch = 0x0D; break; + case 0x2557: ch = 0x0C; break; + case 0x255A: ch = 0x0E; break; + case 0x255D: ch = 0x0F; break; + case 0x2560: ch = 0x0A; break; + case 0x2563: ch = 0x08; break; + case 0x2566: ch = 0x09; break; + case 0x2569: ch = 0x0B; break; + case 0x256C: ch = 0x07; break; + case 0x2592: ch = 0x84; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x263A: ch = 0x01; break; + case 0x263C: ch = 0x04; break; + case 0x266A: ch = 0x02; break; + case 0x266C: ch = 0x03; break; + case 0xFE7C: ch = 0xF1; break; + case 0xFE7D: ch = 0xF0; break; + case 0xFE80: ch = 0xC1; break; + case 0xFE81: ch = 0xC2; break; + case 0xFE82: ch = 0xA2; break; + case 0xFE83: ch = 0xC3; break; + case 0xFE84: ch = 0xA5; break; + case 0xFE85: ch = 0xC4; break; + case 0xFE86: ch = 0xC4; break; + case 0xFE8B: ch = 0xC6; break; + case 0xFE8C: ch = 0xC6; break; + case 0xFE8D: ch = 0xC7; break; + case 0xFE8E: ch = 0xA8; break; + case 0xFE8F: ch = 0xA9; break; + case 0xFE90: ch = 0xA9; break; + case 0xFE91: ch = 0xC8; break; + case 0xFE92: ch = 0xC8; break; + case 0xFE93: ch = 0xC9; break; + case 0xFE94: ch = 0xC9; break; + case 0xFE95: ch = 0xAA; break; + case 0xFE96: ch = 0xAA; break; + case 0xFE97: ch = 0xCA; break; + case 0xFE98: ch = 0xCA; break; + case 0xFE99: ch = 0xAB; break; + case 0xFE9A: ch = 0xAB; break; + case 0xFE9B: ch = 0xCB; break; + case 0xFE9C: ch = 0xCB; break; + case 0xFE9D: ch = 0xAD; break; + case 0xFE9E: ch = 0xAD; break; + case 0xFE9F: ch = 0xCC; break; + case 0xFEA0: ch = 0xCC; break; + case 0xFEA1: ch = 0xAE; break; + case 0xFEA2: ch = 0xAE; break; + case 0xFEA3: ch = 0xCD; break; + case 0xFEA4: ch = 0xCD; break; + case 0xFEA5: ch = 0xAF; break; + case 0xFEA6: ch = 0xAF; break; + case 0xFEA7: ch = 0xCE; break; + case 0xFEA8: ch = 0xCE; break; + case 0xFEA9: ch = 0xCF; break; + case 0xFEAA: ch = 0xCF; break; + case 0xFEAB: ch = 0xD0; break; + case 0xFEAC: ch = 0xD0; break; + case 0xFEAD: ch = 0xD1; break; + case 0xFEAE: ch = 0xD1; break; + case 0xFEAF: ch = 0xD2; break; + case 0xFEB0: ch = 0xD2; break; + case 0xFEB1: ch = 0xBC; break; + case 0xFEB2: ch = 0xBC; break; + case 0xFEB3: ch = 0xD3; break; + case 0xFEB4: ch = 0xD3; break; + case 0xFEB5: ch = 0xBD; break; + case 0xFEB6: ch = 0xBD; break; + case 0xFEB7: ch = 0xD4; break; + case 0xFEB8: ch = 0xD4; break; + case 0xFEB9: ch = 0xBE; break; + case 0xFEBA: ch = 0xBE; break; + case 0xFEBB: ch = 0xD5; break; + case 0xFEBC: ch = 0xD5; break; + case 0xFEBD: ch = 0xEB; break; + case 0xFEBE: ch = 0xEB; break; + case 0xFEBF: ch = 0xD6; break; + case 0xFEC0: ch = 0xD6; break; + case 0xFEC1: ch = 0xD7; break; + case 0xFEC2: ch = 0xD7; break; + case 0xFEC3: ch = 0xD7; break; + case 0xFEC4: ch = 0xD7; break; + case 0xFEC5: ch = 0xD8; break; + case 0xFEC6: ch = 0xD8; break; + case 0xFEC7: ch = 0xD8; break; + case 0xFEC8: ch = 0xD8; break; + case 0xFEC9: ch = 0xDF; break; + case 0xFECA: ch = 0xC5; break; + case 0xFECB: ch = 0xD9; break; + case 0xFECC: ch = 0xEC; break; + case 0xFECD: ch = 0xEE; break; + case 0xFECE: ch = 0xED; break; + case 0xFECF: ch = 0xDA; break; + case 0xFED0: ch = 0xF7; break; + case 0xFED1: ch = 0xBA; break; + case 0xFED2: ch = 0xBA; break; + case 0xFED3: ch = 0xE1; break; + case 0xFED4: ch = 0xE1; break; + case 0xFED5: ch = 0xF8; break; + case 0xFED6: ch = 0xF8; break; + case 0xFED7: ch = 0xE2; break; + case 0xFED8: ch = 0xE2; break; + case 0xFED9: ch = 0xFC; break; + case 0xFEDA: ch = 0xFC; break; + case 0xFEDB: ch = 0xE3; break; + case 0xFEDC: ch = 0xE3; break; + case 0xFEDD: ch = 0xFB; break; + case 0xFEDE: ch = 0xFB; break; + case 0xFEDF: ch = 0xE4; break; + case 0xFEE0: ch = 0xE4; break; + case 0xFEE1: ch = 0xEF; break; + case 0xFEE2: ch = 0xEF; break; + case 0xFEE3: ch = 0xE5; break; + case 0xFEE4: ch = 0xE5; break; + case 0xFEE5: ch = 0xF2; break; + case 0xFEE6: ch = 0xF2; break; + case 0xFEE7: ch = 0xE6; break; + case 0xFEE8: ch = 0xE6; break; + case 0xFEE9: ch = 0xF3; break; + case 0xFEEA: ch = 0xF3; break; + case 0xFEEB: ch = 0xE7; break; + case 0xFEEC: ch = 0xF4; break; + case 0xFEED: ch = 0xE8; break; + case 0xFEEE: ch = 0xE8; break; + case 0xFEEF: ch = 0xE9; break; + case 0xFEF0: ch = 0xF5; break; + case 0xFEF1: ch = 0xFD; break; + case 0xFEF2: ch = 0xF6; break; + case 0xFEF3: ch = 0xEA; break; + case 0xFEF4: ch = 0xEA; break; + case 0xFEF5: ch = 0xF9; break; + case 0xFEF6: ch = 0xFA; break; + case 0xFEF7: ch = 0x99; break; + case 0xFEF8: ch = 0x9A; break; + case 0xFEFB: ch = 0x9D; break; + case 0xFEFC: ch = 0x9E; break; + case 0xFFE8: ch = 0x86; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP864 + +public class ENCibm864 : CP864 +{ + public ENCibm864() : base() {} + +}; // class ENCibm864 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP866.cs b/mcs/class/I18N/Rare/CP866.cs new file mode 100644 index 00000000000..a379477bc23 --- /dev/null +++ b/mcs/class/I18N/Rare/CP866.cs @@ -0,0 +1,689 @@ +/* + * CP866.cs - Russian (DOS) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-866.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP866 : ByteEncoding +{ + public CP866() + : base(866, ToChars, "Russian (DOS)", + "ibm866", "ibm866", "ibm866", + false, false, false, false, 1251) + {} + + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u0410', '\u0411', '\u0412', '\u0413', + '\u0414', '\u0415', '\u0416', '\u0417', '\u0418', '\u0419', + '\u041A', '\u041B', '\u041C', '\u041D', '\u041E', '\u041F', + '\u0420', '\u0421', '\u0422', '\u0423', '\u0424', '\u0425', + '\u0426', '\u0427', '\u0428', '\u0429', '\u042A', '\u042B', + '\u042C', '\u042D', '\u042E', '\u042F', '\u0430', '\u0431', + '\u0432', '\u0433', '\u0434', '\u0435', '\u0436', '\u0437', + '\u0438', '\u0439', '\u043A', '\u043B', '\u043C', '\u043D', + '\u043E', '\u043F', '\u2591', '\u2592', '\u2593', '\u2502', + '\u2524', '\u2561', '\u2562', '\u2556', '\u2555', '\u2563', + '\u2551', '\u2557', '\u255D', '\u255C', '\u255B', '\u2510', + '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', + '\u255E', '\u255F', '\u255A', '\u2554', '\u2569', '\u2566', + '\u2560', '\u2550', '\u256C', '\u2567', '\u2568', '\u2564', + '\u2565', '\u2559', '\u2558', '\u2552', '\u2553', '\u256B', + '\u256A', '\u2518', '\u250C', '\u2588', '\u2584', '\u258C', + '\u2590', '\u2580', '\u0440', '\u0441', '\u0442', '\u0443', + '\u0444', '\u0445', '\u0446', '\u0447', '\u0448', '\u0449', + '\u044A', '\u044B', '\u044C', '\u044D', '\u044E', '\u044F', + '\u0401', '\u0451', '\u0404', '\u0454', '\u0407', '\u0457', + '\u040E', '\u045E', '\u00B0', '\u2219', '\u00B7', '\u221A', + '\u2116', '\u00A4', '\u25A0', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A4: ch = 0xFD; break; + case 0x00A7: ch = 0x15; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0xFA; break; + case 0x0401: ch = 0xF0; break; + case 0x0404: ch = 0xF2; break; + case 0x0407: ch = 0xF4; break; + case 0x040E: ch = 0xF6; break; + case 0x0410: + case 0x0411: + case 0x0412: + case 0x0413: + case 0x0414: + case 0x0415: + case 0x0416: + case 0x0417: + case 0x0418: + case 0x0419: + case 0x041A: + case 0x041B: + case 0x041C: + case 0x041D: + case 0x041E: + case 0x041F: + case 0x0420: + case 0x0421: + case 0x0422: + case 0x0423: + case 0x0424: + case 0x0425: + case 0x0426: + case 0x0427: + case 0x0428: + case 0x0429: + case 0x042A: + case 0x042B: + case 0x042C: + case 0x042D: + case 0x042E: + case 0x042F: + case 0x0430: + case 0x0431: + case 0x0432: + case 0x0433: + case 0x0434: + case 0x0435: + case 0x0436: + case 0x0437: + case 0x0438: + case 0x0439: + case 0x043A: + case 0x043B: + case 0x043C: + case 0x043D: + case 0x043E: + case 0x043F: + ch -= 0x0390; + break; + case 0x0440: + case 0x0441: + case 0x0442: + case 0x0443: + case 0x0444: + case 0x0445: + case 0x0446: + case 0x0447: + case 0x0448: + case 0x0449: + case 0x044A: + case 0x044B: + case 0x044C: + case 0x044D: + case 0x044E: + case 0x044F: + ch -= 0x0360; + break; + case 0x0451: ch = 0xF1; break; + case 0x0454: ch = 0xF3; break; + case 0x0457: ch = 0xF5; break; + case 0x045E: ch = 0xF7; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x2116: ch = 0xFC; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A4: ch = 0xFD; break; + case 0x00A7: ch = 0x15; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0xFA; break; + case 0x0401: ch = 0xF0; break; + case 0x0404: ch = 0xF2; break; + case 0x0407: ch = 0xF4; break; + case 0x040E: ch = 0xF6; break; + case 0x0410: + case 0x0411: + case 0x0412: + case 0x0413: + case 0x0414: + case 0x0415: + case 0x0416: + case 0x0417: + case 0x0418: + case 0x0419: + case 0x041A: + case 0x041B: + case 0x041C: + case 0x041D: + case 0x041E: + case 0x041F: + case 0x0420: + case 0x0421: + case 0x0422: + case 0x0423: + case 0x0424: + case 0x0425: + case 0x0426: + case 0x0427: + case 0x0428: + case 0x0429: + case 0x042A: + case 0x042B: + case 0x042C: + case 0x042D: + case 0x042E: + case 0x042F: + case 0x0430: + case 0x0431: + case 0x0432: + case 0x0433: + case 0x0434: + case 0x0435: + case 0x0436: + case 0x0437: + case 0x0438: + case 0x0439: + case 0x043A: + case 0x043B: + case 0x043C: + case 0x043D: + case 0x043E: + case 0x043F: + ch -= 0x0390; + break; + case 0x0440: + case 0x0441: + case 0x0442: + case 0x0443: + case 0x0444: + case 0x0445: + case 0x0446: + case 0x0447: + case 0x0448: + case 0x0449: + case 0x044A: + case 0x044B: + case 0x044C: + case 0x044D: + case 0x044E: + case 0x044F: + ch -= 0x0360; + break; + case 0x0451: ch = 0xF1; break; + case 0x0454: ch = 0xF3; break; + case 0x0457: ch = 0xF5; break; + case 0x045E: ch = 0xF7; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x2116: ch = 0xFC; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP866 + +public class ENCibm866 : CP866 +{ + public ENCibm866() : base() {} + +}; // class ENCibm866 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP869.cs b/mcs/class/I18N/Rare/CP869.cs new file mode 100644 index 00000000000..443da7c1250 --- /dev/null +++ b/mcs/class/I18N/Rare/CP869.cs @@ -0,0 +1,681 @@ +/* + * CP869.cs - Greek (DOS) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-869.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP869 : ByteEncoding +{ + public CP869() + : base(869, ToChars, "Greek (DOS)", + "ibm869", "ibm869", "ibm869", + false, false, false, false, 1253) + {} + + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u003F', '\u003F', '\u003F', '\u003F', + '\u003F', '\u003F', '\u0386', '\u003F', '\u0387', '\u00AC', + '\u00A6', '\u2018', '\u2019', '\u0388', '\u2015', '\u0389', + '\u038A', '\u03AA', '\u038C', '\u003F', '\u003F', '\u038E', + '\u03AB', '\u00A9', '\u038F', '\u00B2', '\u00B3', '\u03AC', + '\u00A3', '\u03AD', '\u03AE', '\u03AF', '\u03CA', '\u0390', + '\u03CC', '\u03CD', '\u0391', '\u0392', '\u0393', '\u0394', + '\u0395', '\u0396', '\u0397', '\u00BD', '\u0398', '\u0399', + '\u00AB', '\u00BB', '\u2591', '\u2592', '\u2593', '\u2502', + '\u2524', '\u039A', '\u039B', '\u039C', '\u039D', '\u2563', + '\u2551', '\u2557', '\u255D', '\u039E', '\u039F', '\u2510', + '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', + '\u03A0', '\u03A1', '\u255A', '\u2554', '\u2569', '\u2566', + '\u2560', '\u2550', '\u256C', '\u03A3', '\u03A4', '\u03A5', + '\u03A6', '\u03A7', '\u03A8', '\u03A9', '\u03B1', '\u03B2', + '\u03B3', '\u2518', '\u250C', '\u2588', '\u2584', '\u03B4', + '\u03B5', '\u2580', '\u03B6', '\u03B7', '\u03B8', '\u03B9', + '\u03BA', '\u03BB', '\u03BC', '\u03BD', '\u03BE', '\u03BF', + '\u03C0', '\u03C1', '\u03C3', '\u03C2', '\u03C4', '\u00B4', + '\u00AD', '\u00B1', '\u03C5', '\u03C6', '\u03C7', '\u00A7', + '\u03C8', '\u0385', '\u00B0', '\u00A8', '\u03C9', '\u03CB', + '\u03B0', '\u03CE', '\u25A0', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A6: ch = 0x8A; break; + case 0x00A7: ch = 0xF5; break; + case 0x00A8: ch = 0xF9; break; + case 0x00A9: ch = 0x97; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0x89; break; + case 0x00AD: ch = 0xF0; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0x99; break; + case 0x00B3: ch = 0x9A; break; + case 0x00B4: ch = 0xEF; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0x88; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BD: ch = 0xAB; break; + case 0x0385: ch = 0xF7; break; + case 0x0386: ch = 0x86; break; + case 0x0387: ch = 0x88; break; + case 0x0388: ch = 0x8D; break; + case 0x0389: ch = 0x8F; break; + case 0x038A: ch = 0x90; break; + case 0x038C: ch = 0x92; break; + case 0x038E: ch = 0x95; break; + case 0x038F: ch = 0x98; break; + case 0x0390: ch = 0xA1; break; + case 0x0391: + case 0x0392: + case 0x0393: + case 0x0394: + case 0x0395: + case 0x0396: + case 0x0397: + ch -= 0x02ED; + break; + case 0x0398: ch = 0xAC; break; + case 0x0399: ch = 0xAD; break; + case 0x039A: + case 0x039B: + case 0x039C: + case 0x039D: + ch -= 0x02E5; + break; + case 0x039E: ch = 0xBD; break; + case 0x039F: ch = 0xBE; break; + case 0x03A0: ch = 0xC6; break; + case 0x03A1: ch = 0xC7; break; + case 0x03A3: + case 0x03A4: + case 0x03A5: + case 0x03A6: + case 0x03A7: + case 0x03A8: + case 0x03A9: + ch -= 0x02D4; + break; + case 0x03AA: ch = 0x91; break; + case 0x03AB: ch = 0x96; break; + case 0x03AC: ch = 0x9B; break; + case 0x03AD: ch = 0x9D; break; + case 0x03AE: ch = 0x9E; break; + case 0x03AF: ch = 0x9F; break; + case 0x03B0: ch = 0xFC; break; + case 0x03B1: ch = 0xD6; break; + case 0x03B2: ch = 0xD7; break; + case 0x03B3: ch = 0xD8; break; + case 0x03B4: ch = 0xDD; break; + case 0x03B5: ch = 0xDE; break; + case 0x03B6: + case 0x03B7: + case 0x03B8: + case 0x03B9: + case 0x03BA: + case 0x03BB: + case 0x03BC: + case 0x03BD: + case 0x03BE: + case 0x03BF: + case 0x03C0: + case 0x03C1: + ch -= 0x02D6; + break; + case 0x03C2: ch = 0xED; break; + case 0x03C3: ch = 0xEC; break; + case 0x03C4: ch = 0xEE; break; + case 0x03C5: ch = 0xF2; break; + case 0x03C6: ch = 0xF3; break; + case 0x03C7: ch = 0xF4; break; + case 0x03C8: ch = 0xF6; break; + case 0x03C9: ch = 0xFA; break; + case 0x03CA: ch = 0xA0; break; + case 0x03CB: ch = 0xFB; break; + case 0x03CC: ch = 0xA2; break; + case 0x03CD: ch = 0xA3; break; + case 0x03CE: ch = 0xFD; break; + case 0x03D5: ch = 0xF3; break; + case 0x2015: ch = 0x8E; break; + case 0x2018: ch = 0x8B; break; + case 0x2019: ch = 0x8C; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2554: ch = 0xC9; break; + case 0x2557: ch = 0xBB; break; + case 0x255A: ch = 0xC8; break; + case 0x255D: ch = 0xBC; break; + case 0x2560: ch = 0xCC; break; + case 0x2563: ch = 0xB9; break; + case 0x2566: ch = 0xCB; break; + case 0x2569: ch = 0xCA; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A6: ch = 0x8A; break; + case 0x00A7: ch = 0xF5; break; + case 0x00A8: ch = 0xF9; break; + case 0x00A9: ch = 0x97; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0x89; break; + case 0x00AD: ch = 0xF0; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0x99; break; + case 0x00B3: ch = 0x9A; break; + case 0x00B4: ch = 0xEF; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0x88; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BD: ch = 0xAB; break; + case 0x0385: ch = 0xF7; break; + case 0x0386: ch = 0x86; break; + case 0x0387: ch = 0x88; break; + case 0x0388: ch = 0x8D; break; + case 0x0389: ch = 0x8F; break; + case 0x038A: ch = 0x90; break; + case 0x038C: ch = 0x92; break; + case 0x038E: ch = 0x95; break; + case 0x038F: ch = 0x98; break; + case 0x0390: ch = 0xA1; break; + case 0x0391: + case 0x0392: + case 0x0393: + case 0x0394: + case 0x0395: + case 0x0396: + case 0x0397: + ch -= 0x02ED; + break; + case 0x0398: ch = 0xAC; break; + case 0x0399: ch = 0xAD; break; + case 0x039A: + case 0x039B: + case 0x039C: + case 0x039D: + ch -= 0x02E5; + break; + case 0x039E: ch = 0xBD; break; + case 0x039F: ch = 0xBE; break; + case 0x03A0: ch = 0xC6; break; + case 0x03A1: ch = 0xC7; break; + case 0x03A3: + case 0x03A4: + case 0x03A5: + case 0x03A6: + case 0x03A7: + case 0x03A8: + case 0x03A9: + ch -= 0x02D4; + break; + case 0x03AA: ch = 0x91; break; + case 0x03AB: ch = 0x96; break; + case 0x03AC: ch = 0x9B; break; + case 0x03AD: ch = 0x9D; break; + case 0x03AE: ch = 0x9E; break; + case 0x03AF: ch = 0x9F; break; + case 0x03B0: ch = 0xFC; break; + case 0x03B1: ch = 0xD6; break; + case 0x03B2: ch = 0xD7; break; + case 0x03B3: ch = 0xD8; break; + case 0x03B4: ch = 0xDD; break; + case 0x03B5: ch = 0xDE; break; + case 0x03B6: + case 0x03B7: + case 0x03B8: + case 0x03B9: + case 0x03BA: + case 0x03BB: + case 0x03BC: + case 0x03BD: + case 0x03BE: + case 0x03BF: + case 0x03C0: + case 0x03C1: + ch -= 0x02D6; + break; + case 0x03C2: ch = 0xED; break; + case 0x03C3: ch = 0xEC; break; + case 0x03C4: ch = 0xEE; break; + case 0x03C5: ch = 0xF2; break; + case 0x03C6: ch = 0xF3; break; + case 0x03C7: ch = 0xF4; break; + case 0x03C8: ch = 0xF6; break; + case 0x03C9: ch = 0xFA; break; + case 0x03CA: ch = 0xA0; break; + case 0x03CB: ch = 0xFB; break; + case 0x03CC: ch = 0xA2; break; + case 0x03CD: ch = 0xA3; break; + case 0x03CE: ch = 0xFD; break; + case 0x03D5: ch = 0xF3; break; + case 0x2015: ch = 0x8E; break; + case 0x2018: ch = 0x8B; break; + case 0x2019: ch = 0x8C; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2554: ch = 0xC9; break; + case 0x2557: ch = 0xBB; break; + case 0x255A: ch = 0xC8; break; + case 0x255D: ch = 0xBC; break; + case 0x2560: ch = 0xCC; break; + case 0x2563: ch = 0xB9; break; + case 0x2566: ch = 0xCB; break; + case 0x2569: ch = 0xCA; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP869 + +public class ENCibm869 : CP869 +{ + public ENCibm869() : base() {} + +}; // class ENCibm869 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP870.cs b/mcs/class/I18N/Rare/CP870.cs new file mode 100644 index 00000000000..2bd8a401db4 --- /dev/null +++ b/mcs/class/I18N/Rare/CP870.cs @@ -0,0 +1,895 @@ +/* + * CP870.cs - IBM EBCDIC (Latin 2) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-870.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP870 : ByteEncoding +{ + public CP870() + : base(870, ToChars, "IBM EBCDIC (Latin 2)", + "ibm870", "ibm870", "ibm870", + false, false, false, false, 1250) + {} + + 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', '\u0163', '\u00E1', '\u0103', '\u010D', + '\u00E7', '\u0107', '\u005B', '\u002E', '\u003C', '\u0028', + '\u002B', '\u0021', '\u0026', '\u00E9', '\u0119', '\u00EB', + '\u016F', '\u00ED', '\u00EE', '\u013E', '\u013A', '\u00DF', + '\u005D', '\u0024', '\u002A', '\u0029', '\u003B', '\u005E', + '\u002D', '\u002F', '\u00C2', '\u00C4', '\u02DD', '\u00C1', + '\u0102', '\u010C', '\u00C7', '\u0106', '\u007C', '\u002C', + '\u0025', '\u005F', '\u003E', '\u003F', '\u02C7', '\u00C9', + '\u0118', '\u00CB', '\u016E', '\u00CD', '\u00CE', '\u013D', + '\u0139', '\u0060', '\u003A', '\u0023', '\u0040', '\u0027', + '\u003D', '\u0022', '\u02D8', '\u0061', '\u0062', '\u0063', + '\u0064', '\u0065', '\u0066', '\u0067', '\u0068', '\u0069', + '\u015B', '\u0148', '\u0111', '\u00FD', '\u0159', '\u015F', + '\u00B0', '\u006A', '\u006B', '\u006C', '\u006D', '\u006E', + '\u006F', '\u0070', '\u0071', '\u0072', '\u0142', '\u0144', + '\u0161', '\u00B8', '\u02DB', '\u00A4', '\u0105', '\u007E', + '\u0073', '\u0074', '\u0075', '\u0076', '\u0077', '\u0078', + '\u0079', '\u007A', '\u015A', '\u0147', '\u0110', '\u00DD', + '\u0158', '\u015E', '\u02D9', '\u0104', '\u017C', '\u0162', + '\u017B', '\u00A7', '\u017E', '\u017A', '\u017D', '\u0179', + '\u0141', '\u0143', '\u0160', '\u00A8', '\u00B4', '\u00D7', + '\u007B', '\u0041', '\u0042', '\u0043', '\u0044', '\u0045', + '\u0046', '\u0047', '\u0048', '\u0049', '\u00AD', '\u00F4', + '\u00F6', '\u0155', '\u00F3', '\u0151', '\u007D', '\u004A', + '\u004B', '\u004C', '\u004D', '\u004E', '\u004F', '\u0050', + '\u0051', '\u0052', '\u011A', '\u0171', '\u00FC', '\u0165', + '\u00FA', '\u011B', '\u005C', '\u00F7', '\u0053', '\u0054', + '\u0055', '\u0056', '\u0057', '\u0058', '\u0059', '\u005A', + '\u010F', '\u00D4', '\u00D6', '\u0154', '\u00D3', '\u0150', + '\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035', + '\u0036', '\u0037', '\u0038', '\u0039', '\u010E', '\u0170', + '\u00DC', '\u0164', '\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: + 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 0x00A4: ch = 0x9F; break; + case 0x00A7: ch = 0xB5; break; + case 0x00A8: ch = 0xBD; break; + case 0x00AD: ch = 0xCA; break; + case 0x00B0: ch = 0x90; break; + case 0x00B4: ch = 0xBE; break; + case 0x00B8: ch = 0x9D; break; + case 0x00C1: ch = 0x65; break; + case 0x00C2: ch = 0x62; break; + case 0x00C4: ch = 0x63; break; + case 0x00C7: ch = 0x68; break; + case 0x00C9: ch = 0x71; break; + case 0x00CB: ch = 0x73; break; + case 0x00CD: ch = 0x75; break; + case 0x00CE: ch = 0x76; break; + case 0x00D0: ch = 0xAC; break; + case 0x00D3: ch = 0xEE; break; + case 0x00D4: ch = 0xEB; break; + case 0x00D6: ch = 0xEC; break; + case 0x00D7: ch = 0xBF; break; + case 0x00DA: ch = 0xFE; break; + case 0x00DC: ch = 0xFC; break; + case 0x00DD: ch = 0xAD; break; + case 0x00DF: ch = 0x59; break; + case 0x00E1: ch = 0x45; break; + case 0x00E2: ch = 0x42; break; + case 0x00E4: ch = 0x43; break; + case 0x00E7: ch = 0x48; break; + case 0x00E9: ch = 0x51; break; + case 0x00EB: ch = 0x53; break; + case 0x00ED: ch = 0x55; break; + case 0x00EE: ch = 0x56; break; + case 0x00F3: ch = 0xCE; break; + case 0x00F4: ch = 0xCB; break; + case 0x00F6: ch = 0xCC; break; + case 0x00F7: ch = 0xE1; break; + case 0x00FA: ch = 0xDE; break; + case 0x00FC: ch = 0xDC; break; + case 0x00FD: ch = 0x8D; break; + case 0x0102: ch = 0x66; break; + case 0x0103: ch = 0x46; break; + case 0x0104: ch = 0xB1; break; + case 0x0105: ch = 0xA0; break; + case 0x0106: ch = 0x69; break; + case 0x0107: ch = 0x49; break; + case 0x010C: ch = 0x67; break; + case 0x010D: ch = 0x47; break; + case 0x010E: ch = 0xFA; break; + case 0x010F: ch = 0xEA; break; + case 0x0110: ch = 0xAC; break; + case 0x0111: ch = 0x8C; break; + case 0x0118: ch = 0x72; break; + case 0x0119: ch = 0x52; break; + case 0x011A: ch = 0xDA; break; + case 0x011B: ch = 0xDF; break; + case 0x0139: ch = 0x78; break; + case 0x013A: ch = 0x58; break; + case 0x013D: ch = 0x77; break; + case 0x013E: ch = 0x57; break; + case 0x0141: ch = 0xBA; break; + case 0x0142: ch = 0x9A; break; + case 0x0143: ch = 0xBB; break; + case 0x0144: ch = 0x9B; break; + case 0x0147: ch = 0xAB; break; + case 0x0148: ch = 0x8B; break; + case 0x0150: ch = 0xEF; break; + case 0x0151: ch = 0xCF; break; + case 0x0154: ch = 0xED; break; + case 0x0155: ch = 0xCD; break; + case 0x0158: ch = 0xAE; break; + case 0x0159: ch = 0x8E; break; + case 0x015A: ch = 0xAA; break; + case 0x015B: ch = 0x8A; break; + case 0x015E: ch = 0xAF; break; + case 0x015F: ch = 0x8F; break; + case 0x0160: ch = 0xBC; break; + case 0x0161: ch = 0x9C; break; + case 0x0162: ch = 0xB3; break; + case 0x0163: ch = 0x44; break; + case 0x0164: ch = 0xFD; break; + case 0x0165: ch = 0xDD; break; + case 0x016E: ch = 0x74; break; + case 0x016F: ch = 0x54; break; + case 0x0170: ch = 0xFB; break; + case 0x0171: ch = 0xDB; break; + case 0x0179: ch = 0xB9; break; + case 0x017A: ch = 0xB7; break; + case 0x017B: ch = 0xB4; break; + case 0x017C: ch = 0xB2; break; + case 0x017D: ch = 0xB8; break; + case 0x017E: ch = 0xB6; break; + case 0x02C7: ch = 0x70; break; + case 0x02D8: ch = 0x80; break; + case 0x02D9: ch = 0xB0; break; + case 0x02DB: ch = 0x9E; break; + case 0x02DD: ch = 0x64; 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 0x00A4: ch = 0x9F; break; + case 0x00A7: ch = 0xB5; break; + case 0x00A8: ch = 0xBD; break; + case 0x00AD: ch = 0xCA; break; + case 0x00B0: ch = 0x90; break; + case 0x00B4: ch = 0xBE; break; + case 0x00B8: ch = 0x9D; break; + case 0x00C1: ch = 0x65; break; + case 0x00C2: ch = 0x62; break; + case 0x00C4: ch = 0x63; break; + case 0x00C7: ch = 0x68; break; + case 0x00C9: ch = 0x71; break; + case 0x00CB: ch = 0x73; break; + case 0x00CD: ch = 0x75; break; + case 0x00CE: ch = 0x76; break; + case 0x00D0: ch = 0xAC; break; + case 0x00D3: ch = 0xEE; break; + case 0x00D4: ch = 0xEB; break; + case 0x00D6: ch = 0xEC; break; + case 0x00D7: ch = 0xBF; break; + case 0x00DA: ch = 0xFE; break; + case 0x00DC: ch = 0xFC; break; + case 0x00DD: ch = 0xAD; break; + case 0x00DF: ch = 0x59; break; + case 0x00E1: ch = 0x45; break; + case 0x00E2: ch = 0x42; break; + case 0x00E4: ch = 0x43; break; + case 0x00E7: ch = 0x48; break; + case 0x00E9: ch = 0x51; break; + case 0x00EB: ch = 0x53; break; + case 0x00ED: ch = 0x55; break; + case 0x00EE: ch = 0x56; break; + case 0x00F3: ch = 0xCE; break; + case 0x00F4: ch = 0xCB; break; + case 0x00F6: ch = 0xCC; break; + case 0x00F7: ch = 0xE1; break; + case 0x00FA: ch = 0xDE; break; + case 0x00FC: ch = 0xDC; break; + case 0x00FD: ch = 0x8D; break; + case 0x0102: ch = 0x66; break; + case 0x0103: ch = 0x46; break; + case 0x0104: ch = 0xB1; break; + case 0x0105: ch = 0xA0; break; + case 0x0106: ch = 0x69; break; + case 0x0107: ch = 0x49; break; + case 0x010C: ch = 0x67; break; + case 0x010D: ch = 0x47; break; + case 0x010E: ch = 0xFA; break; + case 0x010F: ch = 0xEA; break; + case 0x0110: ch = 0xAC; break; + case 0x0111: ch = 0x8C; break; + case 0x0118: ch = 0x72; break; + case 0x0119: ch = 0x52; break; + case 0x011A: ch = 0xDA; break; + case 0x011B: ch = 0xDF; break; + case 0x0139: ch = 0x78; break; + case 0x013A: ch = 0x58; break; + case 0x013D: ch = 0x77; break; + case 0x013E: ch = 0x57; break; + case 0x0141: ch = 0xBA; break; + case 0x0142: ch = 0x9A; break; + case 0x0143: ch = 0xBB; break; + case 0x0144: ch = 0x9B; break; + case 0x0147: ch = 0xAB; break; + case 0x0148: ch = 0x8B; break; + case 0x0150: ch = 0xEF; break; + case 0x0151: ch = 0xCF; break; + case 0x0154: ch = 0xED; break; + case 0x0155: ch = 0xCD; break; + case 0x0158: ch = 0xAE; break; + case 0x0159: ch = 0x8E; break; + case 0x015A: ch = 0xAA; break; + case 0x015B: ch = 0x8A; break; + case 0x015E: ch = 0xAF; break; + case 0x015F: ch = 0x8F; break; + case 0x0160: ch = 0xBC; break; + case 0x0161: ch = 0x9C; break; + case 0x0162: ch = 0xB3; break; + case 0x0163: ch = 0x44; break; + case 0x0164: ch = 0xFD; break; + case 0x0165: ch = 0xDD; break; + case 0x016E: ch = 0x74; break; + case 0x016F: ch = 0x54; break; + case 0x0170: ch = 0xFB; break; + case 0x0171: ch = 0xDB; break; + case 0x0179: ch = 0xB9; break; + case 0x017A: ch = 0xB7; break; + case 0x017B: ch = 0xB4; break; + case 0x017C: ch = 0xB2; break; + case 0x017D: ch = 0xB8; break; + case 0x017E: ch = 0xB6; break; + case 0x02C7: ch = 0x70; break; + case 0x02D8: ch = 0x80; break; + case 0x02D9: ch = 0xB0; break; + case 0x02DB: ch = 0x9E; break; + case 0x02DD: ch = 0x64; 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 CP870 + +public class ENCibm870 : CP870 +{ + public ENCibm870() : base() {} + +}; // class ENCibm870 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/CP875.cs b/mcs/class/I18N/Rare/CP875.cs new file mode 100644 index 00000000000..7b3d7b64045 --- /dev/null +++ b/mcs/class/I18N/Rare/CP875.cs @@ -0,0 +1,913 @@ +/* + * CP875.cs - IBM EBCDIC (Greek) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-875.ucm". + +namespace I18N.Rare +{ + +using System; +using I18N.Common; + +public class CP875 : ByteEncoding +{ + public CP875() + : base(875, ToChars, "IBM EBCDIC (Greek)", + "ibm875", "ibm875", "ibm875", + 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 CP875 + +public class ENCibm875 : CP875 +{ + public ENCibm875() : base() {} + +}; // class ENCibm875 + +}; // namespace I18N.Rare diff --git a/mcs/class/I18N/Rare/ibm-1025.ucm b/mcs/class/I18N/Rare/ibm-1025.ucm new file mode 100644 index 00000000000..8119517f647 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1025.ucm @@ -0,0 +1,371 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2001, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created by rptp2ucm (compiled on Feb 23 2001) +# from source files 34B00401.RPMAP100 and 040134B0.TPMAP100 +# +<code_set_name> "ibm-1025_P100-2000" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +<icu:charsetFamily> "EBCDIC" +<icu:alias> "ibm-1025_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 +<U00A7> \xE1 |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 +<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 diff --git a/mcs/class/I18N/Rare/ibm-1026.ucm b/mcs/class/I18N/Rare/ibm-1026.ucm new file mode 100644 index 00000000000..d496f0b09c7 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1026.ucm @@ -0,0 +1,372 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2001, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created by rptp2ucm (compiled on Feb 23 2001) +# from source files 34B00402.RPMAP100 and 040234B0.TPMAP100 +# +<code_set_name> "ibm-1026_P100-2000" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +<icu:charsetFamily> "EBCDIC" +<icu:alias> "ibm-1026_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> \xFC |0 +<U0023> \xEC |0 +<U0024> \xAD |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> \xAE |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> \x68 |0 +<U005C> \xDC |0 +<U005D> \xAC |0 +<U005E> \x5F |0 +<U005F> \x6D |0 +<U0060> \x8D |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> \x48 |0 +<U007C> \xBB |0 +<U007D> \x8C |0 +<U007E> \xCC |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> \xB0 |0 +<U00A3> \xB1 |0 +<U00A4> \x9F |0 +<U00A5> \xB2 |0 +<U00A6> \x8E |0 +<U00A7> \xB5 |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |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> \x4A |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 +<U00D1> \x69 |0 +<U00D2> \xED |0 +<U00D3> \xEE |0 +<U00D4> \xEB |0 +<U00D5> \xEF |0 +<U00D6> \x7B |0 +<U00D7> \xBF |0 +<U00D8> \x80 |0 +<U00D9> \xFD |0 +<U00DA> \xFE |0 +<U00DB> \xFB |0 +<U00DC> \x7F |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> \xC0 |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 +<U00F1> \x49 |0 +<U00F2> \xCD |0 +<U00F3> \xCE |0 +<U00F4> \xCB |0 +<U00F5> \xCF |0 +<U00F6> \xA1 |0 +<U00F7> \xE1 |0 +<U00F8> \x70 |0 +<U00F9> \xDD |0 +<U00FA> \xDE |0 +<U00FB> \xDB |0 +<U00FC> \xE0 |0 +<U00FF> \xDF |0 +<U011E> \x5A |0 +<U011F> \xD0 |0 +<U0130> \x5B |0 +<U0131> \x79 |0 +<U015E> \x7C |0 +<U015F> \x6A |0 +<U203E> \xBC |1 +<UFF01> \x4F |1 +<UFF02> \xFC |1 +<UFF03> \xEC |1 +<UFF04> \xAD |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> \xAE |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> \x68 |1 +<UFF3C> \xDC |1 +<UFF3D> \xAC |1 +<UFF3E> \x5F |1 +<UFF3F> \x6D |1 +<UFF40> \x8D |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> \x48 |1 +<UFF5C> \xBB |1 +<UFF5D> \x8C |1 +<UFF5E> \xCC |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-1047.ucm b/mcs/class/I18N/Rare/ibm-1047.ucm new file mode 100644 index 00000000000..6a71dff1f8d --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1047.ucm @@ -0,0 +1,378 @@ +# ******************************************************************************* +# * +# * 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 +<U00A4> \x9F |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 +<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 diff --git a/mcs/class/I18N/Rare/ibm-1089.ucm b/mcs/class/I18N/Rare/ibm-1089.ucm new file mode 100644 index 00000000000..3356cdfa543 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1089.ucm @@ -0,0 +1,477 @@ +# ******************************************************************************* +# * +# * 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 34B00441.RPMAP100 and 044134B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-1089" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-1089 +#_________ _________ +<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 +<U0080> \x80 |0 +<U0081> \x81 |0 +<U0082> \x82 |0 +<U0083> \x83 |0 +<U0084> \x84 |0 +<U0085> \x85 |0 +<U0086> \x86 |0 +<U0087> \x87 |0 +<U0088> \x88 |0 +<U0089> \x89 |0 +<U008A> \x8A |0 +<U008B> \x8B |0 +<U008C> \x8C |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U0091> \x91 |0 +<U0092> \x92 |0 +<U0093> \x93 |0 +<U0094> \x94 |0 +<U0095> \x95 |0 +<U0096> \x96 |0 +<U0097> \x97 |0 +<U0098> \x98 |0 +<U0099> \x99 |0 +<U009A> \x9A |0 +<U009B> \x9B |0 +<U009C> \x9C |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U009F> \x9F |0 +<U00A0> \xA0 |0 +<U00A4> \xA4 |0 +<U00AD> \xAD |0 +<U060C> \xAC |0 +<U061B> \xBB |0 +<U061F> \xBF |0 +<U0621> \xC1 |0 +<U0622> \xC2 |0 +<U0623> \xC3 |0 +<U0624> \xC4 |0 +<U0625> \xC5 |0 +<U0626> \xC6 |0 +<U0627> \xC7 |0 +<U0628> \xC8 |0 +<U0629> \xC9 |0 +<U062A> \xCA |0 +<U062B> \xCB |0 +<U062C> \xCC |0 +<U062D> \xCD |0 +<U062E> \xCE |0 +<U062F> \xCF |0 +<U0630> \xD0 |0 +<U0631> \xD1 |0 +<U0632> \xD2 |0 +<U0633> \xD3 |0 +<U0634> \xD4 |0 +<U0635> \xD5 |0 +<U0636> \xD6 |0 +<U0637> \xD7 |0 +<U0638> \xD8 |0 +<U0639> \xD9 |0 +<U063A> \xDA |0 +<U0640> \xE0 |0 +<U0641> \xE1 |0 +<U0642> \xE2 |0 +<U0643> \xE3 |0 +<U0644> \xE4 |0 +<U0645> \xE5 |0 +<U0646> \xE6 |0 +<U0647> \xE7 |0 +<U0648> \xE8 |0 +<U0649> \xE9 |0 +<U064A> \xEA |0 +<U064B> \xEB |0 +<U064C> \xEC |0 +<U064D> \xED |0 +<U064E> \xEE |0 +<U064F> \xEF |0 +<U0650> \xF0 |0 +<U0651> \xF1 |0 +<U0652> \xF2 |0 +<U0660> \x30 |1 +<U0661> \x31 |1 +<U0662> \x32 |1 +<U0663> \x33 |1 +<U0664> \x34 |1 +<U0665> \x35 |1 +<U0666> \x36 |1 +<U0667> \x37 |1 +<U0668> \x38 |1 +<U0669> \x39 |1 +<U066A> \x25 |1 +<U066B> \x2C |1 +<U066C> \x2E |1 +<U066D> \x2A |1 +<UFE70> \xEB |1 +<UFE71> \xEB |1 +<UFE72> \xEC |1 +<UFE74> \xED |1 +<UFE76> \xEE |1 +<UFE77> \xEE |1 +<UFE78> \xEF |1 +<UFE79> \xEF |1 +<UFE7A> \xF0 |1 +<UFE7B> \xF0 |1 +<UFE7C> \xF1 |1 +<UFE7D> \xF1 |1 +<UFE7E> \xF2 |1 +<UFE7F> \xF2 |1 +<UFE80> \xC1 |1 +<UFE81> \xC2 |1 +<UFE82> \xC2 |1 +<UFE83> \xC3 |1 +<UFE84> \xC3 |1 +<UFE85> \xC4 |1 +<UFE86> \xC4 |1 +<UFE87> \xC5 |1 +<UFE88> \xC5 |1 +<UFE89> \xC6 |1 +<UFE8A> \xC6 |1 +<UFE8B> \xC6 |1 +<UFE8C> \xC6 |1 +<UFE8D> \xC7 |1 +<UFE8E> \xC7 |1 +<UFE8F> \xC8 |1 +<UFE90> \xC8 |1 +<UFE91> \xC8 |1 +<UFE92> \xC8 |1 +<UFE93> \xC9 |1 +<UFE94> \xC9 |1 +<UFE95> \xCA |1 +<UFE96> \xCA |1 +<UFE97> \xCA |1 +<UFE98> \xCA |1 +<UFE99> \xCB |1 +<UFE9A> \xCB |1 +<UFE9B> \xCB |1 +<UFE9C> \xCB |1 +<UFE9D> \xCC |1 +<UFE9E> \xCC |1 +<UFE9F> \xCC |1 +<UFEA0> \xCC |1 +<UFEA1> \xCD |1 +<UFEA2> \xCD |1 +<UFEA3> \xCD |1 +<UFEA4> \xCD |1 +<UFEA5> \xCE |1 +<UFEA6> \xCE |1 +<UFEA7> \xCE |1 +<UFEA8> \xCE |1 +<UFEA9> \xCF |1 +<UFEAA> \xCF |1 +<UFEAB> \xD0 |1 +<UFEAC> \xD0 |1 +<UFEAD> \xD1 |1 +<UFEAE> \xD1 |1 +<UFEAF> \xD2 |1 +<UFEB0> \xD2 |1 +<UFEB1> \xD3 |1 +<UFEB2> \xD3 |1 +<UFEB3> \xD3 |1 +<UFEB4> \xD3 |1 +<UFEB5> \xD4 |1 +<UFEB6> \xD4 |1 +<UFEB7> \xD4 |1 +<UFEB8> \xD4 |1 +<UFEB9> \xD5 |1 +<UFEBA> \xD5 |1 +<UFEBB> \xD5 |1 +<UFEBC> \xD5 |1 +<UFEBD> \xD6 |1 +<UFEBE> \xD6 |1 +<UFEBF> \xD6 |1 +<UFEC0> \xD6 |1 +<UFEC1> \xD7 |1 +<UFEC2> \xD7 |1 +<UFEC3> \xD7 |1 +<UFEC4> \xD7 |1 +<UFEC5> \xD8 |1 +<UFEC6> \xD8 |1 +<UFEC7> \xD8 |1 +<UFEC8> \xD8 |1 +<UFEC9> \xD9 |1 +<UFECA> \xD9 |1 +<UFECB> \xD9 |1 +<UFECC> \xD9 |1 +<UFECD> \xDA |1 +<UFECE> \xDA |1 +<UFECF> \xDA |1 +<UFED0> \xDA |1 +<UFED1> \xE1 |1 +<UFED2> \xE1 |1 +<UFED3> \xE1 |1 +<UFED4> \xE1 |1 +<UFED5> \xE2 |1 +<UFED6> \xE2 |1 +<UFED7> \xE2 |1 +<UFED8> \xE2 |1 +<UFED9> \xE3 |1 +<UFEDA> \xE3 |1 +<UFEDB> \xE3 |1 +<UFEDC> \xE3 |1 +<UFEDD> \xE4 |1 +<UFEDE> \xE4 |1 +<UFEDF> \xE4 |1 +<UFEE0> \xE4 |1 +<UFEE1> \xE5 |1 +<UFEE2> \xE5 |1 +<UFEE3> \xE5 |1 +<UFEE4> \xE5 |1 +<UFEE5> \xE6 |1 +<UFEE6> \xE6 |1 +<UFEE7> \xE6 |1 +<UFEE8> \xE6 |1 +<UFEE9> \xE7 |1 +<UFEEA> \xE7 |1 +<UFEEB> \xE7 |1 +<UFEEC> \xE7 |1 +<UFEED> \xE8 |1 +<UFEEE> \xE8 |1 +<UFEEF> \xE9 |1 +<UFEF0> \xE9 |1 +<UFEF1> \xEA |1 +<UFEF2> \xEA |1 +<UFEF3> \xEA |1 +<UFEF4> \xEA |1 +<UFF01> \x21 |1 +<UFF02> \x22 |1 +<UFF03> \x23 |1 +<UFF04> \x24 |1 +<UFF05> \x25 |1 +<UFF06> \x26 |1 +<UFF07> \x27 |1 +<UFF08> \x28 |1 +<UFF09> \x29 |1 +<UFF0A> \x2A |1 +<UFF0B> \x2B |1 +<UFF0C> \x2C |1 +<UFF0D> \x2D |1 +<UFF0E> \x2E |1 +<UFF0F> \x2F |1 +<UFF10> \x30 |1 +<UFF11> \x31 |1 +<UFF12> \x32 |1 +<UFF13> \x33 |1 +<UFF14> \x34 |1 +<UFF15> \x35 |1 +<UFF16> \x36 |1 +<UFF17> \x37 |1 +<UFF18> \x38 |1 +<UFF19> \x39 |1 +<UFF1A> \x3A |1 +<UFF1B> \x3B |1 +<UFF1C> \x3C |1 +<UFF1D> \x3D |1 +<UFF1E> \x3E |1 +<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 diff --git a/mcs/class/I18N/Rare/ibm-1140.ucm b/mcs/class/I18N/Rare/ibm-1140.ucm new file mode 100644 index 00000000000..973f69dced4 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1140.ucm @@ -0,0 +1,378 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1997-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 44B00474.RPMAP100 and 047444B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-1140" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-1140 +#_________ _________ +<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> \xBA |0 +<U005C> \xE0 |0 +<U005D> \xBB |0 +<U005E> \xB0 |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> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \x5F |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> \xAD |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 |0 +<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> \xBA |1 +<UFF3C> \xE0 |1 +<UFF3D> \xBB |1 +<UFF3E> \xB0 |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 diff --git a/mcs/class/I18N/Rare/ibm-1141.ucm b/mcs/class/I18N/Rare/ibm-1141.ucm new file mode 100644 index 00000000000..9672405a6cc --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1141.ucm @@ -0,0 +1,378 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1997-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 44B00475.RPMAP100 and 047544B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-1141" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-1141 +#_________ _________ +<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> \xB5 |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> \x63 |0 +<U005C> \xEC |0 +<U005D> \xFC |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> \x43 |0 +<U007C> \xBB |0 +<U007D> \xDC |0 +<U007E> \x59 |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> \xB0 |0 +<U00A3> \xB1 |0 +<U00A5> \xB2 |0 +<U00A6> \xCC |0 +<U00A7> \x7C |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |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> \x4A |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> \xE0 |0 +<U00D7> \xBF |0 +<U00D8> \x80 |0 +<U00D9> \xFD |0 +<U00DA> \xFE |0 +<U00DB> \xFB |0 +<U00DC> \x5A |0 +<U00DD> \xAD |0 +<U00DE> \xAE |0 +<U00DF> \xA1 |0 +<U00E0> \x44 |0 +<U00E1> \x45 |0 +<U00E2> \x42 |0 +<U00E3> \x46 |0 +<U00E4> \xC0 |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> \x6A |0 +<U00F7> \xE1 |0 +<U00F8> \x70 |0 +<U00F9> \xDD |0 +<U00FA> \xDE |0 +<U00FB> \xDB |0 +<U00FC> \xD0 |0 +<U00FD> \x8D |0 +<U00FE> \x8E |0 +<U00FF> \xDF |0 +<U203E> \xBC |1 +<U20AC> \x9F |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> \xB5 |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> \x63 |1 +<UFF3C> \xEC |1 +<UFF3D> \xFC |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> \x43 |1 +<UFF5C> \xBB |1 +<UFF5D> \xDC |1 +<UFF5E> \x59 |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-1142.ucm b/mcs/class/I18N/Rare/ibm-1142.ucm new file mode 100644 index 00000000000..577090426d8 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1142.ucm @@ -0,0 +1,378 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1997-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Fri Nov 10 13:07:48 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B00476.RPMAP100 and 047644B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-1142" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-1142 +#_________ _________ +<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> \x4A |0 +<U0024> \x67 |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> \x80 |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> \x9E |0 +<U005C> \xE0 |0 +<U005D> \x9F |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> \x9C |0 +<U007C> \xBB |0 +<U007D> \x47 |0 +<U007E> \xDC |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> \xB0 |0 +<U00A3> \xB1 |0 +<U00A5> \xB2 |0 +<U00A6> \x70 |0 +<U00A7> \xB5 |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |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> \x5B |0 +<U00C6> \x7B |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> \x7C |0 +<U00D9> \xFD |0 +<U00DA> \xFE |0 +<U00DB> \xFB |0 +<U00DC> \xFC |0 +<U00DD> \xAD |0 +<U00DE> \xAE |0 +<U00DF> \x59 |0 +<U00E0> \x44 |0 +<U00E1> \x45 |0 +<U00E2> \x42 |0 +<U00E3> \x46 |0 +<U00E4> \x43 |0 +<U00E5> \xD0 |0 +<U00E6> \xC0 |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> \x6A |0 +<U00F9> \xDD |0 +<U00FA> \xDE |0 +<U00FB> \xDB |0 +<U00FC> \xA1 |0 +<U00FD> \x8D |0 +<U00FE> \x8E |0 +<U00FF> \xDF |0 +<U203E> \xBC |1 +<U20AC> \x5A |0 +<UFF01> \x4F |1 +<UFF02> \x7F |1 +<UFF03> \x4A |1 +<UFF04> \x67 |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> \x80 |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> \x9E |1 +<UFF3C> \xE0 |1 +<UFF3D> \x9F |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> \x9C |1 +<UFF5C> \xBB |1 +<UFF5D> \x47 |1 +<UFF5E> \xDC |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-1143.ucm b/mcs/class/I18N/Rare/ibm-1143.ucm new file mode 100644 index 00000000000..8df99644ba2 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1143.ucm @@ -0,0 +1,378 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1997-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Fri Nov 10 13:07:48 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B00477.RPMAP100 and 047744B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-1143" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-1143 +#_________ _________ +<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> \x63 |0 +<U0024> \x67 |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> \xEC |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> \xB5 |0 +<U005C> \x71 |0 +<U005D> \x9F |0 +<U005E> \x5F |0 +<U005F> \x6D |0 +<U0060> \x51 |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> \x43 |0 +<U007C> \xBB |0 +<U007D> \x47 |0 +<U007E> \xDC |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> \xB0 |0 +<U00A3> \xB1 |0 +<U00A5> \xB2 |0 +<U00A6> \xCC |0 +<U00A7> \x4A |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |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> \x7B |0 +<U00C5> \x5B |0 +<U00C6> \x9E |0 +<U00C7> \x68 |0 +<U00C8> \x74 |0 +<U00C9> \xE0 |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> \x7C |0 +<U00D7> \xBF |0 +<U00D8> \x80 |0 +<U00D9> \xFD |0 +<U00DA> \xFE |0 +<U00DB> \xFB |0 +<U00DC> \xFC |0 +<U00DD> \xAD |0 +<U00DE> \xAE |0 +<U00DF> \x59 |0 +<U00E0> \x44 |0 +<U00E1> \x45 |0 +<U00E2> \x42 |0 +<U00E3> \x46 |0 +<U00E4> \xC0 |0 +<U00E5> \xD0 |0 +<U00E6> \x9C |0 +<U00E7> \x48 |0 +<U00E8> \x54 |0 +<U00E9> \x79 |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> \x6A |0 +<U00F7> \xE1 |0 +<U00F8> \x70 |0 +<U00F9> \xDD |0 +<U00FA> \xDE |0 +<U00FB> \xDB |0 +<U00FC> \xA1 |0 +<U00FD> \x8D |0 +<U00FE> \x8E |0 +<U00FF> \xDF |0 +<U203E> \xBC |1 +<U20AC> \x5A |0 +<UFF01> \x4F |1 +<UFF02> \x7F |1 +<UFF03> \x63 |1 +<UFF04> \x67 |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> \xEC |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> \xB5 |1 +<UFF3C> \x71 |1 +<UFF3D> \x9F |1 +<UFF3E> \x5F |1 +<UFF3F> \x6D |1 +<UFF40> \x51 |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> \x43 |1 +<UFF5C> \xBB |1 +<UFF5D> \x47 |1 +<UFF5E> \xDC |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-1144.ucm b/mcs/class/I18N/Rare/ibm-1144.ucm new file mode 100644 index 00000000000..4660f61c8c4 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1144.ucm @@ -0,0 +1,378 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1997-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Fri Nov 10 13:07:48 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B00478.RPMAP100 and 047844B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-1144" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-1144 +#_________ _________ +<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> \xB1 |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> \xB5 |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> \x90 |0 +<U005C> \x48 |0 +<U005D> \x51 |0 +<U005E> \x5F |0 +<U005F> \x6D |0 +<U0060> \xDD |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> \x44 |0 +<U007C> \xBB |0 +<U007D> \x54 |0 +<U007E> \x58 |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> \xB0 |0 +<U00A3> \x7B |0 +<U00A5> \xB2 |0 +<U00A6> \xCD |0 +<U00A7> \x7C |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |0 +<U00AD> \xCA |0 +<U00AE> \xAF |0 +<U00AF> \xBC |0 +<U00B0> \x4A |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> \xAD |0 +<U00DE> \xAE |0 +<U00DF> \x59 |0 +<U00E0> \xC0 |0 +<U00E1> \x45 |0 +<U00E2> \x42 |0 +<U00E3> \x46 |0 +<U00E4> \x43 |0 +<U00E5> \x47 |0 +<U00E6> \x9C |0 +<U00E7> \xE0 |0 +<U00E8> \xD0 |0 +<U00E9> \x5A |0 +<U00EA> \x52 |0 +<U00EB> \x53 |0 +<U00EC> \xA1 |0 +<U00ED> \x55 |0 +<U00EE> \x56 |0 +<U00EF> \x57 |0 +<U00F0> \x8C |0 +<U00F1> \x49 |0 +<U00F2> \x6A |0 +<U00F3> \xCE |0 +<U00F4> \xCB |0 +<U00F5> \xCF |0 +<U00F6> \xCC |0 +<U00F7> \xE1 |0 +<U00F8> \x70 |0 +<U00F9> \x79 |0 +<U00FA> \xDE |0 +<U00FB> \xDB |0 +<U00FC> \xDC |0 +<U00FD> \x8D |0 +<U00FE> \x8E |0 +<U00FF> \xDF |0 +<U203E> \xBC |1 +<U20AC> \x9F |0 +<UFF01> \x4F |1 +<UFF02> \x7F |1 +<UFF03> \xB1 |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> \xB5 |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> \x90 |1 +<UFF3C> \x48 |1 +<UFF3D> \x51 |1 +<UFF3E> \x5F |1 +<UFF3F> \x6D |1 +<UFF40> \xDD |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> \x44 |1 +<UFF5C> \xBB |1 +<UFF5D> \x54 |1 +<UFF5E> \x58 |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-1145.ucm b/mcs/class/I18N/Rare/ibm-1145.ucm new file mode 100644 index 00000000000..7f60efe219b --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1145.ucm @@ -0,0 +1,378 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1997-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Fri Nov 10 13:07:48 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B00479.RPMAP100 and 047944B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-1145" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-1145 +#_________ _________ +<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> \xBB |0 +<U0022> \x7F |0 +<U0023> \x69 |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> \xBA |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> \xBD |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> \xB0 |0 +<U00A3> \xB1 |0 +<U00A5> \xB2 |0 +<U00A6> \x49 |0 +<U00A7> \xB5 |0 +<U00A8> \xA1 |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \x5F |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> \x7B |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> \xAD |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> \x6A |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 |0 +<UFF01> \xBB |1 +<UFF02> \x7F |1 +<UFF03> \x69 |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> \xBA |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> \xBD |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-1146.ucm b/mcs/class/I18N/Rare/ibm-1146.ucm new file mode 100644 index 00000000000..5129f581810 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1146.ucm @@ -0,0 +1,378 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1997-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Fri Nov 10 13:07:48 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B0047A.RPMAP100 and 047A44B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-1146" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-1146 +#_________ _________ +<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> \x4A |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> \xB1 |0 +<U005C> \xE0 |0 +<U005D> \xBB |0 +<U005E> \xBA |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> \xBC |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> \xB0 |0 +<U00A3> \x5B |0 +<U00A5> \xB2 |0 +<U00A6> \x6A |0 +<U00A7> \xB5 |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \x5F |0 +<U00AD> \xCA |0 +<U00AE> \xAF |0 +<U00AF> \xA1 |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> \xAD |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> \xA1 |1 +<U20AC> \x9F |0 +<UFF01> \x5A |1 +<UFF02> \x7F |1 +<UFF03> \x7B |1 +<UFF04> \x4A |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> \xB1 |1 +<UFF3C> \xE0 |1 +<UFF3D> \xBB |1 +<UFF3E> \xBA |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> \xBC |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-1147.ucm b/mcs/class/I18N/Rare/ibm-1147.ucm new file mode 100644 index 00000000000..f4d62bcb64d --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1147.ucm @@ -0,0 +1,378 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1997-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Fri Nov 10 13:07:48 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B0047B.RPMAP100 and 047B44B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-1147" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-1147 +#_________ _________ +<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> \xB1 |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> \x44 |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> \x90 |0 +<U005C> \x48 |0 +<U005D> \xB5 |0 +<U005E> \x5F |0 +<U005F> \x6D |0 +<U0060> \xA0 |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> \x51 |0 +<U007C> \xBB |0 +<U007D> \x54 |0 +<U007E> \xBD |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> \xB0 |0 +<U00A3> \x7B |0 +<U00A5> \xB2 |0 +<U00A6> \xDD |0 +<U00A7> \x5A |0 +<U00A8> \xA1 |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |0 +<U00AD> \xCA |0 +<U00AE> \xAF |0 +<U00AF> \xBC |0 +<U00B0> \x4A |0 +<U00B1> \x8F |0 +<U00B2> \xEA |0 +<U00B3> \xFA |0 +<U00B4> \xBE |0 +<U00B5> \x79 |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> \xAD |0 +<U00DE> \xAE |0 +<U00DF> \x59 |0 +<U00E0> \x7C |0 +<U00E1> \x45 |0 +<U00E2> \x42 |0 +<U00E3> \x46 |0 +<U00E4> \x43 |0 +<U00E5> \x47 |0 +<U00E6> \x9C |0 +<U00E7> \xE0 |0 +<U00E8> \xD0 |0 +<U00E9> \xC0 |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> \x6A |0 +<U00FA> \xDE |0 +<U00FB> \xDB |0 +<U00FC> \xDC |0 +<U00FD> \x8D |0 +<U00FE> \x8E |0 +<U00FF> \xDF |0 +<U203E> \xBC |1 +<U20AC> \x9F |0 +<UFF01> \x4F |1 +<UFF02> \x7F |1 +<UFF03> \xB1 |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> \x44 |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> \x90 |1 +<UFF3C> \x48 |1 +<UFF3D> \xB5 |1 +<UFF3E> \x5F |1 +<UFF3F> \x6D |1 +<UFF40> \xA0 |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> \x51 |1 +<UFF5C> \xBB |1 +<UFF5D> \x54 |1 +<UFF5E> \xBD |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-1148.ucm b/mcs/class/I18N/Rare/ibm-1148.ucm new file mode 100644 index 00000000000..1fe5a681571 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1148.ucm @@ -0,0 +1,378 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1997-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Fri Nov 10 13:07:48 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B0047C.RPMAP100 and 047C44B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-1148" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-1148 +#_________ _________ +<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> \xBB |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> \xB0 |0 +<U00A3> \xB1 |0 +<U00A5> \xB2 |0 +<U00A6> \x6A |0 +<U00A7> \xB5 |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |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> \xAD |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 |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> \xBB |1 +<UFF5D> \xD0 |1 +<UFF5E> \xA1 |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-1149.ucm b/mcs/class/I18N/Rare/ibm-1149.ucm new file mode 100644 index 00000000000..e97050d2bcb --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-1149.ucm @@ -0,0 +1,378 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1997-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Fri Nov 10 13:07:48 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B0047D.RPMAP100 and 047D44B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-1149" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-1149 +#_________ _________ +<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> \xAC |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> \xAE |0 +<U005C> \xBE |0 +<U005D> \x9E |0 +<U005E> \xEC |0 +<U005F> \x6D |0 +<U0060> \x8C |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> \x8E |0 +<U007C> \xBB |0 +<U007D> \x9C |0 +<U007E> \xCC |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> \xB0 |0 +<U00A3> \xB1 |0 +<U00A5> \xB2 |0 +<U00A6> \x6A |0 +<U00A7> \xB5 |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |0 +<U00AD> \xCA |0 +<U00AE> \xAF |0 +<U00AF> \xBC |0 +<U00B0> \x90 |0 +<U00B1> \x8F |0 +<U00B2> \xEA |0 +<U00B3> \xFA |0 +<U00B4> \xE0 |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> \x5A |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> \x7C |0 +<U00D1> \x69 |0 +<U00D2> \xED |0 +<U00D3> \xEE |0 +<U00D4> \xEB |0 +<U00D5> \xEF |0 +<U00D6> \x5F |0 +<U00D7> \xBF |0 +<U00D8> \x80 |0 +<U00D9> \xFD |0 +<U00DA> \xFE |0 +<U00DB> \xFB |0 +<U00DC> \xFC |0 +<U00DD> \xAD |0 +<U00DE> \x4A |0 +<U00DF> \x59 |0 +<U00E0> \x44 |0 +<U00E1> \x45 |0 +<U00E2> \x42 |0 +<U00E3> \x46 |0 +<U00E4> \x43 |0 +<U00E5> \x47 |0 +<U00E6> \xD0 |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> \x79 |0 +<U00F1> \x49 |0 +<U00F2> \xCD |0 +<U00F3> \xCE |0 +<U00F4> \xCB |0 +<U00F5> \xCF |0 +<U00F6> \xA1 |0 +<U00F7> \xE1 |0 +<U00F8> \x70 |0 +<U00F9> \xDD |0 +<U00FA> \xDE |0 +<U00FB> \xDB |0 +<U00FC> \xDC |0 +<U00FD> \x8D |0 +<U00FE> \xC0 |0 +<U00FF> \xDF |0 +<U203E> \xBC |1 +<U20AC> \x9F |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> \xAC |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> \xAE |1 +<UFF3C> \xBE |1 +<UFF3D> \x9E |1 +<UFF3E> \xEC |1 +<UFF3F> \x6D |1 +<UFF40> \x8C |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> \x8E |1 +<UFF5C> \xBB |1 +<UFF5D> \x9C |1 +<UFF5E> \xCC |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-273.ucm b/mcs/class/I18N/Rare/ibm-273.ucm new file mode 100644 index 00000000000..b986677d373 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-273.ucm @@ -0,0 +1,379 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:41 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00111.RPMAP100 and 011134B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-273" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-273 +#_________ _________ +<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> \xB5 |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> \x63 |0 +<U005C> \xEC |0 +<U005D> \xFC |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> \x43 |0 +<U007C> \xBB |0 +<U007D> \xDC |0 +<U007E> \x59 |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> \xB0 |0 +<U00A3> \xB1 |0 +<U00A4> \x9F |0 +<U00A5> \xB2 |0 +<U00A6> \xCC |0 +<U00A7> \x7C |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |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> \x4A |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> \xE0 |0 +<U00D7> \xBF |0 +<U00D8> \x80 |0 +<U00D9> \xFD |0 +<U00DA> \xFE |0 +<U00DB> \xFB |0 +<U00DC> \x5A |0 +<U00DD> \xAD |0 +<U00DE> \xAE |0 +<U00DF> \xA1 |0 +<U00E0> \x44 |0 +<U00E1> \x45 |0 +<U00E2> \x42 |0 +<U00E3> \x46 |0 +<U00E4> \xC0 |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> \x6A |0 +<U00F7> \xE1 |0 +<U00F8> \x70 |0 +<U00F9> \xDD |0 +<U00FA> \xDE |0 +<U00FB> \xDB |0 +<U00FC> \xD0 |0 +<U00FD> \x8D |0 +<U00FE> \x8E |0 +<U00FF> \xDF |0 +<U0110> \xAC |1 +<U203E> \xBC |1 +<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> \xB5 |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> \x63 |1 +<UFF3C> \xEC |1 +<UFF3D> \xFC |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> \x43 |1 +<UFF5C> \xBB |1 +<UFF5D> \xDC |1 +<UFF5E> \x59 |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-277.ucm b/mcs/class/I18N/Rare/ibm-277.ucm new file mode 100644 index 00000000000..7ed1d844af2 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-277.ucm @@ -0,0 +1,379 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:41 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00115.RPMAP100 and 011534B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-277" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-277 +#_________ _________ +<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> \x4A |0 +<U0024> \x67 |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> \x80 |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> \x9E |0 +<U005C> \xE0 |0 +<U005D> \x9F |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> \x9C |0 +<U007C> \xBB |0 +<U007D> \x47 |0 +<U007E> \xDC |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> \xB0 |0 +<U00A3> \xB1 |0 +<U00A4> \x5A |0 +<U00A5> \xB2 |0 +<U00A6> \x70 |0 +<U00A7> \xB5 |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |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> \x5B |0 +<U00C6> \x7B |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> \x7C |0 +<U00D9> \xFD |0 +<U00DA> \xFE |0 +<U00DB> \xFB |0 +<U00DC> \xFC |0 +<U00DD> \xAD |0 +<U00DE> \xAE |0 +<U00DF> \x59 |0 +<U00E0> \x44 |0 +<U00E1> \x45 |0 +<U00E2> \x42 |0 +<U00E3> \x46 |0 +<U00E4> \x43 |0 +<U00E5> \xD0 |0 +<U00E6> \xC0 |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> \x6A |0 +<U00F9> \xDD |0 +<U00FA> \xDE |0 +<U00FB> \xDB |0 +<U00FC> \xA1 |0 +<U00FD> \x8D |0 +<U00FE> \x8E |0 +<U00FF> \xDF |0 +<U0110> \xAC |1 +<U203E> \xBC |1 +<UFF01> \x4F |1 +<UFF02> \x7F |1 +<UFF03> \x4A |1 +<UFF04> \x67 |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> \x80 |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> \x9E |1 +<UFF3C> \xE0 |1 +<UFF3D> \x9F |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> \x9C |1 +<UFF5C> \xBB |1 +<UFF5D> \x47 |1 +<UFF5E> \xDC |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-278.ucm b/mcs/class/I18N/Rare/ibm-278.ucm new file mode 100644 index 00000000000..068f0a3f2f0 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-278.ucm @@ -0,0 +1,379 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:41 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00116.RPMAP100 and 011634B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-278" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-278 +#_________ _________ +<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> \x63 |0 +<U0024> \x67 |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> \xEC |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> \xB5 |0 +<U005C> \x71 |0 +<U005D> \x9F |0 +<U005E> \x5F |0 +<U005F> \x6D |0 +<U0060> \x51 |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> \x43 |0 +<U007C> \xBB |0 +<U007D> \x47 |0 +<U007E> \xDC |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> \xB0 |0 +<U00A3> \xB1 |0 +<U00A4> \x5A |0 +<U00A5> \xB2 |0 +<U00A6> \xCC |0 +<U00A7> \x4A |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |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> \x7B |0 +<U00C5> \x5B |0 +<U00C6> \x9E |0 +<U00C7> \x68 |0 +<U00C8> \x74 |0 +<U00C9> \xE0 |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> \x7C |0 +<U00D7> \xBF |0 +<U00D8> \x80 |0 +<U00D9> \xFD |0 +<U00DA> \xFE |0 +<U00DB> \xFB |0 +<U00DC> \xFC |0 +<U00DD> \xAD |0 +<U00DE> \xAE |0 +<U00DF> \x59 |0 +<U00E0> \x44 |0 +<U00E1> \x45 |0 +<U00E2> \x42 |0 +<U00E3> \x46 |0 +<U00E4> \xC0 |0 +<U00E5> \xD0 |0 +<U00E6> \x9C |0 +<U00E7> \x48 |0 +<U00E8> \x54 |0 +<U00E9> \x79 |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> \x6A |0 +<U00F7> \xE1 |0 +<U00F8> \x70 |0 +<U00F9> \xDD |0 +<U00FA> \xDE |0 +<U00FB> \xDB |0 +<U00FC> \xA1 |0 +<U00FD> \x8D |0 +<U00FE> \x8E |0 +<U00FF> \xDF |0 +<U0110> \xAC |1 +<U203E> \xBC |1 +<UFF01> \x4F |1 +<UFF02> \x7F |1 +<UFF03> \x63 |1 +<UFF04> \x67 |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> \xEC |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> \xB5 |1 +<UFF3C> \x71 |1 +<UFF3D> \x9F |1 +<UFF3E> \x5F |1 +<UFF3F> \x6D |1 +<UFF40> \x51 |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> \x43 |1 +<UFF5C> \xBB |1 +<UFF5D> \x47 |1 +<UFF5E> \xDC |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-280.ucm b/mcs/class/I18N/Rare/ibm-280.ucm new file mode 100644 index 00000000000..e050f2a558c --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-280.ucm @@ -0,0 +1,379 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:41 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00118.RPMAP100 and 011834B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-280" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-280 +#_________ _________ +<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> \xB1 |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> \xB5 |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> \x90 |0 +<U005C> \x48 |0 +<U005D> \x51 |0 +<U005E> \x5F |0 +<U005F> \x6D |0 +<U0060> \xDD |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> \x44 |0 +<U007C> \xBB |0 +<U007D> \x54 |0 +<U007E> \x58 |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> \xB0 |0 +<U00A3> \x7B |0 +<U00A4> \x9F |0 +<U00A5> \xB2 |0 +<U00A6> \xCD |0 +<U00A7> \x7C |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |0 +<U00AD> \xCA |0 +<U00AE> \xAF |0 +<U00AF> \xBC |0 +<U00B0> \x4A |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> \xAD |0 +<U00DE> \xAE |0 +<U00DF> \x59 |0 +<U00E0> \xC0 |0 +<U00E1> \x45 |0 +<U00E2> \x42 |0 +<U00E3> \x46 |0 +<U00E4> \x43 |0 +<U00E5> \x47 |0 +<U00E6> \x9C |0 +<U00E7> \xE0 |0 +<U00E8> \xD0 |0 +<U00E9> \x5A |0 +<U00EA> \x52 |0 +<U00EB> \x53 |0 +<U00EC> \xA1 |0 +<U00ED> \x55 |0 +<U00EE> \x56 |0 +<U00EF> \x57 |0 +<U00F0> \x8C |0 +<U00F1> \x49 |0 +<U00F2> \x6A |0 +<U00F3> \xCE |0 +<U00F4> \xCB |0 +<U00F5> \xCF |0 +<U00F6> \xCC |0 +<U00F7> \xE1 |0 +<U00F8> \x70 |0 +<U00F9> \x79 |0 +<U00FA> \xDE |0 +<U00FB> \xDB |0 +<U00FC> \xDC |0 +<U00FD> \x8D |0 +<U00FE> \x8E |0 +<U00FF> \xDF |0 +<U0110> \xAC |1 +<U203E> \xBC |1 +<UFF01> \x4F |1 +<UFF02> \x7F |1 +<UFF03> \xB1 |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> \xB5 |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> \x90 |1 +<UFF3C> \x48 |1 +<UFF3D> \x51 |1 +<UFF3E> \x5F |1 +<UFF3F> \x6D |1 +<UFF40> \xDD |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> \x44 |1 +<UFF5C> \xBB |1 +<UFF5D> \x54 |1 +<UFF5E> \x58 |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-284.ucm b/mcs/class/I18N/Rare/ibm-284.ucm new file mode 100644 index 00000000000..8dcc9642409 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-284.ucm @@ -0,0 +1,379 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:41 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B0011C.RPMAP100 and 011C34B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-284" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-284 +#_________ _________ +<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> \xBB |0 +<U0022> \x7F |0 +<U0023> \x69 |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> \xBA |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> \xBD |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> \xB0 |0 +<U00A3> \xB1 |0 +<U00A4> \x9F |0 +<U00A5> \xB2 |0 +<U00A6> \x49 |0 +<U00A7> \xB5 |0 +<U00A8> \xA1 |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \x5F |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> \x7B |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> \xAD |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> \x6A |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 +<U0110> \xAC |1 +<U203E> \xBC |1 +<UFF01> \xBB |1 +<UFF02> \x7F |1 +<UFF03> \x69 |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> \xBA |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> \xBD |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-285.ucm b/mcs/class/I18N/Rare/ibm-285.ucm new file mode 100644 index 00000000000..bb74537766e --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-285.ucm @@ -0,0 +1,379 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:41 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B0011D.RPMAP100 and 011D34B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-285" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-285 +#_________ _________ +<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> \x4A |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> \xB1 |0 +<U005C> \xE0 |0 +<U005D> \xBB |0 +<U005E> \xBA |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> \xBC |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> \xB0 |0 +<U00A3> \x5B |0 +<U00A4> \x9F |0 +<U00A5> \xB2 |0 +<U00A6> \x6A |0 +<U00A7> \xB5 |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \x5F |0 +<U00AD> \xCA |0 +<U00AE> \xAF |0 +<U00AF> \xA1 |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> \xAD |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 +<U0110> \xAC |1 +<U203E> \xA1 |1 +<UFF01> \x5A |1 +<UFF02> \x7F |1 +<UFF03> \x7B |1 +<UFF04> \x4A |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> \xB1 |1 +<UFF3C> \xE0 |1 +<UFF3D> \xBB |1 +<UFF3E> \xBA |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> \xBC |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-290.ucm b/mcs/class/I18N/Rare/ibm-290.ucm new file mode 100644 index 00000000000..eb661591191 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-290.ucm @@ -0,0 +1,349 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:41 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00122.RPMAP100 and 012234B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-290" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-290 +#_________ _________ +<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> \xE0 |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> \x70 |0 +<U005C> \xB2 |0 +<U005D> \x80 |0 +<U005E> \xB0 |0 +<U005F> \x6D |0 +<U0060> \x79 |0 +<U0061> \x62 |0 +<U0062> \x63 |0 +<U0063> \x64 |0 +<U0064> \x65 |0 +<U0065> \x66 |0 +<U0066> \x67 |0 +<U0067> \x68 |0 +<U0068> \x69 |0 +<U0069> \x71 |0 +<U006A> \x72 |0 +<U006B> \x73 |0 +<U006C> \x74 |0 +<U006D> \x75 |0 +<U006E> \x76 |0 +<U006F> \x77 |0 +<U0070> \x78 |0 +<U0071> \x8B |0 +<U0072> \x9B |0 +<U0073> \xAB |0 +<U0074> \xB3 |0 +<U0075> \xB4 |0 +<U0076> \xB5 |0 +<U0077> \xB6 |0 +<U0078> \xB7 |0 +<U0079> \xB8 |0 +<U007A> \xB9 |0 +<U007B> \xC0 |0 +<U007C> \x4F |0 +<U007D> \xD0 |0 +<U007E> \xA0 |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 +<U00A2> \xB1 |0 +<U00A3> \x4A |0 +<U00A5> \x5B |0 +<U00AC> \x5F |0 +<U203E> \xA1 |0 +<UFF01> \x5A |1 +<UFF02> \x7F |1 +<UFF03> \x7B |1 +<UFF04> \xE0 |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> \x70 |1 +<UFF3C> \xB2 |1 +<UFF3D> \x80 |1 +<UFF3E> \xB0 |1 +<UFF3F> \x6D |1 +<UFF40> \x79 |1 +<UFF41> \x62 |1 +<UFF42> \x63 |1 +<UFF43> \x64 |1 +<UFF44> \x65 |1 +<UFF45> \x66 |1 +<UFF46> \x67 |1 +<UFF47> \x68 |1 +<UFF48> \x69 |1 +<UFF49> \x71 |1 +<UFF4A> \x72 |1 +<UFF4B> \x73 |1 +<UFF4C> \x74 |1 +<UFF4D> \x75 |1 +<UFF4E> \x76 |1 +<UFF4F> \x77 |1 +<UFF50> \x78 |1 +<UFF51> \x8B |1 +<UFF52> \x9B |1 +<UFF53> \xAB |1 +<UFF54> \xB3 |1 +<UFF55> \xB4 |1 +<UFF56> \xB5 |1 +<UFF57> \xB6 |1 +<UFF58> \xB7 |1 +<UFF59> \xB8 |1 +<UFF5A> \xB9 |1 +<UFF5B> \xC0 |1 +<UFF5C> \x4F |1 +<UFF5D> \xD0 |1 +<UFF5E> \xA0 |1 +<UFF61> \x41 |0 +<UFF62> \x42 |0 +<UFF63> \x43 |0 +<UFF64> \x44 |0 +<UFF65> \x45 |0 +<UFF66> \x46 |0 +<UFF67> \x47 |0 +<UFF68> \x48 |0 +<UFF69> \x49 |0 +<UFF6A> \x51 |0 +<UFF6B> \x52 |0 +<UFF6C> \x53 |0 +<UFF6D> \x54 |0 +<UFF6E> \x55 |0 +<UFF6F> \x56 |0 +<UFF70> \x58 |0 +<UFF71> \x81 |0 +<UFF72> \x82 |0 +<UFF73> \x83 |0 +<UFF74> \x84 |0 +<UFF75> \x85 |0 +<UFF76> \x86 |0 +<UFF77> \x87 |0 +<UFF78> \x88 |0 +<UFF79> \x89 |0 +<UFF7A> \x8A |0 +<UFF7B> \x8C |0 +<UFF7C> \x8D |0 +<UFF7D> \x8E |0 +<UFF7E> \x8F |0 +<UFF7F> \x90 |0 +<UFF80> \x91 |0 +<UFF81> \x92 |0 +<UFF82> \x93 |0 +<UFF83> \x94 |0 +<UFF84> \x95 |0 +<UFF85> \x96 |0 +<UFF86> \x97 |0 +<UFF87> \x98 |0 +<UFF88> \x99 |0 +<UFF89> \x9A |0 +<UFF8A> \x9D |0 +<UFF8B> \x9E |0 +<UFF8C> \x9F |0 +<UFF8D> \xA2 |0 +<UFF8E> \xA3 |0 +<UFF8F> \xA4 |0 +<UFF90> \xA5 |0 +<UFF91> \xA6 |0 +<UFF92> \xA7 |0 +<UFF93> \xA8 |0 +<UFF94> \xA9 |0 +<UFF95> \xAA |0 +<UFF96> \xAC |0 +<UFF97> \xAD |0 +<UFF98> \xAE |0 +<UFF99> \xAF |0 +<UFF9A> \xBA |0 +<UFF9B> \xBB |0 +<UFF9C> \xBC |0 +<UFF9D> \xBD |0 +<UFF9E> \xBE |0 +<UFF9F> \xBF |0 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-297.ucm b/mcs/class/I18N/Rare/ibm-297.ucm new file mode 100644 index 00000000000..f627d5ce517 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-297.ucm @@ -0,0 +1,379 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:41 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00129.RPMAP100 and 012934B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-297" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-297 +#_________ _________ +<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> \xB1 |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> \x44 |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> \x90 |0 +<U005C> \x48 |0 +<U005D> \xB5 |0 +<U005E> \x5F |0 +<U005F> \x6D |0 +<U0060> \xA0 |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> \x51 |0 +<U007C> \xBB |0 +<U007D> \x54 |0 +<U007E> \xBD |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> \xB0 |0 +<U00A3> \x7B |0 +<U00A4> \x9F |0 +<U00A5> \xB2 |0 +<U00A6> \xDD |0 +<U00A7> \x5A |0 +<U00A8> \xA1 |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |0 +<U00AD> \xCA |0 +<U00AE> \xAF |0 +<U00AF> \xBC |0 +<U00B0> \x4A |0 +<U00B1> \x8F |0 +<U00B2> \xEA |0 +<U00B3> \xFA |0 +<U00B4> \xBE |0 +<U00B5> \x79 |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> \xAD |0 +<U00DE> \xAE |0 +<U00DF> \x59 |0 +<U00E0> \x7C |0 +<U00E1> \x45 |0 +<U00E2> \x42 |0 +<U00E3> \x46 |0 +<U00E4> \x43 |0 +<U00E5> \x47 |0 +<U00E6> \x9C |0 +<U00E7> \xE0 |0 +<U00E8> \xD0 |0 +<U00E9> \xC0 |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> \x6A |0 +<U00FA> \xDE |0 +<U00FB> \xDB |0 +<U00FC> \xDC |0 +<U00FD> \x8D |0 +<U00FE> \x8E |0 +<U00FF> \xDF |0 +<U0110> \xAC |1 +<U203E> \xBC |1 +<UFF01> \x4F |1 +<UFF02> \x7F |1 +<UFF03> \xB1 |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> \x44 |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> \x90 |1 +<UFF3C> \x48 |1 +<UFF3D> \xB5 |1 +<UFF3E> \x5F |1 +<UFF3F> \x6D |1 +<UFF40> \xA0 |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> \x51 |1 +<UFF5C> \xBB |1 +<UFF5D> \x54 |1 +<UFF5E> \xBD |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-37.ucm b/mcs/class/I18N/Rare/ibm-37.ucm new file mode 100644 index 00000000000..070f03e81f3 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-37.ucm @@ -0,0 +1,379 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:41 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00025.RPMAP100 and 002534B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-37" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-37 +#_________ _________ +<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> \xBA |0 +<U005C> \xE0 |0 +<U005D> \xBB |0 +<U005E> \xB0 |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 +<U00A4> \x9F |0 +<U00A5> \xB2 |0 +<U00A6> \x6A |0 +<U00A7> \xB5 |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \x5F |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> \xAD |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 +<U0110> \xAC |1 +<U203E> \xBC |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> \xBA |1 +<UFF3C> \xE0 |1 +<UFF3D> \xBB |1 +<UFF3E> \xB0 |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 diff --git a/mcs/class/I18N/Rare/ibm-420.ucm b/mcs/class/I18N/Rare/ibm-420.ucm new file mode 100644 index 00000000000..33b947902ba --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-420.ucm @@ -0,0 +1,453 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Thu Nov 9 17:44:49 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B001A4.RXMAP110 and 01A434B0.TXMAP110 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-420" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-420 +#_________ _________ +<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 +<U005F> \x6D |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 +<U007C> \x4F |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 +<U00A2> \x4A |0 +<U00A6> \x6A |0 +<U00AC> \x5F |0 +<U00AD> \xCA |0 +<U00D7> \xE0 |0 +<U00F7> \xA1 |0 +<U060C> \x79 |0 +<U061B> \xC0 |0 +<U061F> \xD0 |0 +<U0621> \x46 |0 +<U0622> \x47 |0 +<U0623> \x49 |0 +<U0624> \x52 |0 +<U0625> \x56 |1 +<U0626> \x55 |0 +<U0627> \x56 |0 +<U0628> \x58 |0 +<U0629> \x62 |0 +<U062A> \x63 |0 +<U062B> \x65 |0 +<U062C> \x67 |0 +<U062D> \x69 |0 +<U062E> \x71 |0 +<U062F> \x73 |0 +<U0630> \x74 |0 +<U0631> \x75 |0 +<U0632> \x76 |0 +<U0633> \x77 |0 +<U0634> \x80 |0 +<U0635> \x8B |0 +<U0636> \x8D |0 +<U0637> \x8F |0 +<U0638> \x90 |0 +<U0639> \x9A |0 +<U063A> \x9E |0 +<U0640> \x44 |0 +<U0641> \xAB |0 +<U0642> \xAD |0 +<U0643> \xAF |0 +<U0644> \xB1 |0 +<U0645> \xBB |0 +<U0646> \xBD |0 +<U0647> \xBF |0 +<U0648> \xCF |0 +<U0649> \xDA |0 +<U064A> \xDC |0 +<U0651> \x42 |0 +<U0660> \xDF |0 +<U0661> \xEA |0 +<U0662> \xEB |0 +<U0663> \xED |0 +<U0664> \xEE |0 +<U0665> \xEF |0 +<U0666> \xFB |0 +<U0667> \xFC |0 +<U0668> \xFD |0 +<U0669> \xFE |0 +<U066A> \x6C |1 +<U066B> \x6B |1 +<U066C> \x4B |1 +<U066D> \x5C |1 +<U200B> \x45 |0 +<UFE7C> \x42 |1 +<UFE7D> \x43 |0 +<UFE80> \x46 |1 +<UFE81> \x47 |1 +<UFE82> \x48 |0 +<UFE83> \x49 |1 +<UFE84> \x51 |0 +<UFE85> \x52 |1 +<UFE86> \x52 |1 +<UFE87> \x56 |1 +<UFE88> \x57 |1 +<UFE8B> \x55 |1 +<UFE8C> \x55 |1 +<UFE8D> \x56 |1 +<UFE8E> \x57 |0 +<UFE8F> \x58 |1 +<UFE90> \x58 |1 +<UFE91> \x59 |0 +<UFE92> \x59 |1 +<UFE93> \x62 |1 +<UFE94> \x62 |1 +<UFE95> \x63 |1 +<UFE96> \x63 |1 +<UFE97> \x64 |0 +<UFE98> \x64 |1 +<UFE99> \x65 |1 +<UFE9A> \x65 |1 +<UFE9B> \x66 |0 +<UFE9C> \x66 |1 +<UFE9D> \x67 |1 +<UFE9E> \x67 |1 +<UFE9F> \x68 |0 +<UFEA0> \x68 |1 +<UFEA1> \x69 |1 +<UFEA2> \x69 |1 +<UFEA3> \x70 |0 +<UFEA4> \x70 |1 +<UFEA5> \x71 |1 +<UFEA6> \x71 |1 +<UFEA7> \x72 |0 +<UFEA8> \x72 |1 +<UFEA9> \x73 |1 +<UFEAA> \x73 |1 +<UFEAB> \x74 |1 +<UFEAC> \x74 |1 +<UFEAD> \x75 |1 +<UFEAE> \x75 |1 +<UFEAF> \x76 |1 +<UFEB0> \x76 |1 +<UFEB1> \x77 |1 +<UFEB2> \x77 |1 +<UFEB3> \x78 |0 +<UFEB4> \x78 |1 +<UFEB5> \x80 |1 +<UFEB6> \x80 |1 +<UFEB7> \x8A |0 +<UFEB8> \x8A |1 +<UFEB9> \x8B |1 +<UFEBA> \x8B |1 +<UFEBB> \x8C |0 +<UFEBC> \x8C |1 +<UFEBD> \x8D |1 +<UFEBE> \x8D |1 +<UFEBF> \x8E |0 +<UFEC0> \x8E |1 +<UFEC1> \x8F |1 +<UFEC2> \x8F |1 +<UFEC3> \x8F |1 +<UFEC4> \x8F |1 +<UFEC5> \x90 |1 +<UFEC6> \x90 |1 +<UFEC7> \x90 |1 +<UFEC8> \x90 |1 +<UFEC9> \x9A |1 +<UFECA> \x9B |0 +<UFECB> \x9C |0 +<UFECC> \x9D |0 +<UFECD> \x9E |1 +<UFECE> \x9F |0 +<UFECF> \xA0 |0 +<UFED0> \xAA |0 +<UFED1> \xAB |1 +<UFED2> \xAB |1 +<UFED3> \xAC |0 +<UFED4> \xAC |1 +<UFED5> \xAD |1 +<UFED6> \xAD |1 +<UFED7> \xAE |0 +<UFED8> \xAE |1 +<UFED9> \xAF |1 +<UFEDA> \xAF |1 +<UFEDB> \xB0 |0 +<UFEDC> \xB0 |1 +<UFEDD> \xB1 |1 +<UFEDE> \xB1 |1 +<UFEDF> \xBA |0 +<UFEE0> \xBA |1 +<UFEE1> \xBB |1 +<UFEE2> \xBB |1 +<UFEE3> \xBC |0 +<UFEE4> \xBC |1 +<UFEE5> \xBD |1 +<UFEE6> \xBD |1 +<UFEE7> \xBE |0 +<UFEE8> \xBE |1 +<UFEE9> \xBF |1 +<UFEEA> \xBF |1 +<UFEEB> \xCB |0 +<UFEEC> \xCD |0 +<UFEED> \xCF |1 +<UFEEE> \xCF |1 +<UFEEF> \xDA |1 +<UFEF0> \xDB |0 +<UFEF1> \xDC |1 +<UFEF2> \xDD |0 +<UFEF3> \xDE |0 +<UFEF4> \xDE |1 +<UFEF5> \xB2 |0 +<UFEF6> \xB3 |0 +<UFEF7> \xB4 |0 +<UFEF8> \xB5 |0 +<UFEF9> \xB8 |1 +<UFEFA> \xB9 |1 +<UFEFB> \xB8 |0 +<UFEFC> \xB9 |0 +<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 +<UFF3F> \x6D |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 +<UFF5C> \x4F |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-424.ucm b/mcs/class/I18N/Rare/ibm-424.ucm new file mode 100644 index 00000000000..a024e217070 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-424.ucm @@ -0,0 +1,339 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1998-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:42 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B001A8.RPMAP100 and 01A834B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-424" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-424 +#_________ _________ +<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> \xBA |0 +<U005C> \xE0 |0 +<U005D> \xBB |0 +<U005E> \xB0 |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> \x74 |0 +<U00A2> \x4A |0 +<U00A3> \xB1 |0 +<U00A4> \x9F |0 +<U00A5> \xB2 |0 +<U00A6> \x6A |0 +<U00A7> \xB5 |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AB> \x8A |0 +<U00AC> \x5F |0 +<U00AD> \xCA |0 +<U00AE> \xAF |0 +<U00B0> \x90 |0 +<U00B1> \x8F |0 +<U00B2> \xEA |0 +<U00B3> \xFA |0 +<U00B4> \xBE |0 +<U00B5> \xA0 |0 +<U00B6> \xB6 |0 +<U00B8> \x9D |0 +<U00B9> \xDA |0 +<U00BB> \x8B |0 +<U00BC> \xB7 |0 +<U00BD> \xB8 |0 +<U00BE> \xB9 |0 +<U00D7> \xBF |0 +<U00F7> \xE1 |0 +<U05D0> \x41 |0 +<U05D1> \x42 |0 +<U05D2> \x43 |0 +<U05D3> \x44 |0 +<U05D4> \x45 |0 +<U05D5> \x46 |0 +<U05D6> \x47 |0 +<U05D7> \x48 |0 +<U05D8> \x49 |0 +<U05D9> \x51 |0 +<U05DA> \x52 |0 +<U05DB> \x53 |0 +<U05DC> \x54 |0 +<U05DD> \x55 |0 +<U05DE> \x56 |0 +<U05DF> \x57 |0 +<U05E0> \x58 |0 +<U05E1> \x59 |0 +<U05E2> \x62 |0 +<U05E3> \x63 |0 +<U05E4> \x64 |0 +<U05E5> \x65 |0 +<U05E6> \x66 |0 +<U05E7> \x67 |0 +<U05E8> \x68 |0 +<U05E9> \x69 |0 +<U05EA> \x71 |0 +<U2017> \x78 |0 +<U2022> \xB3 |0 +<U203E> \xBC |0 +<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> \xBA |1 +<UFF3C> \xE0 |1 +<UFF3D> \xBB |1 +<UFF3E> \xB0 |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 diff --git a/mcs/class/I18N/Rare/ibm-500.ucm b/mcs/class/I18N/Rare/ibm-500.ucm new file mode 100644 index 00000000000..ef11ec7c2d9 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-500.ucm @@ -0,0 +1,379 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:42 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B001F4.RPMAP100 and 01F434B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-500" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-500 +#_________ _________ +<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> \xBB |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> \xB0 |0 +<U00A3> \xB1 |0 +<U00A4> \x9F |0 +<U00A5> \xB2 |0 +<U00A6> \x6A |0 +<U00A7> \xB5 |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |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> \xAD |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 +<U0110> \xAC |1 +<U203E> \xBC |1 +<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> \xBB |1 +<UFF5D> \xD0 |1 +<UFF5E> \xA1 |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-852.ucm b/mcs/class/I18N/Rare/ibm-852.ucm new file mode 100644 index 00000000000..5e45addb083 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-852.ucm @@ -0,0 +1,415 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:42 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00354.RPMAP100 and 035434B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-852" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-852 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A4> \xCF |0 +<U00A7> \xF5 |0 +<U00A8> \xF9 |0 +<U00AB> \xAE |0 +<U00AD> \xF0 |0 +<U00B0> \xF8 |0 +<U00B4> \xEF |0 +<U00B6> \x14 |1 +<U00B8> \xF7 |0 +<U00BB> \xAF |0 +<U00C1> \xB5 |0 +<U00C2> \xB6 |0 +<U00C4> \x8E |0 +<U00C7> \x80 |0 +<U00C9> \x90 |0 +<U00CB> \xD3 |0 +<U00CD> \xD6 |0 +<U00CE> \xD7 |0 +<U00D0> \xD1 |1 +<U00D3> \xE0 |0 +<U00D4> \xE2 |0 +<U00D6> \x99 |0 +<U00D7> \x9E |0 +<U00DA> \xE9 |0 +<U00DC> \x9A |0 +<U00DD> \xED |0 +<U00DF> \xE1 |0 +<U00E1> \xA0 |0 +<U00E2> \x83 |0 +<U00E4> \x84 |0 +<U00E7> \x87 |0 +<U00E9> \x82 |0 +<U00EB> \x89 |0 +<U00ED> \xA1 |0 +<U00EE> \x8C |0 +<U00F3> \xA2 |0 +<U00F4> \x93 |0 +<U00F6> \x94 |0 +<U00F7> \xF6 |0 +<U00FA> \xA3 |0 +<U00FC> \x81 |0 +<U00FD> \xEC |0 +<U0102> \xC6 |0 +<U0103> \xC7 |0 +<U0104> \xA4 |0 +<U0105> \xA5 |0 +<U0106> \x8F |0 +<U0107> \x86 |0 +<U010C> \xAC |0 +<U010D> \x9F |0 +<U010E> \xD2 |0 +<U010F> \xD4 |0 +<U0110> \xD1 |0 +<U0111> \xD0 |0 +<U0118> \xA8 |0 +<U0119> \xA9 |0 +<U011A> \xB7 |0 +<U011B> \xD8 |0 +<U0139> \x91 |0 +<U013A> \x92 |0 +<U013D> \x95 |0 +<U013E> \x96 |0 +<U0141> \x9D |0 +<U0142> \x88 |0 +<U0143> \xE3 |0 +<U0144> \xE4 |0 +<U0147> \xD5 |0 +<U0148> \xE5 |0 +<U0150> \x8A |0 +<U0151> \x8B |0 +<U0154> \xE8 |0 +<U0155> \xEA |0 +<U0158> \xFC |0 +<U0159> \xFD |0 +<U015A> \x97 |0 +<U015B> \x98 |0 +<U015E> \xB8 |0 +<U015F> \xAD |0 +<U0160> \xE6 |0 +<U0161> \xE7 |0 +<U0162> \xDD |0 +<U0163> \xEE |0 +<U0164> \x9B |0 +<U0165> \x9C |0 +<U016E> \xDE |0 +<U016F> \x85 |0 +<U0170> \xEB |0 +<U0171> \xFB |0 +<U0179> \x8D |0 +<U017A> \xAB |0 +<U017B> \xBD |0 +<U017C> \xBE |0 +<U017D> \xA6 |0 +<U017E> \xA7 |0 +<U02C7> \xF3 |0 +<U02D8> \xF4 |0 +<U02D9> \xFA |0 +<U02DB> \xF2 |0 +<U02DD> \xF1 |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U221F> \x1C |1 +<U2302> \x7F |2 +<U2500> \xC4 |0 +<U2502> \xB3 |0 +<U250C> \xDA |0 +<U2510> \xBF |0 +<U2514> \xC0 |0 +<U2518> \xD9 |0 +<U251C> \xC3 |0 +<U2524> \xB4 |0 +<U252C> \xC2 |0 +<U2534> \xC1 |0 +<U253C> \xC5 |0 +<U2550> \xCD |0 +<U2551> \xBA |0 +<U2554> \xC9 |0 +<U2557> \xBB |0 +<U255A> \xC8 |0 +<U255D> \xBC |0 +<U2560> \xCC |0 +<U2563> \xB9 |0 +<U2566> \xCB |0 +<U2569> \xCA |0 +<U256C> \xCE |0 +<U2580> \xDF |0 +<U2584> \xDC |0 +<U2588> \xDB |0 +<U2591> \xB0 |0 +<U2592> \xB1 |0 +<U2593> \xB2 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266C> \x0E |1 +<UFF01> \x21 |1 +<UFF02> \x22 |1 +<UFF03> \x23 |1 +<UFF04> \x24 |1 +<UFF05> \x25 |1 +<UFF06> \x26 |1 +<UFF07> \x27 |1 +<UFF08> \x28 |1 +<UFF09> \x29 |1 +<UFF0A> \x2A |1 +<UFF0B> \x2B |1 +<UFF0C> \x2C |1 +<UFF0D> \x2D |1 +<UFF0E> \x2E |1 +<UFF0F> \x2F |1 +<UFF10> \x30 |1 +<UFF11> \x31 |1 +<UFF12> \x32 |1 +<UFF13> \x33 |1 +<UFF14> \x34 |1 +<UFF15> \x35 |1 +<UFF16> \x36 |1 +<UFF17> \x37 |1 +<UFF18> \x38 |1 +<UFF19> \x39 |1 +<UFF1A> \x3A |1 +<UFF1B> \x3B |1 +<UFF1C> \x3C |1 +<UFF1D> \x3D |1 +<UFF1E> \x3E |1 +<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 +<UFFE8> \xB3 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-855.ucm b/mcs/class/I18N/Rare/ibm-855.ucm new file mode 100644 index 00000000000..bc80b19fb31 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-855.ucm @@ -0,0 +1,415 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:42 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00357.RPMAP100 and 035734B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-855" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-855 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A4> \xCF |0 +<U00A7> \xFD |0 +<U00AB> \xAE |0 +<U00AD> \xF0 |0 +<U00B6> \x14 |1 +<U00BB> \xAF |0 +<U0401> \x85 |0 +<U0402> \x81 |0 +<U0403> \x83 |0 +<U0404> \x87 |0 +<U0405> \x89 |0 +<U0406> \x8B |0 +<U0407> \x8D |0 +<U0408> \x8F |0 +<U0409> \x91 |0 +<U040A> \x93 |0 +<U040B> \x95 |0 +<U040C> \x97 |0 +<U040E> \x99 |0 +<U040F> \x9B |0 +<U0410> \xA1 |0 +<U0411> \xA3 |0 +<U0412> \xEC |0 +<U0413> \xAD |0 +<U0414> \xA7 |0 +<U0415> \xA9 |0 +<U0416> \xEA |0 +<U0417> \xF4 |0 +<U0418> \xB8 |0 +<U0419> \xBE |0 +<U041A> \xC7 |0 +<U041B> \xD1 |0 +<U041C> \xD3 |0 +<U041D> \xD5 |0 +<U041E> \xD7 |0 +<U041F> \xDD |0 +<U0420> \xE2 |0 +<U0421> \xE4 |0 +<U0422> \xE6 |0 +<U0423> \xE8 |0 +<U0424> \xAB |0 +<U0425> \xB6 |0 +<U0426> \xA5 |0 +<U0427> \xFC |0 +<U0428> \xF6 |0 +<U0429> \xFA |0 +<U042A> \x9F |0 +<U042B> \xF2 |0 +<U042C> \xEE |0 +<U042D> \xF8 |0 +<U042E> \x9D |0 +<U042F> \xE0 |0 +<U0430> \xA0 |0 +<U0431> \xA2 |0 +<U0432> \xEB |0 +<U0433> \xAC |0 +<U0434> \xA6 |0 +<U0435> \xA8 |0 +<U0436> \xE9 |0 +<U0437> \xF3 |0 +<U0438> \xB7 |0 +<U0439> \xBD |0 +<U043A> \xC6 |0 +<U043B> \xD0 |0 +<U043C> \xD2 |0 +<U043D> \xD4 |0 +<U043E> \xD6 |0 +<U043F> \xD8 |0 +<U0440> \xE1 |0 +<U0441> \xE3 |0 +<U0442> \xE5 |0 +<U0443> \xE7 |0 +<U0444> \xAA |0 +<U0445> \xB5 |0 +<U0446> \xA4 |0 +<U0447> \xFB |0 +<U0448> \xF5 |0 +<U0449> \xF9 |0 +<U044A> \x9E |0 +<U044B> \xF1 |0 +<U044C> \xED |0 +<U044D> \xF7 |0 +<U044E> \x9C |0 +<U044F> \xDE |0 +<U0451> \x84 |0 +<U0452> \x80 |0 +<U0453> \x82 |0 +<U0454> \x86 |0 +<U0455> \x88 |0 +<U0456> \x8A |0 +<U0457> \x8C |0 +<U0458> \x8E |0 +<U0459> \x90 |0 +<U045A> \x92 |0 +<U045B> \x94 |0 +<U045C> \x96 |0 +<U045E> \x98 |0 +<U045F> \x9A |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U2116> \xEF |0 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U221F> \x1C |1 +<U2302> \x7F |2 +<U2500> \xC4 |0 +<U2502> \xB3 |0 +<U250C> \xDA |0 +<U2510> \xBF |0 +<U2514> \xC0 |0 +<U2518> \xD9 |0 +<U251C> \xC3 |0 +<U2524> \xB4 |0 +<U252C> \xC2 |0 +<U2534> \xC1 |0 +<U253C> \xC5 |0 +<U2550> \xCD |0 +<U2551> \xBA |0 +<U2554> \xC9 |0 +<U2557> \xBB |0 +<U255A> \xC8 |0 +<U255D> \xBC |0 +<U2560> \xCC |0 +<U2563> \xB9 |0 +<U2566> \xCB |0 +<U2569> \xCA |0 +<U256C> \xCE |0 +<U2580> \xDF |0 +<U2584> \xDC |0 +<U2588> \xDB |0 +<U2591> \xB0 |0 +<U2592> \xB1 |0 +<U2593> \xB2 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266B> \x0E |1 +<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 +<UFFE8> \xB3 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-857.ucm b/mcs/class/I18N/Rare/ibm-857.ucm new file mode 100644 index 00000000000..9d07db99bc8 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-857.ucm @@ -0,0 +1,412 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:43 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00359.RPMAP100 and 035934B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-857" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-857 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A1> \xAD |0 +<U00A2> \xBD |0 +<U00A3> \x9C |0 +<U00A4> \xCF |0 +<U00A5> \xBE |0 +<U00A6> \xDD |0 +<U00A7> \xF5 |0 +<U00A8> \xF9 |0 +<U00A9> \xB8 |0 +<U00AA> \xD1 |0 +<U00AB> \xAE |0 +<U00AC> \xAA |0 +<U00AD> \xF0 |0 +<U00AE> \xA9 |0 +<U00AF> \xEE |0 +<U00B0> \xF8 |0 +<U00B1> \xF1 |0 +<U00B2> \xFD |0 +<U00B3> \xFC |0 +<U00B4> \xEF |0 +<U00B5> \xE6 |0 +<U00B6> \xF4 |0 +<U00B7> \xFA |0 +<U00B8> \xF7 |0 +<U00B9> \xFB |0 +<U00BA> \xD0 |0 +<U00BB> \xAF |0 +<U00BC> \xAC |0 +<U00BD> \xAB |0 +<U00BE> \xF3 |0 +<U00BF> \xA8 |0 +<U00C0> \xB7 |0 +<U00C1> \xB5 |0 +<U00C2> \xB6 |0 +<U00C3> \xC7 |0 +<U00C4> \x8E |0 +<U00C5> \x8F |0 +<U00C6> \x92 |0 +<U00C7> \x80 |0 +<U00C8> \xD4 |0 +<U00C9> \x90 |0 +<U00CA> \xD2 |0 +<U00CB> \xD3 |0 +<U00CC> \xDE |0 +<U00CD> \xD6 |0 +<U00CE> \xD7 |0 +<U00CF> \xD8 |0 +<U00D1> \xA5 |0 +<U00D2> \xE3 |0 +<U00D3> \xE0 |0 +<U00D4> \xE2 |0 +<U00D5> \xE5 |0 +<U00D6> \x99 |0 +<U00D7> \xE8 |0 +<U00D8> \x9D |0 +<U00D9> \xEB |0 +<U00DA> \xE9 |0 +<U00DB> \xEA |0 +<U00DC> \x9A |0 +<U00DF> \xE1 |0 +<U00E0> \x85 |0 +<U00E1> \xA0 |0 +<U00E2> \x83 |0 +<U00E3> \xC6 |0 +<U00E4> \x84 |0 +<U00E5> \x86 |0 +<U00E6> \x91 |0 +<U00E7> \x87 |0 +<U00E8> \x8A |0 +<U00E9> \x82 |0 +<U00EA> \x88 |0 +<U00EB> \x89 |0 +<U00EC> \xEC |0 +<U00ED> \xA1 |0 +<U00EE> \x8C |0 +<U00EF> \x8B |0 +<U00F1> \xA4 |0 +<U00F2> \x95 |0 +<U00F3> \xA2 |0 +<U00F4> \x93 |0 +<U00F5> \xE4 |0 +<U00F6> \x94 |0 +<U00F7> \xF6 |0 +<U00F8> \x9B |0 +<U00F9> \x97 |0 +<U00FA> \xA3 |0 +<U00FB> \x96 |0 +<U00FC> \x81 |0 +<U00FF> \xED |0 +<U011E> \xA6 |0 +<U011F> \xA7 |0 +<U0130> \x98 |0 +<U0131> \x8D |0 +<U015E> \x9E |0 +<U015F> \x9F |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U203E> \xEE |1 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U221F> \x1C |1 +<U2302> \x7F |2 +<U2500> \xC4 |0 +<U2502> \xB3 |0 +<U250C> \xDA |0 +<U2510> \xBF |0 +<U2514> \xC0 |0 +<U2518> \xD9 |0 +<U251C> \xC3 |0 +<U2524> \xB4 |0 +<U252C> \xC2 |0 +<U2534> \xC1 |0 +<U253C> \xC5 |0 +<U2550> \xCD |0 +<U2551> \xBA |0 +<U2554> \xC9 |0 +<U2557> \xBB |0 +<U255A> \xC8 |0 +<U255D> \xBC |0 +<U2560> \xCC |0 +<U2563> \xB9 |0 +<U2566> \xCB |0 +<U2569> \xCA |0 +<U256C> \xCE |0 +<U2580> \xDF |0 +<U2584> \xDC |0 +<U2588> \xDB |0 +<U2591> \xB0 |0 +<U2592> \xB1 |0 +<U2593> \xB2 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266B> \x0E |1 +<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 +<UFFE8> \xB3 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-858.ucm b/mcs/class/I18N/Rare/ibm-858.ucm new file mode 100644 index 00000000000..29da17cfb98 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-858.ucm @@ -0,0 +1,415 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1997-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:43 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B0035A.RPMAP100 and 035A44B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-858" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-858 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A1> \xAD |0 +<U00A2> \xBD |0 +<U00A3> \x9C |0 +<U00A4> \xCF |0 +<U00A5> \xBE |0 +<U00A6> \xDD |0 +<U00A7> \xF5 |0 +<U00A8> \xF9 |0 +<U00A9> \xB8 |0 +<U00AA> \xA6 |0 +<U00AB> \xAE |0 +<U00AC> \xAA |0 +<U00AD> \xF0 |0 +<U00AE> \xA9 |0 +<U00AF> \xEE |0 +<U00B0> \xF8 |0 +<U00B1> \xF1 |0 +<U00B2> \xFD |0 +<U00B3> \xFC |0 +<U00B4> \xEF |0 +<U00B5> \xE6 |0 +<U00B6> \xF4 |0 +<U00B7> \xFA |0 +<U00B8> \xF7 |0 +<U00B9> \xFB |0 +<U00BA> \xA7 |0 +<U00BB> \xAF |0 +<U00BC> \xAC |0 +<U00BD> \xAB |0 +<U00BE> \xF3 |0 +<U00BF> \xA8 |0 +<U00C0> \xB7 |0 +<U00C1> \xB5 |0 +<U00C2> \xB6 |0 +<U00C3> \xC7 |0 +<U00C4> \x8E |0 +<U00C5> \x8F |0 +<U00C6> \x92 |0 +<U00C7> \x80 |0 +<U00C8> \xD4 |0 +<U00C9> \x90 |0 +<U00CA> \xD2 |0 +<U00CB> \xD3 |0 +<U00CC> \xDE |0 +<U00CD> \xD6 |0 +<U00CE> \xD7 |0 +<U00CF> \xD8 |0 +<U00D0> \xD1 |0 +<U00D1> \xA5 |0 +<U00D2> \xE3 |0 +<U00D3> \xE0 |0 +<U00D4> \xE2 |0 +<U00D5> \xE5 |0 +<U00D6> \x99 |0 +<U00D7> \x9E |0 +<U00D8> \x9D |0 +<U00D9> \xEB |0 +<U00DA> \xE9 |0 +<U00DB> \xEA |0 +<U00DC> \x9A |0 +<U00DD> \xED |0 +<U00DE> \xE8 |0 +<U00DF> \xE1 |0 +<U00E0> \x85 |0 +<U00E1> \xA0 |0 +<U00E2> \x83 |0 +<U00E3> \xC6 |0 +<U00E4> \x84 |0 +<U00E5> \x86 |0 +<U00E6> \x91 |0 +<U00E7> \x87 |0 +<U00E8> \x8A |0 +<U00E9> \x82 |0 +<U00EA> \x88 |0 +<U00EB> \x89 |0 +<U00EC> \x8D |0 +<U00ED> \xA1 |0 +<U00EE> \x8C |0 +<U00EF> \x8B |0 +<U00F0> \xD0 |0 +<U00F1> \xA4 |0 +<U00F2> \x95 |0 +<U00F3> \xA2 |0 +<U00F4> \x93 |0 +<U00F5> \xE4 |0 +<U00F6> \x94 |0 +<U00F7> \xF6 |0 +<U00F8> \x9B |0 +<U00F9> \x97 |0 +<U00FA> \xA3 |0 +<U00FB> \x96 |0 +<U00FC> \x81 |0 +<U00FD> \xEC |0 +<U00FE> \xE7 |0 +<U00FF> \x98 |0 +<U0192> \x9F |0 +<U2017> \xF2 |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U203E> \xEE |1 +<U20AC> \xD5 |0 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U221F> \x1C |1 +<U2302> \x7F |2 +<U2500> \xC4 |0 +<U2502> \xB3 |0 +<U250C> \xDA |0 +<U2510> \xBF |0 +<U2514> \xC0 |0 +<U2518> \xD9 |0 +<U251C> \xC3 |0 +<U2524> \xB4 |0 +<U252C> \xC2 |0 +<U2534> \xC1 |0 +<U253C> \xC5 |0 +<U2550> \xCD |0 +<U2551> \xBA |0 +<U2554> \xC9 |0 +<U2557> \xBB |0 +<U255A> \xC8 |0 +<U255D> \xBC |0 +<U2560> \xCC |0 +<U2563> \xB9 |0 +<U2566> \xCB |0 +<U2569> \xCA |0 +<U256C> \xCE |0 +<U2580> \xDF |0 +<U2584> \xDC |0 +<U2588> \xDB |0 +<U2591> \xB0 |0 +<U2592> \xB1 |0 +<U2593> \xB2 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266C> \x0E |1 +<UFF01> \x21 |1 +<UFF02> \x22 |1 +<UFF03> \x23 |1 +<UFF04> \x24 |1 +<UFF05> \x25 |1 +<UFF06> \x26 |1 +<UFF07> \x27 |1 +<UFF08> \x28 |1 +<UFF09> \x29 |1 +<UFF0A> \x2A |1 +<UFF0B> \x2B |1 +<UFF0C> \x2C |1 +<UFF0D> \x2D |1 +<UFF0E> \x2E |1 +<UFF0F> \x2F |1 +<UFF10> \x30 |1 +<UFF11> \x31 |1 +<UFF12> \x32 |1 +<UFF13> \x33 |1 +<UFF14> \x34 |1 +<UFF15> \x35 |1 +<UFF16> \x36 |1 +<UFF17> \x37 |1 +<UFF18> \x38 |1 +<UFF19> \x39 |1 +<UFF1A> \x3A |1 +<UFF1B> \x3B |1 +<UFF1C> \x3C |1 +<UFF1D> \x3D |1 +<UFF1E> \x3E |1 +<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 +<UFFE8> \xB3 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-862.ucm b/mcs/class/I18N/Rare/ibm-862.ucm new file mode 100644 index 00000000000..33592b0ff47 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-862.ucm @@ -0,0 +1,416 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:43 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B0035E.RPMAP100 and 035E34B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-862" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-862 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A1> \xAD |0 +<U00A2> \x9B |0 +<U00A3> \x9C |0 +<U00A5> \x9D |0 +<U00A7> \x15 |1 +<U00AA> \xA6 |0 +<U00AB> \xAE |0 +<U00AC> \xAA |0 +<U00B0> \xF8 |0 +<U00B1> \xF1 |0 +<U00B2> \xFD |0 +<U00B6> \x14 |1 +<U00B7> \xFA |0 +<U00BA> \xA7 |0 +<U00BB> \xAF |0 +<U00BC> \xAC |0 +<U00BD> \xAB |0 +<U00BF> \xA8 |0 +<U00D1> \xA5 |0 +<U00DF> \xE1 |0 +<U00E1> \xA0 |0 +<U00ED> \xA1 |0 +<U00F1> \xA4 |0 +<U00F3> \xA2 |0 +<U00F7> \xF6 |0 +<U00FA> \xA3 |0 +<U0192> \x9F |0 +<U0393> \xE2 |0 +<U0398> \xE9 |0 +<U03A3> \xE4 |0 +<U03A6> \xE8 |0 +<U03A9> \xEA |0 +<U03B1> \xE0 |0 +<U03B4> \xEB |0 +<U03B5> \xEE |0 +<U03BC> \xE6 |0 +<U03C0> \xE3 |0 +<U03C3> \xE5 |0 +<U03C4> \xE7 |0 +<U03C6> \xED |0 +<U05D0> \x80 |0 +<U05D1> \x81 |0 +<U05D2> \x82 |0 +<U05D3> \x83 |0 +<U05D4> \x84 |0 +<U05D5> \x85 |0 +<U05D6> \x86 |0 +<U05D7> \x87 |0 +<U05D8> \x88 |0 +<U05D9> \x89 |0 +<U05DA> \x8A |0 +<U05DB> \x8B |0 +<U05DC> \x8C |0 +<U05DD> \x8D |0 +<U05DE> \x8E |0 +<U05DF> \x8F |0 +<U05E0> \x90 |0 +<U05E1> \x91 |0 +<U05E2> \x92 |0 +<U05E3> \x93 |0 +<U05E4> \x94 |0 +<U05E5> \x95 |0 +<U05E6> \x96 |0 +<U05E7> \x97 |0 +<U05E8> \x98 |0 +<U05E9> \x99 |0 +<U05EA> \x9A |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U207F> \xFC |0 +<U20A7> \x9E |0 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U2219> \xF9 |0 +<U221A> \xFB |0 +<U221E> \xEC |0 +<U221F> \x1C |1 +<U2229> \xEF |0 +<U2248> \xF7 |0 +<U2261> \xF0 |0 +<U2264> \xF3 |0 +<U2265> \xF2 |0 +<U2302> \x7F |2 +<U2310> \xA9 |0 +<U2320> \xF4 |0 +<U2321> \xF5 |0 +<U2500> \xC4 |0 +<U2502> \xB3 |0 +<U250C> \xDA |0 +<U2510> \xBF |0 +<U2514> \xC0 |0 +<U2518> \xD9 |0 +<U251C> \xC3 |0 +<U2524> \xB4 |0 +<U252C> \xC2 |0 +<U2534> \xC1 |0 +<U253C> \xC5 |0 +<U2550> \xCD |0 +<U2551> \xBA |0 +<U2552> \xD5 |0 +<U2553> \xD6 |0 +<U2554> \xC9 |0 +<U2555> \xB8 |0 +<U2556> \xB7 |0 +<U2557> \xBB |0 +<U2558> \xD4 |0 +<U2559> \xD3 |0 +<U255A> \xC8 |0 +<U255B> \xBE |0 +<U255C> \xBD |0 +<U255D> \xBC |0 +<U255E> \xC6 |0 +<U255F> \xC7 |0 +<U2560> \xCC |0 +<U2561> \xB5 |0 +<U2562> \xB6 |0 +<U2563> \xB9 |0 +<U2564> \xD1 |0 +<U2565> \xD2 |0 +<U2566> \xCB |0 +<U2567> \xCF |0 +<U2568> \xD0 |0 +<U2569> \xCA |0 +<U256A> \xD8 |0 +<U256B> \xD7 |0 +<U256C> \xCE |0 +<U2580> \xDF |0 +<U2584> \xDC |0 +<U2588> \xDB |0 +<U258C> \xDD |0 +<U2590> \xDE |0 +<U2591> \xB0 |0 +<U2592> \xB1 |0 +<U2593> \xB2 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266B> \x0E |1 +<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 +<UFFE8> \xB3 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-864.ucm b/mcs/class/I18N/Rare/ibm-864.ucm new file mode 100644 index 00000000000..3128d1c227d --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-864.ucm @@ -0,0 +1,498 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Thu Nov 9 17:44:50 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00360.RXMAP110 and 036034B0.TXMAP110 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-864" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-864 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xA0 |0 +<U00A2> \xC0 |0 +<U00A3> \xA3 |0 +<U00A4> \xA4 |0 +<U00A6> \xDB |0 +<U00A7> \x15 |1 +<U00AB> \x97 |0 +<U00AC> \xDC |0 +<U00AD> \xA1 |0 +<U00B0> \x80 |0 +<U00B1> \x93 |0 +<U00B6> \x14 |1 +<U00B7> \x81 |0 +<U00BB> \x98 |0 +<U00BC> \x95 |0 +<U00BD> \x94 |0 +<U00D7> \xDE |0 +<U00F7> \xDD |0 +<U03B2> \x90 |0 +<U03C6> \x92 |0 +<U060C> \xAC |0 +<U061B> \xBB |0 +<U061F> \xBF |0 +<U0621> \xC1 |1 +<U0622> \xC2 |1 +<U0623> \xC3 |1 +<U0624> \xC4 |1 +<U0626> \xC6 |1 +<U0627> \xC7 |1 +<U0628> \xC8 |1 +<U0629> \xC9 |1 +<U062A> \xCA |1 +<U062B> \xCB |1 +<U062C> \xCC |1 +<U062D> \xCD |1 +<U062E> \xCE |1 +<U062F> \xCF |1 +<U0630> \xD0 |1 +<U0631> \xD1 |1 +<U0632> \xD2 |1 +<U0633> \xD3 |1 +<U0634> \xD4 |1 +<U0635> \xD5 |1 +<U0636> \xD6 |1 +<U0637> \xD7 |1 +<U0638> \xD8 |1 +<U0639> \xD9 |1 +<U063A> \xDA |1 +<U0640> \xE0 |0 +<U0641> \xE1 |1 +<U0642> \xE2 |1 +<U0643> \xE3 |1 +<U0644> \xE4 |1 +<U0645> \xE5 |1 +<U0646> \xE6 |1 +<U0647> \xE7 |1 +<U0648> \xE8 |1 +<U0649> \xE9 |1 +<U064A> \xFD |1 +<U0651> \xF1 |1 +<U0660> \xB0 |0 +<U0661> \xB1 |0 +<U0662> \xB2 |0 +<U0663> \xB3 |0 +<U0664> \xB4 |0 +<U0665> \xB5 |0 +<U0666> \xB6 |0 +<U0667> \xB7 |0 +<U0668> \xB8 |0 +<U0669> \xB9 |0 +<U066A> \x25 |1 +<U066B> \x2C |1 +<U066C> \x2E |1 +<U066D> \x2A |1 +<U200B> \x9F |0 +<U203C> \x13 |1 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U2219> \x82 |0 +<U221A> \x83 |0 +<U221E> \x91 |0 +<U221F> \x1C |1 +<U2248> \x96 |0 +<U2302> \x7F |2 +<U2500> \x85 |0 +<U2502> \x86 |0 +<U250C> \x8D |0 +<U2510> \x8C |0 +<U2514> \x8E |0 +<U2518> \x8F |0 +<U251C> \x8A |0 +<U2524> \x88 |0 +<U252C> \x89 |0 +<U2534> \x8B |0 +<U253C> \x87 |0 +<U2550> \x05 |1 +<U2551> \x06 |1 +<U2554> \x0D |1 +<U2557> \x0C |1 +<U255A> \x0E |1 +<U255D> \x0F |1 +<U2560> \x0A |1 +<U2563> \x08 |1 +<U2566> \x09 |1 +<U2569> \x0B |1 +<U256C> \x07 |1 +<U2592> \x84 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U263A> \x01 |1 +<U263C> \x04 |1 +<U266A> \x02 |1 +<U266C> \x03 |1 +<UFE7C> \xF1 |0 +<UFE7D> \xF0 |0 +<UFE80> \xC1 |0 +<UFE81> \xC2 |0 +<UFE82> \xA2 |0 +<UFE83> \xC3 |0 +<UFE84> \xA5 |0 +<UFE85> \xC4 |0 +<UFE86> \xC4 |1 +<UFE8B> \xC6 |0 +<UFE8C> \xC6 |1 +<UFE8D> \xC7 |0 +<UFE8E> \xA8 |0 +<UFE8F> \xA9 |0 +<UFE90> \xA9 |1 +<UFE91> \xC8 |0 +<UFE92> \xC8 |1 +<UFE93> \xC9 |0 +<UFE94> \xC9 |1 +<UFE95> \xAA |0 +<UFE96> \xAA |1 +<UFE97> \xCA |0 +<UFE98> \xCA |1 +<UFE99> \xAB |0 +<UFE9A> \xAB |1 +<UFE9B> \xCB |0 +<UFE9C> \xCB |1 +<UFE9D> \xAD |0 +<UFE9E> \xAD |1 +<UFE9F> \xCC |0 +<UFEA0> \xCC |1 +<UFEA1> \xAE |0 +<UFEA2> \xAE |1 +<UFEA3> \xCD |0 +<UFEA4> \xCD |1 +<UFEA5> \xAF |0 +<UFEA6> \xAF |1 +<UFEA7> \xCE |0 +<UFEA8> \xCE |1 +<UFEA9> \xCF |0 +<UFEAA> \xCF |1 +<UFEAB> \xD0 |0 +<UFEAC> \xD0 |1 +<UFEAD> \xD1 |0 +<UFEAE> \xD1 |1 +<UFEAF> \xD2 |0 +<UFEB0> \xD2 |1 +<UFEB1> \xBC |0 +<UFEB2> \xBC |1 +<UFEB3> \xD3 |0 +<UFEB4> \xD3 |1 +<UFEB5> \xBD |0 +<UFEB6> \xBD |1 +<UFEB7> \xD4 |0 +<UFEB8> \xD4 |1 +<UFEB9> \xBE |0 +<UFEBA> \xBE |1 +<UFEBB> \xD5 |0 +<UFEBC> \xD5 |1 +<UFEBD> \xEB |0 +<UFEBE> \xEB |1 +<UFEBF> \xD6 |0 +<UFEC0> \xD6 |1 +<UFEC1> \xD7 |1 +<UFEC2> \xD7 |1 +<UFEC3> \xD7 |0 +<UFEC4> \xD7 |1 +<UFEC5> \xD8 |1 +<UFEC6> \xD8 |1 +<UFEC7> \xD8 |0 +<UFEC8> \xD8 |1 +<UFEC9> \xDF |0 +<UFECA> \xC5 |0 +<UFECB> \xD9 |0 +<UFECC> \xEC |0 +<UFECD> \xEE |0 +<UFECE> \xED |0 +<UFECF> \xDA |0 +<UFED0> \xF7 |0 +<UFED1> \xBA |0 +<UFED2> \xBA |1 +<UFED3> \xE1 |0 +<UFED4> \xE1 |1 +<UFED5> \xF8 |0 +<UFED6> \xF8 |1 +<UFED7> \xE2 |0 +<UFED8> \xE2 |1 +<UFED9> \xFC |0 +<UFEDA> \xFC |1 +<UFEDB> \xE3 |0 +<UFEDC> \xE3 |1 +<UFEDD> \xFB |0 +<UFEDE> \xFB |1 +<UFEDF> \xE4 |0 +<UFEE0> \xE4 |1 +<UFEE1> \xEF |0 +<UFEE2> \xEF |1 +<UFEE3> \xE5 |0 +<UFEE4> \xE5 |1 +<UFEE5> \xF2 |0 +<UFEE6> \xF2 |1 +<UFEE7> \xE6 |0 +<UFEE8> \xE6 |1 +<UFEE9> \xF3 |0 +<UFEEA> \xF3 |1 +<UFEEB> \xE7 |0 +<UFEEC> \xF4 |0 +<UFEED> \xE8 |0 +<UFEEE> \xE8 |1 +<UFEEF> \xE9 |0 +<UFEF0> \xF5 |0 +<UFEF1> \xFD |0 +<UFEF2> \xF6 |0 +<UFEF3> \xEA |0 +<UFEF4> \xEA |1 +<UFEF5> \xF9 |0 +<UFEF6> \xFA |0 +<UFEF7> \x99 |0 +<UFEF8> \x9A |0 +<UFEFB> \x9D |0 +<UFEFC> \x9E |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 +<UFFE8> \x86 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-866.ucm b/mcs/class/I18N/Rare/ibm-866.ucm new file mode 100644 index 00000000000..f8c434d4b84 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-866.ucm @@ -0,0 +1,416 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 09:28:03 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00362.RPMAP100 and 036234B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-866" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-866 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A4> \xFD |0 +<U00A7> \x15 |1 +<U00B0> \xF8 |0 +<U00B6> \x14 |1 +<U00B7> \xFA |0 +<U0401> \xF0 |0 +<U0404> \xF2 |0 +<U0407> \xF4 |0 +<U040E> \xF6 |0 +<U0410> \x80 |0 +<U0411> \x81 |0 +<U0412> \x82 |0 +<U0413> \x83 |0 +<U0414> \x84 |0 +<U0415> \x85 |0 +<U0416> \x86 |0 +<U0417> \x87 |0 +<U0418> \x88 |0 +<U0419> \x89 |0 +<U041A> \x8A |0 +<U041B> \x8B |0 +<U041C> \x8C |0 +<U041D> \x8D |0 +<U041E> \x8E |0 +<U041F> \x8F |0 +<U0420> \x90 |0 +<U0421> \x91 |0 +<U0422> \x92 |0 +<U0423> \x93 |0 +<U0424> \x94 |0 +<U0425> \x95 |0 +<U0426> \x96 |0 +<U0427> \x97 |0 +<U0428> \x98 |0 +<U0429> \x99 |0 +<U042A> \x9A |0 +<U042B> \x9B |0 +<U042C> \x9C |0 +<U042D> \x9D |0 +<U042E> \x9E |0 +<U042F> \x9F |0 +<U0430> \xA0 |0 +<U0431> \xA1 |0 +<U0432> \xA2 |0 +<U0433> \xA3 |0 +<U0434> \xA4 |0 +<U0435> \xA5 |0 +<U0436> \xA6 |0 +<U0437> \xA7 |0 +<U0438> \xA8 |0 +<U0439> \xA9 |0 +<U043A> \xAA |0 +<U043B> \xAB |0 +<U043C> \xAC |0 +<U043D> \xAD |0 +<U043E> \xAE |0 +<U043F> \xAF |0 +<U0440> \xE0 |0 +<U0441> \xE1 |0 +<U0442> \xE2 |0 +<U0443> \xE3 |0 +<U0444> \xE4 |0 +<U0445> \xE5 |0 +<U0446> \xE6 |0 +<U0447> \xE7 |0 +<U0448> \xE8 |0 +<U0449> \xE9 |0 +<U044A> \xEA |0 +<U044B> \xEB |0 +<U044C> \xEC |0 +<U044D> \xED |0 +<U044E> \xEE |0 +<U044F> \xEF |0 +<U0451> \xF1 |0 +<U0454> \xF3 |0 +<U0457> \xF5 |0 +<U045E> \xF7 |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U2116> \xFC |0 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U2219> \xF9 |0 +<U221A> \xFB |0 +<U221F> \x1C |1 +<U2302> \x7F |2 +<U2500> \xC4 |0 +<U2502> \xB3 |0 +<U250C> \xDA |0 +<U2510> \xBF |0 +<U2514> \xC0 |0 +<U2518> \xD9 |0 +<U251C> \xC3 |0 +<U2524> \xB4 |0 +<U252C> \xC2 |0 +<U2534> \xC1 |0 +<U253C> \xC5 |0 +<U2550> \xCD |0 +<U2551> \xBA |0 +<U2552> \xD5 |0 +<U2553> \xD6 |0 +<U2554> \xC9 |0 +<U2555> \xB8 |0 +<U2556> \xB7 |0 +<U2557> \xBB |0 +<U2558> \xD4 |0 +<U2559> \xD3 |0 +<U255A> \xC8 |0 +<U255B> \xBE |0 +<U255C> \xBD |0 +<U255D> \xBC |0 +<U255E> \xC6 |0 +<U255F> \xC7 |0 +<U2560> \xCC |0 +<U2561> \xB5 |0 +<U2562> \xB6 |0 +<U2563> \xB9 |0 +<U2564> \xD1 |0 +<U2565> \xD2 |0 +<U2566> \xCB |0 +<U2567> \xCF |0 +<U2568> \xD0 |0 +<U2569> \xCA |0 +<U256A> \xD8 |0 +<U256B> \xD7 |0 +<U256C> \xCE |0 +<U2580> \xDF |0 +<U2584> \xDC |0 +<U2588> \xDB |0 +<U258C> \xDD |0 +<U2590> \xDE |0 +<U2591> \xB0 |0 +<U2592> \xB1 |0 +<U2593> \xB2 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266B> \x0E |1 +<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 +<UFFE8> \xB3 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-869.ucm b/mcs/class/I18N/Rare/ibm-869.ucm new file mode 100644 index 00000000000..33eb1d8555f --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-869.ucm @@ -0,0 +1,408 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 09:28:03 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00365.RPMAP100 and 036534B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-869" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-869 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A3> \x9C |0 +<U00A6> \x8A |0 +<U00A7> \xF5 |0 +<U00A8> \xF9 |0 +<U00A9> \x97 |0 +<U00AB> \xAE |0 +<U00AC> \x89 |0 +<U00AD> \xF0 |0 +<U00B0> \xF8 |0 +<U00B1> \xF1 |0 +<U00B2> \x99 |0 +<U00B3> \x9A |0 +<U00B4> \xEF |0 +<U00B6> \x14 |1 +<U00B7> \x88 |1 +<U00BB> \xAF |0 +<U00BD> \xAB |0 +<U0385> \xF7 |0 +<U0386> \x86 |0 +<U0387> \x88 |0 +<U0388> \x8D |0 +<U0389> \x8F |0 +<U038A> \x90 |0 +<U038C> \x92 |0 +<U038E> \x95 |0 +<U038F> \x98 |0 +<U0390> \xA1 |0 +<U0391> \xA4 |0 +<U0392> \xA5 |0 +<U0393> \xA6 |0 +<U0394> \xA7 |0 +<U0395> \xA8 |0 +<U0396> \xA9 |0 +<U0397> \xAA |0 +<U0398> \xAC |0 +<U0399> \xAD |0 +<U039A> \xB5 |0 +<U039B> \xB6 |0 +<U039C> \xB7 |0 +<U039D> \xB8 |0 +<U039E> \xBD |0 +<U039F> \xBE |0 +<U03A0> \xC6 |0 +<U03A1> \xC7 |0 +<U03A3> \xCF |0 +<U03A4> \xD0 |0 +<U03A5> \xD1 |0 +<U03A6> \xD2 |0 +<U03A7> \xD3 |0 +<U03A8> \xD4 |0 +<U03A9> \xD5 |0 +<U03AA> \x91 |0 +<U03AB> \x96 |0 +<U03AC> \x9B |0 +<U03AD> \x9D |0 +<U03AE> \x9E |0 +<U03AF> \x9F |0 +<U03B0> \xFC |0 +<U03B1> \xD6 |0 +<U03B2> \xD7 |0 +<U03B3> \xD8 |0 +<U03B4> \xDD |0 +<U03B5> \xDE |0 +<U03B6> \xE0 |0 +<U03B7> \xE1 |0 +<U03B8> \xE2 |0 +<U03B9> \xE3 |0 +<U03BA> \xE4 |0 +<U03BB> \xE5 |0 +<U03BC> \xE6 |0 +<U03BD> \xE7 |0 +<U03BE> \xE8 |0 +<U03BF> \xE9 |0 +<U03C0> \xEA |0 +<U03C1> \xEB |0 +<U03C2> \xED |0 +<U03C3> \xEC |0 +<U03C4> \xEE |0 +<U03C5> \xF2 |0 +<U03C6> \xF3 |0 +<U03C7> \xF4 |0 +<U03C8> \xF6 |0 +<U03C9> \xFA |0 +<U03CA> \xA0 |0 +<U03CB> \xFB |0 +<U03CC> \xA2 |0 +<U03CD> \xA3 |0 +<U03CE> \xFD |0 +<U03D5> \xF3 |1 +<U2015> \x8E |0 +<U2018> \x8B |0 +<U2019> \x8C |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U221F> \x1C |1 +<U2302> \x7F |2 +<U2500> \xC4 |0 +<U2502> \xB3 |0 +<U250C> \xDA |0 +<U2510> \xBF |0 +<U2514> \xC0 |0 +<U2518> \xD9 |0 +<U251C> \xC3 |0 +<U2524> \xB4 |0 +<U252C> \xC2 |0 +<U2534> \xC1 |0 +<U253C> \xC5 |0 +<U2550> \xCD |0 +<U2551> \xBA |0 +<U2554> \xC9 |0 +<U2557> \xBB |0 +<U255A> \xC8 |0 +<U255D> \xBC |0 +<U2560> \xCC |0 +<U2563> \xB9 |0 +<U2566> \xCB |0 +<U2569> \xCA |0 +<U256C> \xCE |0 +<U2580> \xDF |0 +<U2584> \xDC |0 +<U2588> \xDB |0 +<U2591> \xB0 |0 +<U2592> \xB1 |0 +<U2593> \xB2 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266B> \x0E |1 +<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 +<UFFE8> \xB3 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-870.ucm b/mcs/class/I18N/Rare/ibm-870.ucm new file mode 100644 index 00000000000..53d0fce869e --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-870.ucm @@ -0,0 +1,372 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2001, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created by rptp2ucm (compiled on Feb 23 2001) +# from source files 34B00366.RPMAP100 and 036634B0.TPMAP100 +# +<code_set_name> "ibm-870_P100-2000" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +<icu:charsetFamily> "EBCDIC" +<icu:alias> "ibm-870_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 +<U00A4> \x9F |0 +<U00A7> \xB5 |0 +<U00A8> \xBD |0 +<U00AD> \xCA |0 +<U00B0> \x90 |0 +<U00B4> \xBE |0 +<U00B8> \x9D |0 +<U00C1> \x65 |0 +<U00C2> \x62 |0 +<U00C4> \x63 |0 +<U00C7> \x68 |0 +<U00C9> \x71 |0 +<U00CB> \x73 |0 +<U00CD> \x75 |0 +<U00CE> \x76 |0 +<U00D0> \xAC |1 +<U00D3> \xEE |0 +<U00D4> \xEB |0 +<U00D6> \xEC |0 +<U00D7> \xBF |0 +<U00DA> \xFE |0 +<U00DC> \xFC |0 +<U00DD> \xAD |0 +<U00DF> \x59 |0 +<U00E1> \x45 |0 +<U00E2> \x42 |0 +<U00E4> \x43 |0 +<U00E7> \x48 |0 +<U00E9> \x51 |0 +<U00EB> \x53 |0 +<U00ED> \x55 |0 +<U00EE> \x56 |0 +<U00F3> \xCE |0 +<U00F4> \xCB |0 +<U00F6> \xCC |0 +<U00F7> \xE1 |0 +<U00FA> \xDE |0 +<U00FC> \xDC |0 +<U00FD> \x8D |0 +<U0102> \x66 |0 +<U0103> \x46 |0 +<U0104> \xB1 |0 +<U0105> \xA0 |0 +<U0106> \x69 |0 +<U0107> \x49 |0 +<U010C> \x67 |0 +<U010D> \x47 |0 +<U010E> \xFA |0 +<U010F> \xEA |0 +<U0110> \xAC |0 +<U0111> \x8C |0 +<U0118> \x72 |0 +<U0119> \x52 |0 +<U011A> \xDA |0 +<U011B> \xDF |0 +<U0139> \x78 |0 +<U013A> \x58 |0 +<U013D> \x77 |0 +<U013E> \x57 |0 +<U0141> \xBA |0 +<U0142> \x9A |0 +<U0143> \xBB |0 +<U0144> \x9B |0 +<U0147> \xAB |0 +<U0148> \x8B |0 +<U0150> \xEF |0 +<U0151> \xCF |0 +<U0154> \xED |0 +<U0155> \xCD |0 +<U0158> \xAE |0 +<U0159> \x8E |0 +<U015A> \xAA |0 +<U015B> \x8A |0 +<U015E> \xAF |0 +<U015F> \x8F |0 +<U0160> \xBC |0 +<U0161> \x9C |0 +<U0162> \xB3 |0 +<U0163> \x44 |0 +<U0164> \xFD |0 +<U0165> \xDD |0 +<U016E> \x74 |0 +<U016F> \x54 |0 +<U0170> \xFB |0 +<U0171> \xDB |0 +<U0179> \xB9 |0 +<U017A> \xB7 |0 +<U017B> \xB4 |0 +<U017C> \xB2 |0 +<U017D> \xB8 |0 +<U017E> \xB6 |0 +<U02C7> \x70 |0 +<U02D8> \x80 |0 +<U02D9> \xB0 |0 +<U02DB> \x9E |0 +<U02DD> \x64 |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 diff --git a/mcs/class/I18N/Rare/ibm-871.ucm b/mcs/class/I18N/Rare/ibm-871.ucm new file mode 100644 index 00000000000..728990ee788 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-871.ucm @@ -0,0 +1,379 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 09:28:03 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00367.RPMAP100 and 036734B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-871" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +# +CHARMAP +# +# +#ISO 10646 IBM-871 +#_________ _________ +<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> \xAC |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> \xAE |0 +<U005C> \xBE |0 +<U005D> \x9E |0 +<U005E> \xEC |0 +<U005F> \x6D |0 +<U0060> \x8C |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> \x8E |0 +<U007C> \xBB |0 +<U007D> \x9C |0 +<U007E> \xCC |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> \xB0 |0 +<U00A3> \xB1 |0 +<U00A4> \x9F |0 +<U00A5> \xB2 |0 +<U00A6> \x6A |0 +<U00A7> \xB5 |0 +<U00A8> \xBD |0 +<U00A9> \xB4 |0 +<U00AA> \x9A |0 +<U00AB> \x8A |0 +<U00AC> \xBA |0 +<U00AD> \xCA |0 +<U00AE> \xAF |0 +<U00AF> \xBC |0 +<U00B0> \x90 |0 +<U00B1> \x8F |0 +<U00B2> \xEA |0 +<U00B3> \xFA |0 +<U00B4> \xE0 |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> \x5A |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> \x7C |0 +<U00D1> \x69 |0 +<U00D2> \xED |0 +<U00D3> \xEE |0 +<U00D4> \xEB |0 +<U00D5> \xEF |0 +<U00D6> \x5F |0 +<U00D7> \xBF |0 +<U00D8> \x80 |0 +<U00D9> \xFD |0 +<U00DA> \xFE |0 +<U00DB> \xFB |0 +<U00DC> \xFC |0 +<U00DD> \xAD |0 +<U00DE> \x4A |0 +<U00DF> \x59 |0 +<U00E0> \x44 |0 +<U00E1> \x45 |0 +<U00E2> \x42 |0 +<U00E3> \x46 |0 +<U00E4> \x43 |0 +<U00E5> \x47 |0 +<U00E6> \xD0 |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> \x79 |0 +<U00F1> \x49 |0 +<U00F2> \xCD |0 +<U00F3> \xCE |0 +<U00F4> \xCB |0 +<U00F5> \xCF |0 +<U00F6> \xA1 |0 +<U00F7> \xE1 |0 +<U00F8> \x70 |0 +<U00F9> \xDD |0 +<U00FA> \xDE |0 +<U00FB> \xDB |0 +<U00FC> \xDC |0 +<U00FD> \x8D |0 +<U00FE> \xC0 |0 +<U00FF> \xDF |0 +<U0110> \x7C |1 +<U203E> \xBC |1 +<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> \xAC |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> \xAE |1 +<UFF3C> \xBE |1 +<UFF3D> \x9E |1 +<UFF3E> \xEC |1 +<UFF3F> \x6D |1 +<UFF40> \x8C |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> \x8E |1 +<UFF5C> \xBB |1 +<UFF5D> \x9C |1 +<UFF5E> \xCC |1 +END CHARMAP diff --git a/mcs/class/I18N/Rare/ibm-875.ucm b/mcs/class/I18N/Rare/ibm-875.ucm new file mode 100644 index 00000000000..b9ec20a5a59 --- /dev/null +++ b/mcs/class/I18N/Rare/ibm-875.ucm @@ -0,0 +1,367 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2001, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created by rptp2ucm (compiled on Feb 23 2001) +# from source files 34B0036B.RPMAP100 and 036B34B0.TPMAP100 +# +<code_set_name> "ibm-875_P100-2000" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x3F +<icu:charsetFamily> "EBCDIC" +<icu:alias> "ibm-875_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> \x74 |0 +<U00A3> \xB0 |0 +<U00A6> \xDF |0 +<U00A7> \xEB |0 +<U00A8> \x70 |0 +<U00A9> \xFB |0 +<U00AB> \xEE |0 +<U00AC> \xEF |0 +<U00AD> \xCA |0 +<U00B0> \x90 |0 +<U00B1> \xDA |0 +<U00B2> \xEA |0 +<U00B3> \xFA |0 +<U00B4> \xA0 |0 +<U00B7> \xDD |1 +<U00BB> \xFE |0 +<U00BD> \xDB |0 +<U0385> \x80 |0 +<U0386> \x71 |0 +<U0387> \xDD |0 +<U0388> \x72 |0 +<U0389> \x73 |0 +<U038A> \x75 |0 +<U038C> \x76 |0 +<U038E> \x77 |0 +<U038F> \x78 |0 +<U0390> \xCC |0 +<U0391> \x41 |0 +<U0392> \x42 |0 +<U0393> \x43 |0 +<U0394> \x44 |0 +<U0395> \x45 |0 +<U0396> \x46 |0 +<U0397> \x47 |0 +<U0398> \x48 |0 +<U0399> \x49 |0 +<U039A> \x51 |0 +<U039B> \x52 |0 +<U039C> \x53 |0 +<U039D> \x54 |0 +<U039E> \x55 |0 +<U039F> \x56 |0 +<U03A0> \x57 |0 +<U03A1> \x58 |0 +<U03A3> \x59 |0 +<U03A4> \x62 |0 +<U03A5> \x63 |0 +<U03A6> \x64 |0 +<U03A7> \x65 |0 +<U03A8> \x66 |0 +<U03A9> \x67 |0 +<U03AA> \x68 |0 +<U03AB> \x69 |0 +<U03AC> \xB1 |0 +<U03AD> \xB2 |0 +<U03AE> \xB3 |0 +<U03AF> \xB5 |0 +<U03B0> \xCD |0 +<U03B1> \x8A |0 +<U03B2> \x8B |0 +<U03B3> \x8C |0 +<U03B4> \x8D |0 +<U03B5> \x8E |0 +<U03B6> \x8F |0 +<U03B7> \x9A |0 +<U03B8> \x9B |0 +<U03B9> \x9C |0 +<U03BA> \x9D |0 +<U03BB> \x9E |0 +<U03BC> \x9F |0 +<U03BD> \xAA |0 +<U03BE> \xAB |0 +<U03BF> \xAC |0 +<U03C0> \xAD |0 +<U03C1> \xAE |0 +<U03C2> \xBA |0 +<U03C3> \xAF |0 +<U03C4> \xBB |0 +<U03C5> \xBC |0 +<U03C6> \xBD |0 +<U03C7> \xBE |0 +<U03C8> \xBF |0 +<U03C9> \xCB |0 +<U03CA> \xB4 |0 +<U03CB> \xB8 |0 +<U03CC> \xB6 |0 +<U03CD> \xB7 |0 +<U03CE> \xB9 |0 +<U03D5> \xBD |1 +<U2015> \xCF |0 +<U2018> \xCE |0 +<U2019> \xDE |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 diff --git a/mcs/class/I18N/Rare/list.unix b/mcs/class/I18N/Rare/list.unix new file mode 100755 index 00000000000..90b9ffa89ca --- /dev/null +++ b/mcs/class/I18N/Rare/list.unix @@ -0,0 +1,37 @@ +CP866.cs +CP1026.cs +CP869.cs +CP870.cs +CP875.cs +CP1047.cs +CP1140.cs +CP1141.cs +CP1142.cs +CP1143.cs +CP1144.cs +CP1145.cs +CP1146.cs +CP1147.cs +CP1148.cs +CP1149.cs +CP20273.cs +CP20277.cs +CP20278.cs +CP20280.cs +CP20284.cs +CP20285.cs +CP20290.cs +CP20297.cs +CP20420.cs +CP20424.cs +CP20871.cs +CP21025.cs +CP37.cs +CP500.cs +CP708.cs +CP852.cs +CP855.cs +CP857.cs +CP858.cs +CP862.cs +CP864.cs diff --git a/mcs/class/I18N/Rare/makefile.gnu b/mcs/class/I18N/Rare/makefile.gnu new file mode 100755 index 00000000000..15aa6124dd3 --- /dev/null +++ b/mcs/class/I18N/Rare/makefile.gnu @@ -0,0 +1,13 @@ +topdir = ../../.. + +LIBRARY = $(topdir)/class/lib/I18N.Rare.dll + +LIB_LIST = list.unix +LIB_FLAGS = -r corlib -r mscorlib -r I18N + +SOURCES_INCLUDE=*.cs +SOURCES_EXCLUDE= + +export MONO_PATH_PREFIX = $(topdir)/class/lib: + +include $(topdir)/class/library.make diff --git a/mcs/class/I18N/West/.cvsignore b/mcs/class/I18N/West/.cvsignore new file mode 100644 index 00000000000..0c2ee6906fa --- /dev/null +++ b/mcs/class/I18N/West/.cvsignore @@ -0,0 +1,4 @@ +list +.makefrag +.response +library-deps.stamp diff --git a/mcs/class/I18N/West/CP10000.cs b/mcs/class/I18N/West/CP10000.cs new file mode 100644 index 00000000000..3cd1c00b203 --- /dev/null +++ b/mcs/class/I18N/West/CP10000.cs @@ -0,0 +1,405 @@ +/* + * CP10000.cs - Western European (Mac) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-1275.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP10000 : ByteEncoding +{ + public CP10000() + : base(10000, ToChars, "Western European (Mac)", + "macintosh", "macintosh", "macintosh", + 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', '\u00C4', '\u00C5', '\u00C7', '\u00C9', + '\u00D1', '\u00D6', '\u00DC', '\u00E1', '\u00E0', '\u00E2', + '\u00E4', '\u00E3', '\u00E5', '\u00E7', '\u00E9', '\u00E8', + '\u00EA', '\u00EB', '\u00ED', '\u00EC', '\u00EE', '\u00EF', + '\u00F1', '\u00F3', '\u00F2', '\u00F4', '\u00F6', '\u00F5', + '\u00FA', '\u00F9', '\u00FB', '\u00FC', '\u2020', '\u00B0', + '\u00A2', '\u00A3', '\u00A7', '\u2022', '\u00B6', '\u00DF', + '\u00AE', '\u00A9', '\u2122', '\u00B4', '\u00A8', '\u2260', + '\u00C6', '\u00D8', '\u221E', '\u00B1', '\u2264', '\u2265', + '\u00A5', '\u00B5', '\u2202', '\u2211', '\u220F', '\u03C0', + '\u222B', '\u00AA', '\u00BA', '\u2126', '\u00E6', '\u00F8', + '\u00BF', '\u00A1', '\u00AC', '\u221A', '\u0192', '\u2248', + '\u2206', '\u00AB', '\u00BB', '\u2026', '\u00A0', '\u00C0', + '\u00C3', '\u00D5', '\u0152', '\u0153', '\u2013', '\u2014', + '\u201C', '\u201D', '\u2018', '\u2019', '\u00F7', '\u25CA', + '\u00FF', '\u0178', '\u2044', '\u00A4', '\u2039', '\u203A', + '\uFB01', '\uFB02', '\u2021', '\u00B7', '\u201A', '\u201E', + '\u2030', '\u00C2', '\u00CA', '\u00C1', '\u00CB', '\u00C8', + '\u00CD', '\u00CE', '\u00CF', '\u00CC', '\u00D3', '\u00D4', + '\uF8FF', '\u00D2', '\u00DA', '\u00DB', '\u00D9', '\u0131', + '\u02C6', '\u02DC', '\u00AF', '\u02D8', '\u02D9', '\u02DA', + '\u00B8', '\u02DD', '\u02DB', '\u02C7', + }; + + 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 0x00A2: + case 0x00A3: + case 0x00A9: + case 0x00B1: + case 0x00B5: + break; + case 0x00A0: ch = 0xCA; break; + case 0x00A1: ch = 0xC1; break; + case 0x00A4: ch = 0xDB; break; + case 0x00A5: ch = 0xB4; break; + case 0x00A7: ch = 0xA4; break; + case 0x00A8: ch = 0xAC; break; + case 0x00AA: ch = 0xBB; break; + case 0x00AB: ch = 0xC7; break; + case 0x00AC: ch = 0xC2; break; + case 0x00AE: ch = 0xA8; break; + case 0x00AF: ch = 0xF8; break; + case 0x00B0: ch = 0xA1; break; + case 0x00B4: ch = 0xAB; break; + case 0x00B6: ch = 0xA6; break; + case 0x00B7: ch = 0xE1; break; + case 0x00B8: ch = 0xFC; break; + case 0x00BA: ch = 0xBC; break; + case 0x00BB: ch = 0xC8; break; + case 0x00BF: ch = 0xC0; break; + case 0x00C0: ch = 0xCB; break; + case 0x00C1: ch = 0xE7; break; + case 0x00C2: ch = 0xE5; break; + case 0x00C3: ch = 0xCC; break; + case 0x00C4: ch = 0x80; break; + case 0x00C5: ch = 0x81; break; + case 0x00C6: ch = 0xAE; break; + case 0x00C7: ch = 0x82; break; + case 0x00C8: ch = 0xE9; break; + case 0x00C9: ch = 0x83; break; + case 0x00CA: ch = 0xE6; break; + case 0x00CB: ch = 0xE8; break; + case 0x00CC: ch = 0xED; break; + case 0x00CD: ch = 0xEA; break; + case 0x00CE: ch = 0xEB; break; + case 0x00CF: ch = 0xEC; break; + case 0x00D1: ch = 0x84; break; + case 0x00D2: ch = 0xF1; break; + case 0x00D3: ch = 0xEE; break; + case 0x00D4: ch = 0xEF; break; + case 0x00D5: ch = 0xCD; break; + case 0x00D6: ch = 0x85; break; + case 0x00D8: ch = 0xAF; break; + case 0x00D9: ch = 0xF4; break; + case 0x00DA: ch = 0xF2; break; + case 0x00DB: ch = 0xF3; break; + case 0x00DC: ch = 0x86; break; + case 0x00DF: ch = 0xA7; break; + case 0x00E0: ch = 0x88; break; + case 0x00E1: ch = 0x87; break; + case 0x00E2: ch = 0x89; break; + case 0x00E3: ch = 0x8B; break; + case 0x00E4: ch = 0x8A; break; + case 0x00E5: ch = 0x8C; break; + case 0x00E6: ch = 0xBE; break; + case 0x00E7: ch = 0x8D; break; + case 0x00E8: ch = 0x8F; break; + case 0x00E9: ch = 0x8E; break; + case 0x00EA: ch = 0x90; break; + case 0x00EB: ch = 0x91; break; + case 0x00EC: ch = 0x93; break; + case 0x00ED: ch = 0x92; break; + case 0x00EE: ch = 0x94; break; + case 0x00EF: ch = 0x95; break; + case 0x00F1: ch = 0x96; break; + case 0x00F2: ch = 0x98; break; + case 0x00F3: ch = 0x97; break; + case 0x00F4: ch = 0x99; break; + case 0x00F5: ch = 0x9B; break; + case 0x00F6: ch = 0x9A; break; + case 0x00F7: ch = 0xD6; break; + case 0x00F8: ch = 0xBF; break; + case 0x00F9: ch = 0x9D; break; + case 0x00FA: ch = 0x9C; break; + case 0x00FB: ch = 0x9E; break; + case 0x00FC: ch = 0x9F; break; + case 0x00FF: ch = 0xD8; break; + case 0x0131: ch = 0xF5; break; + case 0x0152: ch = 0xCE; break; + case 0x0153: ch = 0xCF; break; + case 0x0178: ch = 0xD9; break; + case 0x0192: ch = 0xC4; break; + case 0x02C6: ch = 0xF6; break; + case 0x02C7: ch = 0xFF; break; + case 0x02D8: ch = 0xF9; break; + case 0x02D9: ch = 0xFA; break; + case 0x02DA: ch = 0xFB; break; + case 0x02DB: ch = 0xFE; break; + case 0x02DC: ch = 0xF7; break; + case 0x02DD: ch = 0xFD; break; + case 0x03C0: ch = 0xB9; break; + case 0x2013: ch = 0xD0; break; + case 0x2014: ch = 0xD1; break; + case 0x2018: ch = 0xD4; break; + case 0x2019: ch = 0xD5; break; + case 0x201A: ch = 0xE2; break; + case 0x201C: ch = 0xD2; break; + case 0x201D: ch = 0xD3; break; + case 0x201E: ch = 0xE3; break; + case 0x2020: ch = 0xA0; break; + case 0x2021: ch = 0xE0; break; + case 0x2022: ch = 0xA5; break; + case 0x2026: ch = 0xC9; break; + case 0x2030: ch = 0xE4; break; + case 0x2039: ch = 0xDC; break; + case 0x203A: ch = 0xDD; break; + case 0x2044: ch = 0xDA; break; + case 0x2122: ch = 0xAA; break; + case 0x2126: ch = 0xBD; break; + case 0x2202: ch = 0xB6; break; + case 0x2206: ch = 0xC6; break; + case 0x220F: ch = 0xB8; break; + case 0x2211: ch = 0xB7; break; + case 0x221A: ch = 0xC3; break; + case 0x221E: ch = 0xB0; break; + case 0x222B: ch = 0xBA; break; + case 0x2248: ch = 0xC5; break; + case 0x2260: ch = 0xAD; break; + case 0x2264: ch = 0xB2; break; + case 0x2265: ch = 0xB3; break; + case 0x2318: ch = 0x11; break; + case 0x25CA: ch = 0xD7; break; + case 0x2666: ch = 0x13; break; + case 0x2713: ch = 0x12; break; + case 0xF8FF: ch = 0xF0; break; + case 0xFB01: ch = 0xDE; break; + case 0xFB02: ch = 0xDF; 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 0x00A2: + case 0x00A3: + case 0x00A9: + case 0x00B1: + case 0x00B5: + break; + case 0x00A0: ch = 0xCA; break; + case 0x00A1: ch = 0xC1; break; + case 0x00A4: ch = 0xDB; break; + case 0x00A5: ch = 0xB4; break; + case 0x00A7: ch = 0xA4; break; + case 0x00A8: ch = 0xAC; break; + case 0x00AA: ch = 0xBB; break; + case 0x00AB: ch = 0xC7; break; + case 0x00AC: ch = 0xC2; break; + case 0x00AE: ch = 0xA8; break; + case 0x00AF: ch = 0xF8; break; + case 0x00B0: ch = 0xA1; break; + case 0x00B4: ch = 0xAB; break; + case 0x00B6: ch = 0xA6; break; + case 0x00B7: ch = 0xE1; break; + case 0x00B8: ch = 0xFC; break; + case 0x00BA: ch = 0xBC; break; + case 0x00BB: ch = 0xC8; break; + case 0x00BF: ch = 0xC0; break; + case 0x00C0: ch = 0xCB; break; + case 0x00C1: ch = 0xE7; break; + case 0x00C2: ch = 0xE5; break; + case 0x00C3: ch = 0xCC; break; + case 0x00C4: ch = 0x80; break; + case 0x00C5: ch = 0x81; break; + case 0x00C6: ch = 0xAE; break; + case 0x00C7: ch = 0x82; break; + case 0x00C8: ch = 0xE9; break; + case 0x00C9: ch = 0x83; break; + case 0x00CA: ch = 0xE6; break; + case 0x00CB: ch = 0xE8; break; + case 0x00CC: ch = 0xED; break; + case 0x00CD: ch = 0xEA; break; + case 0x00CE: ch = 0xEB; break; + case 0x00CF: ch = 0xEC; break; + case 0x00D1: ch = 0x84; break; + case 0x00D2: ch = 0xF1; break; + case 0x00D3: ch = 0xEE; break; + case 0x00D4: ch = 0xEF; break; + case 0x00D5: ch = 0xCD; break; + case 0x00D6: ch = 0x85; break; + case 0x00D8: ch = 0xAF; break; + case 0x00D9: ch = 0xF4; break; + case 0x00DA: ch = 0xF2; break; + case 0x00DB: ch = 0xF3; break; + case 0x00DC: ch = 0x86; break; + case 0x00DF: ch = 0xA7; break; + case 0x00E0: ch = 0x88; break; + case 0x00E1: ch = 0x87; break; + case 0x00E2: ch = 0x89; break; + case 0x00E3: ch = 0x8B; break; + case 0x00E4: ch = 0x8A; break; + case 0x00E5: ch = 0x8C; break; + case 0x00E6: ch = 0xBE; break; + case 0x00E7: ch = 0x8D; break; + case 0x00E8: ch = 0x8F; break; + case 0x00E9: ch = 0x8E; break; + case 0x00EA: ch = 0x90; break; + case 0x00EB: ch = 0x91; break; + case 0x00EC: ch = 0x93; break; + case 0x00ED: ch = 0x92; break; + case 0x00EE: ch = 0x94; break; + case 0x00EF: ch = 0x95; break; + case 0x00F1: ch = 0x96; break; + case 0x00F2: ch = 0x98; break; + case 0x00F3: ch = 0x97; break; + case 0x00F4: ch = 0x99; break; + case 0x00F5: ch = 0x9B; break; + case 0x00F6: ch = 0x9A; break; + case 0x00F7: ch = 0xD6; break; + case 0x00F8: ch = 0xBF; break; + case 0x00F9: ch = 0x9D; break; + case 0x00FA: ch = 0x9C; break; + case 0x00FB: ch = 0x9E; break; + case 0x00FC: ch = 0x9F; break; + case 0x00FF: ch = 0xD8; break; + case 0x0131: ch = 0xF5; break; + case 0x0152: ch = 0xCE; break; + case 0x0153: ch = 0xCF; break; + case 0x0178: ch = 0xD9; break; + case 0x0192: ch = 0xC4; break; + case 0x02C6: ch = 0xF6; break; + case 0x02C7: ch = 0xFF; break; + case 0x02D8: ch = 0xF9; break; + case 0x02D9: ch = 0xFA; break; + case 0x02DA: ch = 0xFB; break; + case 0x02DB: ch = 0xFE; break; + case 0x02DC: ch = 0xF7; break; + case 0x02DD: ch = 0xFD; break; + case 0x03C0: ch = 0xB9; break; + case 0x2013: ch = 0xD0; break; + case 0x2014: ch = 0xD1; break; + case 0x2018: ch = 0xD4; break; + case 0x2019: ch = 0xD5; break; + case 0x201A: ch = 0xE2; break; + case 0x201C: ch = 0xD2; break; + case 0x201D: ch = 0xD3; break; + case 0x201E: ch = 0xE3; break; + case 0x2020: ch = 0xA0; break; + case 0x2021: ch = 0xE0; break; + case 0x2022: ch = 0xA5; break; + case 0x2026: ch = 0xC9; break; + case 0x2030: ch = 0xE4; break; + case 0x2039: ch = 0xDC; break; + case 0x203A: ch = 0xDD; break; + case 0x2044: ch = 0xDA; break; + case 0x2122: ch = 0xAA; break; + case 0x2126: ch = 0xBD; break; + case 0x2202: ch = 0xB6; break; + case 0x2206: ch = 0xC6; break; + case 0x220F: ch = 0xB8; break; + case 0x2211: ch = 0xB7; break; + case 0x221A: ch = 0xC3; break; + case 0x221E: ch = 0xB0; break; + case 0x222B: ch = 0xBA; break; + case 0x2248: ch = 0xC5; break; + case 0x2260: ch = 0xAD; break; + case 0x2264: ch = 0xB2; break; + case 0x2265: ch = 0xB3; break; + case 0x2318: ch = 0x11; break; + case 0x25CA: ch = 0xD7; break; + case 0x2666: ch = 0x13; break; + case 0x2713: ch = 0x12; break; + case 0xF8FF: ch = 0xF0; break; + case 0xFB01: ch = 0xDE; break; + case 0xFB02: ch = 0xDF; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP10000 + +public class ENCmacintosh : CP10000 +{ + public ENCmacintosh() : base() {} + +}; // class ENCmacintosh + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP10079.cs b/mcs/class/I18N/West/CP10079.cs new file mode 100644 index 00000000000..3c2d04e67d5 --- /dev/null +++ b/mcs/class/I18N/West/CP10079.cs @@ -0,0 +1,381 @@ +/* + * CP10079.cs - Icelandic (Mac) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "mac-is.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP10079 : ByteEncoding +{ + public CP10079() + : base(10079, ToChars, "Icelandic (Mac)", + "x-mac-icelandic", "x-mac-icelandic", "x-mac-icelandic", + 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', '\u00C4', '\u00C5', '\u00C7', '\u00C9', + '\u00D1', '\u00D6', '\u00DC', '\u00E1', '\u00E0', '\u00E2', + '\u00E4', '\u00E3', '\u00E5', '\u00E7', '\u00E9', '\u00E8', + '\u00EA', '\u00EB', '\u00ED', '\u00EC', '\u00EE', '\u00EF', + '\u00F1', '\u00F3', '\u00F2', '\u00F4', '\u00F6', '\u00F5', + '\u00FA', '\u00F9', '\u00FB', '\u00FC', '\u2020', '\u00B0', + '\u00A2', '\u00A3', '\u00A7', '\u2022', '\u00B6', '\u00DF', + '\u00AE', '\u00A9', '\u2122', '\u00B4', '\u00A8', '\u2260', + '\u00C6', '\u00D8', '\u221E', '\u00B1', '\u2264', '\u2265', + '\u00A5', '\u00B5', '\u2202', '\u2211', '\u220F', '\u03C0', + '\u222B', '\u00AA', '\u00BA', '\u03A9', '\u00E6', '\u00F8', + '\u00BF', '\u00A1', '\u00AC', '\u221A', '\u0192', '\u2248', + '\u0394', '\u00AB', '\u00BB', '\u2026', '\u00A0', '\u00C0', + '\u00C3', '\u00D5', '\u0152', '\u0153', '\u2014', '\u2013', + '\u201C', '\u201D', '\u2018', '\u2019', '\u00F7', '\u25C6', + '\u00FF', '\u0178', '\u2044', '\u00A4', '\u0110', '\u0111', + '\u00DE', '\u00FE', '\u2021', '\u00B7', '\u201A', '\u201E', + '\u2030', '\u00C2', '\u00CA', '\u00C1', '\u00CB', '\u00C8', + '\u00CD', '\u00CE', '\u00CF', '\u00CC', '\u00D3', '\u00D4', + '\uE01E', '\u00D2', '\u00DA', '\u00DB', '\u00D9', '\u0131', + '\u003F', '\u003F', '\u00AF', '\u02D8', '\u02D9', '\u02DA', + '\u00B8', '\u02DD', '\u02DB', '\u02C7', + }; + + 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 0x00A2: + case 0x00A3: + case 0x00A9: + case 0x00B1: + case 0x00B5: + case 0x00DE: + break; + case 0x00A0: ch = 0xCA; break; + case 0x00A1: ch = 0xC1; break; + case 0x00A4: ch = 0xDB; break; + case 0x00A5: ch = 0xB4; break; + case 0x00A7: ch = 0xA4; break; + case 0x00A8: ch = 0xAC; break; + case 0x00AA: ch = 0xBB; break; + case 0x00AB: ch = 0xC7; break; + case 0x00AC: ch = 0xC2; break; + case 0x00AE: ch = 0xA8; break; + case 0x00AF: ch = 0xF8; break; + case 0x00B0: ch = 0xA1; break; + case 0x00B4: ch = 0xAB; break; + case 0x00B6: ch = 0xA6; break; + case 0x00B7: ch = 0xE1; break; + case 0x00B8: ch = 0xFC; break; + case 0x00BA: ch = 0xBC; break; + case 0x00BB: ch = 0xC8; break; + case 0x00BF: ch = 0xC0; break; + case 0x00C0: ch = 0xCB; break; + case 0x00C1: ch = 0xE7; break; + case 0x00C2: ch = 0xE5; break; + case 0x00C3: ch = 0xCC; break; + case 0x00C4: ch = 0x80; break; + case 0x00C5: ch = 0x81; break; + case 0x00C6: ch = 0xAE; break; + case 0x00C7: ch = 0x82; break; + case 0x00C8: ch = 0xE9; break; + case 0x00C9: ch = 0x83; break; + case 0x00CA: ch = 0xE6; break; + case 0x00CB: ch = 0xE8; break; + case 0x00CC: ch = 0xED; break; + case 0x00CD: ch = 0xEA; break; + case 0x00CE: ch = 0xEB; break; + case 0x00CF: ch = 0xEC; break; + case 0x00D1: ch = 0x84; break; + case 0x00D2: ch = 0xF1; break; + case 0x00D3: ch = 0xEE; break; + case 0x00D4: ch = 0xEF; break; + case 0x00D5: ch = 0xCD; break; + case 0x00D6: ch = 0x85; break; + case 0x00D8: ch = 0xAF; break; + case 0x00D9: ch = 0xF4; break; + case 0x00DA: ch = 0xF2; break; + case 0x00DB: ch = 0xF3; break; + case 0x00DC: ch = 0x86; break; + case 0x00DF: ch = 0xA7; break; + case 0x00E0: ch = 0x88; break; + case 0x00E1: ch = 0x87; break; + case 0x00E2: ch = 0x89; break; + case 0x00E3: ch = 0x8B; break; + case 0x00E4: ch = 0x8A; break; + case 0x00E5: ch = 0x8C; break; + case 0x00E6: ch = 0xBE; break; + case 0x00E7: ch = 0x8D; break; + case 0x00E8: ch = 0x8F; break; + case 0x00E9: ch = 0x8E; break; + case 0x00EA: ch = 0x90; break; + case 0x00EB: ch = 0x91; break; + case 0x00EC: ch = 0x93; break; + case 0x00ED: ch = 0x92; break; + case 0x00EE: ch = 0x94; break; + case 0x00EF: ch = 0x95; break; + case 0x00F1: ch = 0x96; break; + case 0x00F2: ch = 0x98; break; + case 0x00F3: ch = 0x97; break; + case 0x00F4: ch = 0x99; break; + case 0x00F5: ch = 0x9B; break; + case 0x00F6: ch = 0x9A; break; + case 0x00F7: ch = 0xD6; break; + case 0x00F8: ch = 0xBF; break; + case 0x00F9: ch = 0x9D; break; + case 0x00FA: ch = 0x9C; break; + case 0x00FB: ch = 0x9E; break; + case 0x00FC: ch = 0x9F; break; + case 0x00FE: ch = 0xDF; break; + case 0x00FF: ch = 0xD8; break; + case 0x0110: ch = 0xDC; break; + case 0x0111: ch = 0xDD; break; + case 0x0131: ch = 0xF5; break; + case 0x0152: ch = 0xCE; break; + case 0x0153: ch = 0xCF; break; + case 0x0178: ch = 0xD9; break; + case 0x0192: ch = 0xC4; break; + case 0x02C7: ch = 0xFF; break; + case 0x02D8: ch = 0xF9; break; + case 0x02D9: ch = 0xFA; break; + case 0x02DA: ch = 0xFB; break; + case 0x02DB: ch = 0xFE; break; + case 0x02DD: ch = 0xFD; break; + case 0x0394: ch = 0xC6; break; + case 0x03A9: ch = 0xBD; break; + case 0x03C0: ch = 0xB9; break; + case 0x2013: ch = 0xD1; break; + case 0x2014: ch = 0xD0; break; + case 0x2018: ch = 0xD4; break; + case 0x2019: ch = 0xD5; break; + case 0x201A: ch = 0xE2; break; + case 0x201C: ch = 0xD2; break; + case 0x201D: ch = 0xD3; break; + case 0x201E: ch = 0xE3; break; + case 0x2020: ch = 0xA0; break; + case 0x2021: ch = 0xE0; break; + case 0x2022: ch = 0xA5; break; + case 0x2026: ch = 0xC9; break; + case 0x2030: ch = 0xE4; break; + case 0x2044: ch = 0xDA; break; + case 0x2122: ch = 0xAA; break; + case 0x2202: ch = 0xB6; break; + case 0x220F: ch = 0xB8; break; + case 0x2211: ch = 0xB7; break; + case 0x221A: ch = 0xC3; break; + case 0x221E: ch = 0xB0; break; + case 0x222B: ch = 0xBA; break; + case 0x2248: ch = 0xC5; break; + case 0x2260: ch = 0xAD; break; + case 0x2264: ch = 0xB2; break; + case 0x2265: ch = 0xB3; break; + case 0x25C6: ch = 0xD7; break; + case 0xE01E: ch = 0xF0; break; + 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 >= 128) switch(ch) + { + case 0x00A2: + case 0x00A3: + case 0x00A9: + case 0x00B1: + case 0x00B5: + case 0x00DE: + break; + case 0x00A0: ch = 0xCA; break; + case 0x00A1: ch = 0xC1; break; + case 0x00A4: ch = 0xDB; break; + case 0x00A5: ch = 0xB4; break; + case 0x00A7: ch = 0xA4; break; + case 0x00A8: ch = 0xAC; break; + case 0x00AA: ch = 0xBB; break; + case 0x00AB: ch = 0xC7; break; + case 0x00AC: ch = 0xC2; break; + case 0x00AE: ch = 0xA8; break; + case 0x00AF: ch = 0xF8; break; + case 0x00B0: ch = 0xA1; break; + case 0x00B4: ch = 0xAB; break; + case 0x00B6: ch = 0xA6; break; + case 0x00B7: ch = 0xE1; break; + case 0x00B8: ch = 0xFC; break; + case 0x00BA: ch = 0xBC; break; + case 0x00BB: ch = 0xC8; break; + case 0x00BF: ch = 0xC0; break; + case 0x00C0: ch = 0xCB; break; + case 0x00C1: ch = 0xE7; break; + case 0x00C2: ch = 0xE5; break; + case 0x00C3: ch = 0xCC; break; + case 0x00C4: ch = 0x80; break; + case 0x00C5: ch = 0x81; break; + case 0x00C6: ch = 0xAE; break; + case 0x00C7: ch = 0x82; break; + case 0x00C8: ch = 0xE9; break; + case 0x00C9: ch = 0x83; break; + case 0x00CA: ch = 0xE6; break; + case 0x00CB: ch = 0xE8; break; + case 0x00CC: ch = 0xED; break; + case 0x00CD: ch = 0xEA; break; + case 0x00CE: ch = 0xEB; break; + case 0x00CF: ch = 0xEC; break; + case 0x00D1: ch = 0x84; break; + case 0x00D2: ch = 0xF1; break; + case 0x00D3: ch = 0xEE; break; + case 0x00D4: ch = 0xEF; break; + case 0x00D5: ch = 0xCD; break; + case 0x00D6: ch = 0x85; break; + case 0x00D8: ch = 0xAF; break; + case 0x00D9: ch = 0xF4; break; + case 0x00DA: ch = 0xF2; break; + case 0x00DB: ch = 0xF3; break; + case 0x00DC: ch = 0x86; break; + case 0x00DF: ch = 0xA7; break; + case 0x00E0: ch = 0x88; break; + case 0x00E1: ch = 0x87; break; + case 0x00E2: ch = 0x89; break; + case 0x00E3: ch = 0x8B; break; + case 0x00E4: ch = 0x8A; break; + case 0x00E5: ch = 0x8C; break; + case 0x00E6: ch = 0xBE; break; + case 0x00E7: ch = 0x8D; break; + case 0x00E8: ch = 0x8F; break; + case 0x00E9: ch = 0x8E; break; + case 0x00EA: ch = 0x90; break; + case 0x00EB: ch = 0x91; break; + case 0x00EC: ch = 0x93; break; + case 0x00ED: ch = 0x92; break; + case 0x00EE: ch = 0x94; break; + case 0x00EF: ch = 0x95; break; + case 0x00F1: ch = 0x96; break; + case 0x00F2: ch = 0x98; break; + case 0x00F3: ch = 0x97; break; + case 0x00F4: ch = 0x99; break; + case 0x00F5: ch = 0x9B; break; + case 0x00F6: ch = 0x9A; break; + case 0x00F7: ch = 0xD6; break; + case 0x00F8: ch = 0xBF; break; + case 0x00F9: ch = 0x9D; break; + case 0x00FA: ch = 0x9C; break; + case 0x00FB: ch = 0x9E; break; + case 0x00FC: ch = 0x9F; break; + case 0x00FE: ch = 0xDF; break; + case 0x00FF: ch = 0xD8; break; + case 0x0110: ch = 0xDC; break; + case 0x0111: ch = 0xDD; break; + case 0x0131: ch = 0xF5; break; + case 0x0152: ch = 0xCE; break; + case 0x0153: ch = 0xCF; break; + case 0x0178: ch = 0xD9; break; + case 0x0192: ch = 0xC4; break; + case 0x02C7: ch = 0xFF; break; + case 0x02D8: ch = 0xF9; break; + case 0x02D9: ch = 0xFA; break; + case 0x02DA: ch = 0xFB; break; + case 0x02DB: ch = 0xFE; break; + case 0x02DD: ch = 0xFD; break; + case 0x0394: ch = 0xC6; break; + case 0x03A9: ch = 0xBD; break; + case 0x03C0: ch = 0xB9; break; + case 0x2013: ch = 0xD1; break; + case 0x2014: ch = 0xD0; break; + case 0x2018: ch = 0xD4; break; + case 0x2019: ch = 0xD5; break; + case 0x201A: ch = 0xE2; break; + case 0x201C: ch = 0xD2; break; + case 0x201D: ch = 0xD3; break; + case 0x201E: ch = 0xE3; break; + case 0x2020: ch = 0xA0; break; + case 0x2021: ch = 0xE0; break; + case 0x2022: ch = 0xA5; break; + case 0x2026: ch = 0xC9; break; + case 0x2030: ch = 0xE4; break; + case 0x2044: ch = 0xDA; break; + case 0x2122: ch = 0xAA; break; + case 0x2202: ch = 0xB6; break; + case 0x220F: ch = 0xB8; break; + case 0x2211: ch = 0xB7; break; + case 0x221A: ch = 0xC3; break; + case 0x221E: ch = 0xB0; break; + case 0x222B: ch = 0xBA; break; + case 0x2248: ch = 0xC5; break; + case 0x2260: ch = 0xAD; break; + case 0x2264: ch = 0xB2; break; + case 0x2265: ch = 0xB3; break; + case 0x25C6: ch = 0xD7; break; + case 0xE01E: ch = 0xF0; break; + default: ch = 0x3F; break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP10079 + +public class ENCx_mac_icelandic : CP10079 +{ + public ENCx_mac_icelandic() : base() {} + +}; // class ENCx_mac_icelandic + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP1250.cs b/mcs/class/I18N/West/CP1250.cs new file mode 100644 index 00000000000..1cdd1d56f4b --- /dev/null +++ b/mcs/class/I18N/West/CP1250.cs @@ -0,0 +1,399 @@ +/* + * CP1250.cs - Central European (Windows) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-5346.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP1250 : ByteEncoding +{ + public CP1250() + : base(1250, ToChars, "Central European (Windows)", + "iso-8859-2", "windows-1250", "windows-1250", + true, true, true, true, 1250) + {} + + 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', '\u20AC', '\u0081', '\u201A', '\u0083', + '\u201E', '\u2026', '\u2020', '\u2021', '\u0088', '\u2030', + '\u0160', '\u2039', '\u015A', '\u0164', '\u017D', '\u0179', + '\u0090', '\u2018', '\u2019', '\u201C', '\u201D', '\u2022', + '\u2013', '\u2014', '\u0098', '\u2122', '\u0161', '\u203A', + '\u015B', '\u0165', '\u017E', '\u017A', '\u00A0', '\u02C7', + '\u02D8', '\u0141', '\u00A4', '\u0104', '\u00A6', '\u00A7', + '\u00A8', '\u00A9', '\u015E', '\u00AB', '\u00AC', '\u00AD', + '\u00AE', '\u017B', '\u00B0', '\u00B1', '\u02DB', '\u0142', + '\u00B4', '\u00B5', '\u00B6', '\u00B7', '\u00B8', '\u0105', + '\u015F', '\u00BB', '\u013D', '\u02DD', '\u013E', '\u017C', + '\u0154', '\u00C1', '\u00C2', '\u0102', '\u00C4', '\u0139', + '\u0106', '\u00C7', '\u010C', '\u00C9', '\u0118', '\u00CB', + '\u011A', '\u00CD', '\u00CE', '\u010E', '\u0110', '\u0143', + '\u0147', '\u00D3', '\u00D4', '\u0150', '\u00D6', '\u00D7', + '\u0158', '\u016E', '\u00DA', '\u0170', '\u00DC', '\u00DD', + '\u0162', '\u00DF', '\u0155', '\u00E1', '\u00E2', '\u0103', + '\u00E4', '\u013A', '\u0107', '\u00E7', '\u010D', '\u00E9', + '\u0119', '\u00EB', '\u011B', '\u00ED', '\u00EE', '\u010F', + '\u0111', '\u0144', '\u0148', '\u00F3', '\u00F4', '\u0151', + '\u00F6', '\u00F7', '\u0159', '\u016F', '\u00FA', '\u0171', + '\u00FC', '\u00FD', '\u0163', '\u02D9', + }; + + 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 0x0081: + case 0x0083: + case 0x0088: + case 0x0090: + case 0x0098: + case 0x00A0: + case 0x00A4: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00B0: + case 0x00B1: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B8: + case 0x00BB: + case 0x00C1: + case 0x00C2: + case 0x00C4: + case 0x00C7: + case 0x00C9: + case 0x00CB: + case 0x00CD: + case 0x00CE: + case 0x00D3: + case 0x00D4: + case 0x00D6: + case 0x00D7: + case 0x00DA: + case 0x00DC: + case 0x00DD: + case 0x00DF: + case 0x00E1: + case 0x00E2: + case 0x00E4: + case 0x00E7: + case 0x00E9: + case 0x00EB: + case 0x00ED: + case 0x00EE: + case 0x00F3: + case 0x00F4: + case 0x00F6: + case 0x00F7: + case 0x00FA: + case 0x00FC: + case 0x00FD: + break; + case 0x0102: ch = 0xC3; break; + case 0x0103: ch = 0xE3; break; + case 0x0104: ch = 0xA5; break; + case 0x0105: ch = 0xB9; break; + case 0x0106: ch = 0xC6; break; + case 0x0107: ch = 0xE6; break; + case 0x010C: ch = 0xC8; break; + case 0x010D: ch = 0xE8; break; + case 0x010E: ch = 0xCF; break; + case 0x010F: ch = 0xEF; break; + case 0x0110: ch = 0xD0; break; + case 0x0111: ch = 0xF0; break; + case 0x0118: ch = 0xCA; break; + case 0x0119: ch = 0xEA; break; + case 0x011A: ch = 0xCC; break; + case 0x011B: ch = 0xEC; break; + case 0x0139: ch = 0xC5; break; + case 0x013A: ch = 0xE5; break; + case 0x013D: ch = 0xBC; break; + case 0x013E: ch = 0xBE; break; + case 0x0141: ch = 0xA3; break; + case 0x0142: ch = 0xB3; break; + case 0x0143: ch = 0xD1; break; + case 0x0144: ch = 0xF1; break; + case 0x0147: ch = 0xD2; break; + case 0x0148: ch = 0xF2; break; + case 0x0150: ch = 0xD5; break; + case 0x0151: ch = 0xF5; break; + case 0x0154: ch = 0xC0; break; + case 0x0155: ch = 0xE0; break; + case 0x0158: ch = 0xD8; break; + case 0x0159: ch = 0xF8; break; + case 0x015A: ch = 0x8C; break; + case 0x015B: ch = 0x9C; break; + case 0x015E: ch = 0xAA; break; + case 0x015F: ch = 0xBA; break; + case 0x0160: ch = 0x8A; break; + case 0x0161: ch = 0x9A; break; + case 0x0162: ch = 0xDE; break; + case 0x0163: ch = 0xFE; break; + case 0x0164: ch = 0x8D; break; + case 0x0165: ch = 0x9D; break; + case 0x016E: ch = 0xD9; break; + case 0x016F: ch = 0xF9; break; + case 0x0170: ch = 0xDB; break; + case 0x0171: ch = 0xFB; break; + case 0x0179: ch = 0x8F; break; + case 0x017A: ch = 0x9F; break; + case 0x017B: ch = 0xAF; break; + case 0x017C: ch = 0xBF; break; + case 0x017D: ch = 0x8E; break; + case 0x017E: ch = 0x9E; break; + case 0x02C7: ch = 0xA1; break; + case 0x02D8: ch = 0xA2; break; + case 0x02D9: ch = 0xFF; break; + case 0x02DB: ch = 0xB2; break; + case 0x02DD: ch = 0xBD; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; 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 0x0081: + case 0x0083: + case 0x0088: + case 0x0090: + case 0x0098: + case 0x00A0: + case 0x00A4: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00B0: + case 0x00B1: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B8: + case 0x00BB: + case 0x00C1: + case 0x00C2: + case 0x00C4: + case 0x00C7: + case 0x00C9: + case 0x00CB: + case 0x00CD: + case 0x00CE: + case 0x00D3: + case 0x00D4: + case 0x00D6: + case 0x00D7: + case 0x00DA: + case 0x00DC: + case 0x00DD: + case 0x00DF: + case 0x00E1: + case 0x00E2: + case 0x00E4: + case 0x00E7: + case 0x00E9: + case 0x00EB: + case 0x00ED: + case 0x00EE: + case 0x00F3: + case 0x00F4: + case 0x00F6: + case 0x00F7: + case 0x00FA: + case 0x00FC: + case 0x00FD: + break; + case 0x0102: ch = 0xC3; break; + case 0x0103: ch = 0xE3; break; + case 0x0104: ch = 0xA5; break; + case 0x0105: ch = 0xB9; break; + case 0x0106: ch = 0xC6; break; + case 0x0107: ch = 0xE6; break; + case 0x010C: ch = 0xC8; break; + case 0x010D: ch = 0xE8; break; + case 0x010E: ch = 0xCF; break; + case 0x010F: ch = 0xEF; break; + case 0x0110: ch = 0xD0; break; + case 0x0111: ch = 0xF0; break; + case 0x0118: ch = 0xCA; break; + case 0x0119: ch = 0xEA; break; + case 0x011A: ch = 0xCC; break; + case 0x011B: ch = 0xEC; break; + case 0x0139: ch = 0xC5; break; + case 0x013A: ch = 0xE5; break; + case 0x013D: ch = 0xBC; break; + case 0x013E: ch = 0xBE; break; + case 0x0141: ch = 0xA3; break; + case 0x0142: ch = 0xB3; break; + case 0x0143: ch = 0xD1; break; + case 0x0144: ch = 0xF1; break; + case 0x0147: ch = 0xD2; break; + case 0x0148: ch = 0xF2; break; + case 0x0150: ch = 0xD5; break; + case 0x0151: ch = 0xF5; break; + case 0x0154: ch = 0xC0; break; + case 0x0155: ch = 0xE0; break; + case 0x0158: ch = 0xD8; break; + case 0x0159: ch = 0xF8; break; + case 0x015A: ch = 0x8C; break; + case 0x015B: ch = 0x9C; break; + case 0x015E: ch = 0xAA; break; + case 0x015F: ch = 0xBA; break; + case 0x0160: ch = 0x8A; break; + case 0x0161: ch = 0x9A; break; + case 0x0162: ch = 0xDE; break; + case 0x0163: ch = 0xFE; break; + case 0x0164: ch = 0x8D; break; + case 0x0165: ch = 0x9D; break; + case 0x016E: ch = 0xD9; break; + case 0x016F: ch = 0xF9; break; + case 0x0170: ch = 0xDB; break; + case 0x0171: ch = 0xFB; break; + case 0x0179: ch = 0x8F; break; + case 0x017A: ch = 0x9F; break; + case 0x017B: ch = 0xAF; break; + case 0x017C: ch = 0xBF; break; + case 0x017D: ch = 0x8E; break; + case 0x017E: ch = 0x9E; break; + case 0x02C7: ch = 0xA1; break; + case 0x02D8: ch = 0xA2; break; + case 0x02D9: ch = 0xFF; break; + case 0x02DB: ch = 0xB2; break; + case 0x02DD: ch = 0xBD; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1250 + +public class ENCwindows_1250 : CP1250 +{ + public ENCwindows_1250() : base() {} + +}; // class ENCwindows_1250 + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP1252.cs b/mcs/class/I18N/West/CP1252.cs new file mode 100644 index 00000000000..291ef914bf4 --- /dev/null +++ b/mcs/class/I18N/West/CP1252.cs @@ -0,0 +1,399 @@ +/* + * CP1252.cs - Western European (Windows) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-5348.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP1252 : ByteEncoding +{ + public CP1252() + : base(1252, ToChars, "Western European (Windows)", + "iso-8859-1", "Windows-1252", "Windows-1252", + true, true, true, true, 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', '\u20AC', '\u0081', '\u201A', '\u0192', + '\u201E', '\u2026', '\u2020', '\u2021', '\u02C6', '\u2030', + '\u0160', '\u2039', '\u0152', '\u008D', '\u017D', '\u008F', + '\u0090', '\u2018', '\u2019', '\u201C', '\u201D', '\u2022', + '\u2013', '\u2014', '\u02DC', '\u2122', '\u0161', '\u203A', + '\u0153', '\u009D', '\u017E', '\u0178', '\u00A0', '\u00A1', + '\u00A2', '\u00A3', '\u00A4', '\u00A5', '\u00A6', '\u00A7', + '\u00A8', '\u00A9', '\u00AA', '\u00AB', '\u00AC', '\u00AD', + '\u00AE', '\u00AF', '\u00B0', '\u00B1', '\u00B2', '\u00B3', + '\u00B4', '\u00B5', '\u00B6', '\u00B7', '\u00B8', '\u00B9', + '\u00BA', '\u00BB', '\u00BC', '\u00BD', '\u00BE', '\u00BF', + '\u00C0', '\u00C1', '\u00C2', '\u00C3', '\u00C4', '\u00C5', + '\u00C6', '\u00C7', '\u00C8', '\u00C9', '\u00CA', '\u00CB', + '\u00CC', '\u00CD', '\u00CE', '\u00CF', '\u00D0', '\u00D1', + '\u00D2', '\u00D3', '\u00D4', '\u00D5', '\u00D6', '\u00D7', + '\u00D8', '\u00D9', '\u00DA', '\u00DB', '\u00DC', '\u00DD', + '\u00DE', '\u00DF', '\u00E0', '\u00E1', '\u00E2', '\u00E3', + '\u00E4', '\u00E5', '\u00E6', '\u00E7', '\u00E8', '\u00E9', + '\u00EA', '\u00EB', '\u00EC', '\u00ED', '\u00EE', '\u00EF', + '\u00F0', '\u00F1', '\u00F2', '\u00F3', '\u00F4', '\u00F5', + '\u00F6', '\u00F7', '\u00F8', '\u00F9', '\u00FA', '\u00FB', + '\u00FC', '\u00FD', '\u00FE', '\u00FF', + }; + + 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 0x0081: + case 0x008D: + case 0x008F: + case 0x0090: + case 0x009D: + case 0x00A0: + case 0x00A1: + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AA: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00AF: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B8: + case 0x00B9: + case 0x00BA: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + case 0x00BF: + case 0x00C0: + case 0x00C1: + case 0x00C2: + case 0x00C3: + case 0x00C4: + case 0x00C5: + case 0x00C6: + case 0x00C7: + case 0x00C8: + case 0x00C9: + case 0x00CA: + case 0x00CB: + case 0x00CC: + case 0x00CD: + case 0x00CE: + case 0x00CF: + case 0x00D0: + case 0x00D1: + case 0x00D2: + case 0x00D3: + case 0x00D4: + case 0x00D5: + case 0x00D6: + case 0x00D7: + case 0x00D8: + case 0x00D9: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DD: + case 0x00DE: + case 0x00DF: + case 0x00E0: + case 0x00E1: + case 0x00E2: + case 0x00E3: + case 0x00E4: + case 0x00E5: + case 0x00E6: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00EC: + case 0x00ED: + case 0x00EE: + case 0x00EF: + case 0x00F0: + case 0x00F1: + case 0x00F2: + case 0x00F3: + case 0x00F4: + case 0x00F5: + case 0x00F6: + case 0x00F7: + case 0x00F8: + case 0x00F9: + case 0x00FA: + case 0x00FB: + case 0x00FC: + case 0x00FD: + case 0x00FE: + case 0x00FF: + break; + case 0x0152: ch = 0x8C; break; + case 0x0153: ch = 0x9C; break; + case 0x0160: ch = 0x8A; break; + case 0x0161: ch = 0x9A; break; + case 0x0178: ch = 0x9F; break; + case 0x017D: ch = 0x8E; break; + case 0x017E: ch = 0x9E; break; + case 0x0192: ch = 0x83; break; + case 0x02C6: ch = 0x88; break; + case 0x02DC: ch = 0x98; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; 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 0x0081: + case 0x008D: + case 0x008F: + case 0x0090: + case 0x009D: + case 0x00A0: + case 0x00A1: + case 0x00A2: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AA: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00AF: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B8: + case 0x00B9: + case 0x00BA: + case 0x00BB: + case 0x00BC: + case 0x00BD: + case 0x00BE: + case 0x00BF: + case 0x00C0: + case 0x00C1: + case 0x00C2: + case 0x00C3: + case 0x00C4: + case 0x00C5: + case 0x00C6: + case 0x00C7: + case 0x00C8: + case 0x00C9: + case 0x00CA: + case 0x00CB: + case 0x00CC: + case 0x00CD: + case 0x00CE: + case 0x00CF: + case 0x00D0: + case 0x00D1: + case 0x00D2: + case 0x00D3: + case 0x00D4: + case 0x00D5: + case 0x00D6: + case 0x00D7: + case 0x00D8: + case 0x00D9: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DD: + case 0x00DE: + case 0x00DF: + case 0x00E0: + case 0x00E1: + case 0x00E2: + case 0x00E3: + case 0x00E4: + case 0x00E5: + case 0x00E6: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00EC: + case 0x00ED: + case 0x00EE: + case 0x00EF: + case 0x00F0: + case 0x00F1: + case 0x00F2: + case 0x00F3: + case 0x00F4: + case 0x00F5: + case 0x00F6: + case 0x00F7: + case 0x00F8: + case 0x00F9: + case 0x00FA: + case 0x00FB: + case 0x00FC: + case 0x00FD: + case 0x00FE: + case 0x00FF: + break; + case 0x0152: ch = 0x8C; break; + case 0x0153: ch = 0x9C; break; + case 0x0160: ch = 0x8A; break; + case 0x0161: ch = 0x9A; break; + case 0x0178: ch = 0x9F; break; + case 0x017D: ch = 0x8E; break; + case 0x017E: ch = 0x9E; break; + case 0x0192: ch = 0x83; break; + case 0x02C6: ch = 0x88; break; + case 0x02DC: ch = 0x98; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1252 + +public class ENCwindows_1252 : CP1252 +{ + public ENCwindows_1252() : base() {} + +}; // class ENCwindows_1252 + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP1253.cs b/mcs/class/I18N/West/CP1253.cs new file mode 100644 index 00000000000..70a1d1c0c06 --- /dev/null +++ b/mcs/class/I18N/West/CP1253.cs @@ -0,0 +1,405 @@ +/* + * CP1253.cs - Greek (Windows) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-5349.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP1253 : ByteEncoding +{ + public CP1253() + : base(1253, ToChars, "Greek (Windows)", + "iso-8859-7", "windows-1253", "windows-1253", + true, true, true, true, 1253) + {} + + 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', '\u20AC', '\u0081', '\u201A', '\u0192', + '\u201E', '\u2026', '\u2020', '\u2021', '\u0088', '\u2030', + '\u008A', '\u2039', '\u008C', '\u008D', '\u008E', '\u008F', + '\u0090', '\u2018', '\u2019', '\u201C', '\u201D', '\u2022', + '\u2013', '\u2014', '\u0098', '\u2122', '\u009A', '\u203A', + '\u009C', '\u009D', '\u009E', '\u009F', '\u00A0', '\u0385', + '\u0386', '\u00A3', '\u00A4', '\u00A5', '\u00A6', '\u00A7', + '\u00A8', '\u00A9', '\u00AA', '\u00AB', '\u00AC', '\u00AD', + '\u00AE', '\u2015', '\u00B0', '\u00B1', '\u00B2', '\u00B3', + '\u0384', '\u00B5', '\u00B6', '\u00B7', '\u0388', '\u0389', + '\u038A', '\u00BB', '\u038C', '\u00BD', '\u038E', '\u038F', + '\u0390', '\u0391', '\u0392', '\u0393', '\u0394', '\u0395', + '\u0396', '\u0397', '\u0398', '\u0399', '\u039A', '\u039B', + '\u039C', '\u039D', '\u039E', '\u039F', '\u03A0', '\u03A1', + '\u003F', '\u03A3', '\u03A4', '\u03A5', '\u03A6', '\u03A7', + '\u03A8', '\u03A9', '\u03AA', '\u03AB', '\u03AC', '\u03AD', + '\u03AE', '\u03AF', '\u03B0', '\u03B1', '\u03B2', '\u03B3', + '\u03B4', '\u03B5', '\u03B6', '\u03B7', '\u03B8', '\u03B9', + '\u03BA', '\u03BB', '\u03BC', '\u03BD', '\u03BE', '\u03BF', + '\u03C0', '\u03C1', '\u03C2', '\u03C3', '\u03C4', '\u03C5', + '\u03C6', '\u03C7', '\u03C8', '\u03C9', '\u03CA', '\u03CB', + '\u03CC', '\u03CD', '\u03CE', '\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 0x0081: + case 0x0088: + case 0x008A: + case 0x008C: + case 0x008D: + case 0x008E: + case 0x008F: + case 0x0090: + case 0x0098: + case 0x009A: + case 0x009C: + case 0x009D: + case 0x009E: + case 0x009F: + case 0x00A0: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AA: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00BB: + case 0x00BD: + break; + case 0x0192: ch = 0x83; break; + case 0x0384: ch = 0xB4; break; + case 0x0385: ch = 0xA1; break; + case 0x0386: ch = 0xA2; break; + case 0x0388: ch = 0xB8; break; + case 0x0389: ch = 0xB9; break; + case 0x038A: ch = 0xBA; break; + case 0x038C: ch = 0xBC; break; + case 0x038E: + case 0x038F: + case 0x0390: + case 0x0391: + case 0x0392: + case 0x0393: + case 0x0394: + case 0x0395: + case 0x0396: + case 0x0397: + case 0x0398: + case 0x0399: + case 0x039A: + case 0x039B: + case 0x039C: + case 0x039D: + case 0x039E: + case 0x039F: + case 0x03A0: + case 0x03A1: + ch -= 0x02D0; + break; + case 0x03A3: + case 0x03A4: + case 0x03A5: + case 0x03A6: + case 0x03A7: + case 0x03A8: + case 0x03A9: + case 0x03AA: + case 0x03AB: + case 0x03AC: + case 0x03AD: + case 0x03AE: + case 0x03AF: + case 0x03B0: + case 0x03B1: + case 0x03B2: + case 0x03B3: + case 0x03B4: + case 0x03B5: + case 0x03B6: + case 0x03B7: + case 0x03B8: + case 0x03B9: + case 0x03BA: + case 0x03BB: + case 0x03BC: + case 0x03BD: + case 0x03BE: + case 0x03BF: + case 0x03C0: + case 0x03C1: + case 0x03C2: + case 0x03C3: + case 0x03C4: + case 0x03C5: + case 0x03C6: + case 0x03C7: + case 0x03C8: + case 0x03C9: + case 0x03CA: + case 0x03CB: + case 0x03CC: + case 0x03CD: + case 0x03CE: + ch -= 0x02D0; + break; + case 0x03D5: ch = 0xF6; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2015: ch = 0xAF; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; 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 0x0081: + case 0x0088: + case 0x008A: + case 0x008C: + case 0x008D: + case 0x008E: + case 0x008F: + case 0x0090: + case 0x0098: + case 0x009A: + case 0x009C: + case 0x009D: + case 0x009E: + case 0x009F: + case 0x00A0: + case 0x00A3: + case 0x00A4: + case 0x00A5: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AA: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00BB: + case 0x00BD: + break; + case 0x0192: ch = 0x83; break; + case 0x0384: ch = 0xB4; break; + case 0x0385: ch = 0xA1; break; + case 0x0386: ch = 0xA2; break; + case 0x0388: ch = 0xB8; break; + case 0x0389: ch = 0xB9; break; + case 0x038A: ch = 0xBA; break; + case 0x038C: ch = 0xBC; break; + case 0x038E: + case 0x038F: + case 0x0390: + case 0x0391: + case 0x0392: + case 0x0393: + case 0x0394: + case 0x0395: + case 0x0396: + case 0x0397: + case 0x0398: + case 0x0399: + case 0x039A: + case 0x039B: + case 0x039C: + case 0x039D: + case 0x039E: + case 0x039F: + case 0x03A0: + case 0x03A1: + ch -= 0x02D0; + break; + case 0x03A3: + case 0x03A4: + case 0x03A5: + case 0x03A6: + case 0x03A7: + case 0x03A8: + case 0x03A9: + case 0x03AA: + case 0x03AB: + case 0x03AC: + case 0x03AD: + case 0x03AE: + case 0x03AF: + case 0x03B0: + case 0x03B1: + case 0x03B2: + case 0x03B3: + case 0x03B4: + case 0x03B5: + case 0x03B6: + case 0x03B7: + case 0x03B8: + case 0x03B9: + case 0x03BA: + case 0x03BB: + case 0x03BC: + case 0x03BD: + case 0x03BE: + case 0x03BF: + case 0x03C0: + case 0x03C1: + case 0x03C2: + case 0x03C3: + case 0x03C4: + case 0x03C5: + case 0x03C6: + case 0x03C7: + case 0x03C8: + case 0x03C9: + case 0x03CA: + case 0x03CB: + case 0x03CC: + case 0x03CD: + case 0x03CE: + ch -= 0x02D0; + break; + case 0x03D5: ch = 0xF6; break; + case 0x2013: ch = 0x96; break; + case 0x2014: ch = 0x97; break; + case 0x2015: ch = 0xAF; break; + case 0x2018: ch = 0x91; break; + case 0x2019: ch = 0x92; break; + case 0x201A: ch = 0x82; break; + case 0x201C: ch = 0x93; break; + case 0x201D: ch = 0x94; break; + case 0x201E: ch = 0x84; break; + case 0x2020: ch = 0x86; break; + case 0x2021: ch = 0x87; break; + case 0x2022: ch = 0x95; break; + case 0x2026: ch = 0x85; break; + case 0x2030: ch = 0x89; break; + case 0x2039: ch = 0x8B; break; + case 0x203A: ch = 0x9B; break; + case 0x20AC: ch = 0x80; break; + case 0x2122: ch = 0x99; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP1253 + +public class ENCwindows_1253 : CP1253 +{ + public ENCwindows_1253() : base() {} + +}; // class ENCwindows_1253 + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP28592.cs b/mcs/class/I18N/West/CP28592.cs new file mode 100644 index 00000000000..6acf2c6ad1c --- /dev/null +++ b/mcs/class/I18N/West/CP28592.cs @@ -0,0 +1,471 @@ +/* + * CP28592.cs - Central European (ISO) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-912.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP28592 : ByteEncoding +{ + public CP28592() + : base(28592, ToChars, "Central European (ISO)", + "iso-8859-2", "iso-8859-2", "iso-8859-2", + true, true, true, true, 1250) + {} + + 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', '\u0080', '\u0081', '\u0082', '\u0083', + '\u0084', '\u0085', '\u0086', '\u0087', '\u0088', '\u0089', + '\u008A', '\u008B', '\u008C', '\u008D', '\u008E', '\u008F', + '\u0090', '\u0091', '\u0092', '\u0093', '\u0094', '\u0095', + '\u0096', '\u0097', '\u0098', '\u0099', '\u009A', '\u009B', + '\u009C', '\u009D', '\u009E', '\u009F', '\u00A0', '\u0104', + '\u02D8', '\u0141', '\u00A4', '\u013D', '\u015A', '\u00A7', + '\u00A8', '\u0160', '\u015E', '\u0164', '\u0179', '\u00AD', + '\u017D', '\u017B', '\u00B0', '\u0105', '\u02DB', '\u0142', + '\u00B4', '\u013E', '\u015B', '\u02C7', '\u00B8', '\u0161', + '\u015F', '\u0165', '\u017A', '\u02DD', '\u017E', '\u017C', + '\u0154', '\u00C1', '\u00C2', '\u0102', '\u00C4', '\u0139', + '\u0106', '\u00C7', '\u010C', '\u00C9', '\u0118', '\u00CB', + '\u011A', '\u00CD', '\u00CE', '\u010E', '\u0110', '\u0143', + '\u0147', '\u00D3', '\u00D4', '\u0150', '\u00D6', '\u00D7', + '\u0158', '\u016E', '\u00DA', '\u0170', '\u00DC', '\u00DD', + '\u0162', '\u00DF', '\u0155', '\u00E1', '\u00E2', '\u0103', + '\u00E4', '\u013A', '\u0107', '\u00E7', '\u010D', '\u00E9', + '\u0119', '\u00EB', '\u011B', '\u00ED', '\u00EE', '\u010F', + '\u0111', '\u0144', '\u0148', '\u00F3', '\u00F4', '\u0151', + '\u00F6', '\u00F7', '\u0159', '\u016F', '\u00FA', '\u0171', + '\u00FC', '\u00FD', '\u0163', '\u02D9', + }; + + 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 >= 161) switch(ch) + { + case 0x00A4: + case 0x00A7: + case 0x00A8: + case 0x00AD: + case 0x00B0: + case 0x00B4: + case 0x00B8: + case 0x00C1: + case 0x00C2: + case 0x00C4: + case 0x00C7: + case 0x00C9: + case 0x00CB: + case 0x00CD: + case 0x00CE: + case 0x00D0: + case 0x00D3: + case 0x00D4: + case 0x00D6: + case 0x00D7: + case 0x00DA: + case 0x00DC: + case 0x00DD: + case 0x00DF: + case 0x00E1: + case 0x00E2: + case 0x00E4: + case 0x00E7: + case 0x00E9: + case 0x00EB: + case 0x00ED: + case 0x00EE: + case 0x00F3: + case 0x00F4: + case 0x00F6: + case 0x00F7: + case 0x00FA: + case 0x00FC: + case 0x00FD: + break; + case 0x00A2: ch = 0x8D; break; + case 0x00A5: ch = 0x8E; break; + case 0x00A9: ch = 0x88; break; + case 0x00AE: ch = 0x9F; break; + case 0x00B6: ch = 0x14; break; + case 0x0102: ch = 0xC3; break; + case 0x0103: ch = 0xE3; break; + case 0x0104: ch = 0xA1; break; + case 0x0105: ch = 0xB1; break; + case 0x0106: ch = 0xC6; break; + case 0x0107: ch = 0xE6; break; + case 0x010C: ch = 0xC8; break; + case 0x010D: ch = 0xE8; break; + case 0x010E: ch = 0xCF; break; + case 0x010F: ch = 0xEF; break; + case 0x0110: ch = 0xD0; break; + case 0x0111: ch = 0xF0; break; + case 0x0118: ch = 0xCA; break; + case 0x0119: ch = 0xEA; break; + case 0x011A: ch = 0xCC; break; + case 0x011B: ch = 0xEC; break; + case 0x0139: ch = 0xC5; break; + case 0x013A: ch = 0xE5; break; + case 0x013D: ch = 0xA5; break; + case 0x013E: ch = 0xB5; break; + case 0x0141: ch = 0xA3; break; + case 0x0142: ch = 0xB3; break; + case 0x0143: ch = 0xD1; break; + case 0x0144: ch = 0xF1; break; + case 0x0147: ch = 0xD2; break; + case 0x0148: ch = 0xF2; break; + case 0x0150: ch = 0xD5; break; + case 0x0151: ch = 0xF5; break; + case 0x0154: ch = 0xC0; break; + case 0x0155: ch = 0xE0; break; + case 0x0158: ch = 0xD8; break; + case 0x0159: ch = 0xF8; break; + case 0x015A: ch = 0xA6; break; + case 0x015B: ch = 0xB6; break; + case 0x015E: ch = 0xAA; break; + case 0x015F: ch = 0xBA; break; + case 0x0160: ch = 0xA9; break; + case 0x0161: ch = 0xB9; break; + case 0x0162: ch = 0xDE; break; + case 0x0163: ch = 0xFE; break; + case 0x0164: ch = 0xAB; break; + case 0x0165: ch = 0xBB; break; + case 0x016E: ch = 0xD9; break; + case 0x016F: ch = 0xF9; break; + case 0x0170: ch = 0xDB; break; + case 0x0171: ch = 0xFB; break; + case 0x0179: ch = 0xAC; break; + case 0x017A: ch = 0xBC; break; + case 0x017B: ch = 0xAF; break; + case 0x017C: ch = 0xBF; break; + case 0x017D: ch = 0xAE; break; + case 0x017E: ch = 0xBE; break; + case 0x02C7: ch = 0xB7; break; + case 0x02D8: ch = 0xA2; break; + case 0x02D9: ch = 0xFF; break; + case 0x02DB: ch = 0xB2; break; + case 0x02DD: ch = 0xBD; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2500: ch = 0x94; break; + case 0x2502: ch = 0x83; break; + case 0x250C: ch = 0x86; break; + case 0x2510: ch = 0x8F; break; + case 0x2514: ch = 0x90; break; + case 0x2518: ch = 0x85; break; + case 0x251C: ch = 0x93; break; + case 0x2524: ch = 0x84; break; + case 0x252C: ch = 0x92; break; + case 0x2534: ch = 0x91; break; + case 0x253C: ch = 0x95; break; + case 0x2550: ch = 0x9D; break; + case 0x2551: ch = 0x8A; break; + case 0x2554: ch = 0x99; break; + case 0x2557: ch = 0x8B; break; + case 0x255A: ch = 0x98; break; + case 0x255D: ch = 0x8C; break; + case 0x2560: ch = 0x9C; break; + case 0x2563: ch = 0x89; break; + case 0x2566: ch = 0x9B; break; + case 0x2569: ch = 0x9A; break; + case 0x256C: ch = 0x9E; break; + case 0x2580: ch = 0x97; break; + case 0x2584: ch = 0x96; break; + case 0x2588: ch = 0x87; break; + case 0x2591: ch = 0x80; break; + case 0x2592: ch = 0x81; break; + case 0x2593: ch = 0x82; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266C: ch = 0x0E; break; + case 0xFFE8: ch = 0x83; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFEE: ch = 0x09; 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 >= 161) switch(ch) + { + case 0x00A4: + case 0x00A7: + case 0x00A8: + case 0x00AD: + case 0x00B0: + case 0x00B4: + case 0x00B8: + case 0x00C1: + case 0x00C2: + case 0x00C4: + case 0x00C7: + case 0x00C9: + case 0x00CB: + case 0x00CD: + case 0x00CE: + case 0x00D0: + case 0x00D3: + case 0x00D4: + case 0x00D6: + case 0x00D7: + case 0x00DA: + case 0x00DC: + case 0x00DD: + case 0x00DF: + case 0x00E1: + case 0x00E2: + case 0x00E4: + case 0x00E7: + case 0x00E9: + case 0x00EB: + case 0x00ED: + case 0x00EE: + case 0x00F3: + case 0x00F4: + case 0x00F6: + case 0x00F7: + case 0x00FA: + case 0x00FC: + case 0x00FD: + break; + case 0x00A2: ch = 0x8D; break; + case 0x00A5: ch = 0x8E; break; + case 0x00A9: ch = 0x88; break; + case 0x00AE: ch = 0x9F; break; + case 0x00B6: ch = 0x14; break; + case 0x0102: ch = 0xC3; break; + case 0x0103: ch = 0xE3; break; + case 0x0104: ch = 0xA1; break; + case 0x0105: ch = 0xB1; break; + case 0x0106: ch = 0xC6; break; + case 0x0107: ch = 0xE6; break; + case 0x010C: ch = 0xC8; break; + case 0x010D: ch = 0xE8; break; + case 0x010E: ch = 0xCF; break; + case 0x010F: ch = 0xEF; break; + case 0x0110: ch = 0xD0; break; + case 0x0111: ch = 0xF0; break; + case 0x0118: ch = 0xCA; break; + case 0x0119: ch = 0xEA; break; + case 0x011A: ch = 0xCC; break; + case 0x011B: ch = 0xEC; break; + case 0x0139: ch = 0xC5; break; + case 0x013A: ch = 0xE5; break; + case 0x013D: ch = 0xA5; break; + case 0x013E: ch = 0xB5; break; + case 0x0141: ch = 0xA3; break; + case 0x0142: ch = 0xB3; break; + case 0x0143: ch = 0xD1; break; + case 0x0144: ch = 0xF1; break; + case 0x0147: ch = 0xD2; break; + case 0x0148: ch = 0xF2; break; + case 0x0150: ch = 0xD5; break; + case 0x0151: ch = 0xF5; break; + case 0x0154: ch = 0xC0; break; + case 0x0155: ch = 0xE0; break; + case 0x0158: ch = 0xD8; break; + case 0x0159: ch = 0xF8; break; + case 0x015A: ch = 0xA6; break; + case 0x015B: ch = 0xB6; break; + case 0x015E: ch = 0xAA; break; + case 0x015F: ch = 0xBA; break; + case 0x0160: ch = 0xA9; break; + case 0x0161: ch = 0xB9; break; + case 0x0162: ch = 0xDE; break; + case 0x0163: ch = 0xFE; break; + case 0x0164: ch = 0xAB; break; + case 0x0165: ch = 0xBB; break; + case 0x016E: ch = 0xD9; break; + case 0x016F: ch = 0xF9; break; + case 0x0170: ch = 0xDB; break; + case 0x0171: ch = 0xFB; break; + case 0x0179: ch = 0xAC; break; + case 0x017A: ch = 0xBC; break; + case 0x017B: ch = 0xAF; break; + case 0x017C: ch = 0xBF; break; + case 0x017D: ch = 0xAE; break; + case 0x017E: ch = 0xBE; break; + case 0x02C7: ch = 0xB7; break; + case 0x02D8: ch = 0xA2; break; + case 0x02D9: ch = 0xFF; break; + case 0x02DB: ch = 0xB2; break; + case 0x02DD: ch = 0xBD; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2500: ch = 0x94; break; + case 0x2502: ch = 0x83; break; + case 0x250C: ch = 0x86; break; + case 0x2510: ch = 0x8F; break; + case 0x2514: ch = 0x90; break; + case 0x2518: ch = 0x85; break; + case 0x251C: ch = 0x93; break; + case 0x2524: ch = 0x84; break; + case 0x252C: ch = 0x92; break; + case 0x2534: ch = 0x91; break; + case 0x253C: ch = 0x95; break; + case 0x2550: ch = 0x9D; break; + case 0x2551: ch = 0x8A; break; + case 0x2554: ch = 0x99; break; + case 0x2557: ch = 0x8B; break; + case 0x255A: ch = 0x98; break; + case 0x255D: ch = 0x8C; break; + case 0x2560: ch = 0x9C; break; + case 0x2563: ch = 0x89; break; + case 0x2566: ch = 0x9B; break; + case 0x2569: ch = 0x9A; break; + case 0x256C: ch = 0x9E; break; + case 0x2580: ch = 0x97; break; + case 0x2584: ch = 0x96; break; + case 0x2588: ch = 0x87; break; + case 0x2591: ch = 0x80; break; + case 0x2592: ch = 0x81; break; + case 0x2593: ch = 0x82; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266C: ch = 0x0E; break; + case 0xFFE8: ch = 0x83; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP28592 + +public class ENCiso_8859_2 : CP28592 +{ + public ENCiso_8859_2() : base() {} + +}; // class ENCiso_8859_2 + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP28593.cs b/mcs/class/I18N/West/CP28593.cs new file mode 100644 index 00000000000..93f93e494de --- /dev/null +++ b/mcs/class/I18N/West/CP28593.cs @@ -0,0 +1,319 @@ +/* + * CP28593.cs - Latin 3 (ISO) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-913.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP28593 : ByteEncoding +{ + public CP28593() + : base(28593, ToChars, "Latin 3 (ISO)", + "iso-8859-3", "iso-8859-3", "iso-8859-3", + true, true, true, true, 28593) + {} + + 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', '\u0080', '\u0081', '\u0082', '\u0083', + '\u0084', '\u0085', '\u0086', '\u0087', '\u0088', '\u0089', + '\u008A', '\u008B', '\u008C', '\u008D', '\u008E', '\u008F', + '\u0090', '\u0091', '\u0092', '\u0093', '\u0094', '\u0095', + '\u0096', '\u0097', '\u0098', '\u0099', '\u009A', '\u009B', + '\u009C', '\u009D', '\u009E', '\u009F', '\u00A0', '\u0126', + '\u02D8', '\u00A3', '\u00A4', '\u003F', '\u0124', '\u00A7', + '\u00A8', '\u0130', '\u015E', '\u011E', '\u0134', '\u00AD', + '\u003F', '\u017B', '\u00B0', '\u0127', '\u00B2', '\u00B3', + '\u00B4', '\u00B5', '\u0125', '\u00B7', '\u00B8', '\u0131', + '\u015F', '\u011F', '\u0135', '\u00BD', '\u003F', '\u017C', + '\u00C0', '\u00C1', '\u00C2', '\u003F', '\u00C4', '\u010A', + '\u0108', '\u00C7', '\u00C8', '\u00C9', '\u00CA', '\u00CB', + '\u00CC', '\u00CD', '\u00CE', '\u00CF', '\u003F', '\u00D1', + '\u00D2', '\u00D3', '\u00D4', '\u0120', '\u00D6', '\u00D7', + '\u011C', '\u00D9', '\u00DA', '\u00DB', '\u00DC', '\u016C', + '\u015C', '\u00DF', '\u00E0', '\u00E1', '\u00E2', '\u003F', + '\u00E4', '\u010B', '\u0109', '\u00E7', '\u00E8', '\u00E9', + '\u00EA', '\u00EB', '\u00EC', '\u00ED', '\u00EE', '\u00EF', + '\u003F', '\u00F1', '\u00F2', '\u00F3', '\u00F4', '\u0121', + '\u00F6', '\u00F7', '\u011D', '\u00F9', '\u00FA', '\u00FB', + '\u00FC', '\u016D', '\u015D', '\u02D9', + }; + + 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 >= 161) switch(ch) + { + case 0x00A3: + case 0x00A4: + case 0x00A7: + case 0x00A8: + case 0x00AD: + case 0x00B0: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B7: + case 0x00B8: + case 0x00BD: + case 0x00C0: + case 0x00C1: + case 0x00C2: + case 0x00C4: + case 0x00C7: + case 0x00C8: + case 0x00C9: + case 0x00CA: + case 0x00CB: + case 0x00CC: + case 0x00CD: + case 0x00CE: + case 0x00CF: + case 0x00D1: + case 0x00D2: + case 0x00D3: + case 0x00D4: + case 0x00D6: + case 0x00D7: + case 0x00D9: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DF: + case 0x00E0: + case 0x00E1: + case 0x00E2: + case 0x00E4: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00EC: + case 0x00ED: + case 0x00EE: + case 0x00EF: + case 0x00F1: + case 0x00F2: + case 0x00F3: + case 0x00F4: + case 0x00F6: + case 0x00F7: + case 0x00F9: + case 0x00FA: + case 0x00FB: + case 0x00FC: + break; + case 0x0108: ch = 0xC6; break; + case 0x0109: ch = 0xE6; break; + case 0x010A: ch = 0xC5; break; + case 0x010B: ch = 0xE5; break; + case 0x011C: ch = 0xD8; break; + case 0x011D: ch = 0xF8; break; + case 0x011E: ch = 0xAB; break; + case 0x011F: ch = 0xBB; break; + case 0x0120: ch = 0xD5; break; + case 0x0121: ch = 0xF5; break; + case 0x0124: ch = 0xA6; break; + case 0x0125: ch = 0xB6; break; + case 0x0126: ch = 0xA1; break; + case 0x0127: ch = 0xB1; break; + case 0x0130: ch = 0xA9; break; + case 0x0131: ch = 0xB9; break; + case 0x0134: ch = 0xAC; break; + case 0x0135: ch = 0xBC; break; + case 0x015C: ch = 0xDE; break; + case 0x015D: ch = 0xFE; break; + case 0x015E: ch = 0xAA; break; + case 0x015F: ch = 0xBA; break; + case 0x016C: ch = 0xDD; break; + case 0x016D: ch = 0xFD; break; + case 0x017B: ch = 0xAF; break; + case 0x017C: ch = 0xBF; break; + case 0x02D8: ch = 0xA2; break; + case 0x02D9: ch = 0xFF; 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 >= 161) switch(ch) + { + case 0x00A3: + case 0x00A4: + case 0x00A7: + case 0x00A8: + case 0x00AD: + case 0x00B0: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B5: + case 0x00B7: + case 0x00B8: + case 0x00BD: + case 0x00C0: + case 0x00C1: + case 0x00C2: + case 0x00C4: + case 0x00C7: + case 0x00C8: + case 0x00C9: + case 0x00CA: + case 0x00CB: + case 0x00CC: + case 0x00CD: + case 0x00CE: + case 0x00CF: + case 0x00D1: + case 0x00D2: + case 0x00D3: + case 0x00D4: + case 0x00D6: + case 0x00D7: + case 0x00D9: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DF: + case 0x00E0: + case 0x00E1: + case 0x00E2: + case 0x00E4: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00EC: + case 0x00ED: + case 0x00EE: + case 0x00EF: + case 0x00F1: + case 0x00F2: + case 0x00F3: + case 0x00F4: + case 0x00F6: + case 0x00F7: + case 0x00F9: + case 0x00FA: + case 0x00FB: + case 0x00FC: + break; + case 0x0108: ch = 0xC6; break; + case 0x0109: ch = 0xE6; break; + case 0x010A: ch = 0xC5; break; + case 0x010B: ch = 0xE5; break; + case 0x011C: ch = 0xD8; break; + case 0x011D: ch = 0xF8; break; + case 0x011E: ch = 0xAB; break; + case 0x011F: ch = 0xBB; break; + case 0x0120: ch = 0xD5; break; + case 0x0121: ch = 0xF5; break; + case 0x0124: ch = 0xA6; break; + case 0x0125: ch = 0xB6; break; + case 0x0126: ch = 0xA1; break; + case 0x0127: ch = 0xB1; break; + case 0x0130: ch = 0xA9; break; + case 0x0131: ch = 0xB9; break; + case 0x0134: ch = 0xAC; break; + case 0x0135: ch = 0xBC; break; + case 0x015C: ch = 0xDE; break; + case 0x015D: ch = 0xFE; break; + case 0x015E: ch = 0xAA; break; + case 0x015F: ch = 0xBA; break; + case 0x016C: ch = 0xDD; break; + case 0x016D: ch = 0xFD; break; + case 0x017B: ch = 0xAF; break; + case 0x017C: ch = 0xBF; break; + case 0x02D8: ch = 0xA2; break; + case 0x02D9: ch = 0xFF; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP28593 + +public class ENCiso_8859_3 : CP28593 +{ + public ENCiso_8859_3() : base() {} + +}; // class ENCiso_8859_3 + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP28597.cs b/mcs/class/I18N/West/CP28597.cs new file mode 100644 index 00000000000..b4a25378f03 --- /dev/null +++ b/mcs/class/I18N/West/CP28597.cs @@ -0,0 +1,339 @@ +/* + * CP28597.cs - Greek (ISO) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-4909.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP28597 : ByteEncoding +{ + public CP28597() + : base(28597, ToChars, "Greek (ISO)", + "iso-8859-7", "iso-8859-7", "iso-8859-7", + true, true, true, true, 1253) + {} + + 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', '\u0080', '\u0081', '\u0082', '\u0083', + '\u0084', '\u0085', '\u0086', '\u0087', '\u0088', '\u0089', + '\u008A', '\u008B', '\u008C', '\u008D', '\u008E', '\u008F', + '\u0090', '\u0091', '\u0092', '\u0093', '\u0094', '\u0095', + '\u0096', '\u0097', '\u0098', '\u0099', '\u009A', '\u009B', + '\u009C', '\u009D', '\u009E', '\u009F', '\u00A0', '\u2018', + '\u2019', '\u00A3', '\u20AC', '\u003F', '\u00A6', '\u00A7', + '\u00A8', '\u00A9', '\u003F', '\u00AB', '\u00AC', '\u00AD', + '\u003F', '\u2015', '\u00B0', '\u00B1', '\u00B2', '\u00B3', + '\u00B4', '\u0385', '\u0386', '\u0387', '\u0388', '\u0389', + '\u038A', '\u00BB', '\u038C', '\u00BD', '\u038E', '\u038F', + '\u0390', '\u0391', '\u0392', '\u0393', '\u0394', '\u0395', + '\u0396', '\u0397', '\u0398', '\u0399', '\u039A', '\u039B', + '\u039C', '\u039D', '\u039E', '\u039F', '\u03A0', '\u03A1', + '\u003F', '\u03A3', '\u03A4', '\u03A5', '\u03A6', '\u03A7', + '\u03A8', '\u03A9', '\u03AA', '\u03AB', '\u03AC', '\u03AD', + '\u03AE', '\u03AF', '\u03B0', '\u03B1', '\u03B2', '\u03B3', + '\u03B4', '\u03B5', '\u03B6', '\u03B7', '\u03B8', '\u03B9', + '\u03BA', '\u03BB', '\u03BC', '\u03BD', '\u03BE', '\u03BF', + '\u03C0', '\u03C1', '\u03C2', '\u03C3', '\u03C4', '\u03C5', + '\u03C6', '\u03C7', '\u03C8', '\u03C9', '\u03CA', '\u03CB', + '\u03CC', '\u03CD', '\u03CE', '\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 >= 161) switch(ch) + { + case 0x00A3: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B7: + case 0x00BB: + case 0x00BD: + break; + case 0x0385: + case 0x0386: + case 0x0387: + case 0x0388: + case 0x0389: + case 0x038A: + ch -= 0x02D0; + break; + case 0x038C: ch = 0xBC; break; + case 0x038E: + case 0x038F: + case 0x0390: + case 0x0391: + case 0x0392: + case 0x0393: + case 0x0394: + case 0x0395: + case 0x0396: + case 0x0397: + case 0x0398: + case 0x0399: + case 0x039A: + case 0x039B: + case 0x039C: + case 0x039D: + case 0x039E: + case 0x039F: + case 0x03A0: + case 0x03A1: + ch -= 0x02D0; + break; + case 0x03A3: + case 0x03A4: + case 0x03A5: + case 0x03A6: + case 0x03A7: + case 0x03A8: + case 0x03A9: + case 0x03AA: + case 0x03AB: + case 0x03AC: + case 0x03AD: + case 0x03AE: + case 0x03AF: + case 0x03B0: + case 0x03B1: + case 0x03B2: + case 0x03B3: + case 0x03B4: + case 0x03B5: + case 0x03B6: + case 0x03B7: + case 0x03B8: + case 0x03B9: + case 0x03BA: + case 0x03BB: + case 0x03BC: + case 0x03BD: + case 0x03BE: + case 0x03BF: + case 0x03C0: + case 0x03C1: + case 0x03C2: + case 0x03C3: + case 0x03C4: + case 0x03C5: + case 0x03C6: + case 0x03C7: + case 0x03C8: + case 0x03C9: + case 0x03CA: + case 0x03CB: + case 0x03CC: + case 0x03CD: + case 0x03CE: + ch -= 0x02D0; + break; + case 0x03D5: ch = 0xF6; break; + case 0x2015: ch = 0xAF; break; + case 0x2018: ch = 0xA1; break; + case 0x2019: ch = 0xA2; break; + case 0x20AC: ch = 0xA4; 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 >= 161) switch(ch) + { + case 0x00A3: + case 0x00A6: + case 0x00A7: + case 0x00A8: + case 0x00A9: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B4: + case 0x00B7: + case 0x00BB: + case 0x00BD: + break; + case 0x0385: + case 0x0386: + case 0x0387: + case 0x0388: + case 0x0389: + case 0x038A: + ch -= 0x02D0; + break; + case 0x038C: ch = 0xBC; break; + case 0x038E: + case 0x038F: + case 0x0390: + case 0x0391: + case 0x0392: + case 0x0393: + case 0x0394: + case 0x0395: + case 0x0396: + case 0x0397: + case 0x0398: + case 0x0399: + case 0x039A: + case 0x039B: + case 0x039C: + case 0x039D: + case 0x039E: + case 0x039F: + case 0x03A0: + case 0x03A1: + ch -= 0x02D0; + break; + case 0x03A3: + case 0x03A4: + case 0x03A5: + case 0x03A6: + case 0x03A7: + case 0x03A8: + case 0x03A9: + case 0x03AA: + case 0x03AB: + case 0x03AC: + case 0x03AD: + case 0x03AE: + case 0x03AF: + case 0x03B0: + case 0x03B1: + case 0x03B2: + case 0x03B3: + case 0x03B4: + case 0x03B5: + case 0x03B6: + case 0x03B7: + case 0x03B8: + case 0x03B9: + case 0x03BA: + case 0x03BB: + case 0x03BC: + case 0x03BD: + case 0x03BE: + case 0x03BF: + case 0x03C0: + case 0x03C1: + case 0x03C2: + case 0x03C3: + case 0x03C4: + case 0x03C5: + case 0x03C6: + case 0x03C7: + case 0x03C8: + case 0x03C9: + case 0x03CA: + case 0x03CB: + case 0x03CC: + case 0x03CD: + case 0x03CE: + ch -= 0x02D0; + break; + case 0x03D5: ch = 0xF6; break; + case 0x2015: ch = 0xAF; break; + case 0x2018: ch = 0xA1; break; + case 0x2019: ch = 0xA2; break; + case 0x20AC: ch = 0xA4; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP28597 + +public class ENCiso_8859_7 : CP28597 +{ + public ENCiso_8859_7() : base() {} + +}; // class ENCiso_8859_7 + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP28605.cs b/mcs/class/I18N/West/CP28605.cs new file mode 100644 index 00000000000..71ab3c9f01d --- /dev/null +++ b/mcs/class/I18N/West/CP28605.cs @@ -0,0 +1,327 @@ +/* + * CP28605.cs - Latin 9 (ISO) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-923.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP28605 : ByteEncoding +{ + public CP28605() + : base(28605, ToChars, "Latin 9 (ISO)", + "iso-8859-15", "iso-8859-15", "iso-8859-15", + false, true, true, true, 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', '\u0080', '\u0081', '\u0082', '\u0083', + '\u0084', '\u0085', '\u0086', '\u0087', '\u0088', '\u0089', + '\u008A', '\u008B', '\u008C', '\u008D', '\u008E', '\u008F', + '\u0090', '\u0091', '\u0092', '\u0093', '\u0094', '\u0095', + '\u0096', '\u0097', '\u0098', '\u0099', '\u009A', '\u009B', + '\u009C', '\u009D', '\u009E', '\u009F', '\u00A0', '\u00A1', + '\u00A2', '\u00A3', '\u20AC', '\u00A5', '\u0160', '\u00A7', + '\u0161', '\u00A9', '\u00AA', '\u00AB', '\u00AC', '\u00AD', + '\u00AE', '\u00AF', '\u00B0', '\u00B1', '\u00B2', '\u00B3', + '\u017D', '\u00B5', '\u00B6', '\u00B7', '\u017E', '\u00B9', + '\u00BA', '\u00BB', '\u0152', '\u0153', '\u0178', '\u00BF', + '\u00C0', '\u00C1', '\u00C2', '\u00C3', '\u00C4', '\u00C5', + '\u00C6', '\u00C7', '\u00C8', '\u00C9', '\u00CA', '\u00CB', + '\u00CC', '\u00CD', '\u00CE', '\u00CF', '\u00D0', '\u00D1', + '\u00D2', '\u00D3', '\u00D4', '\u00D5', '\u00D6', '\u00D7', + '\u00D8', '\u00D9', '\u00DA', '\u00DB', '\u00DC', '\u00DD', + '\u00DE', '\u00DF', '\u00E0', '\u00E1', '\u00E2', '\u00E3', + '\u00E4', '\u00E5', '\u00E6', '\u00E7', '\u00E8', '\u00E9', + '\u00EA', '\u00EB', '\u00EC', '\u00ED', '\u00EE', '\u00EF', + '\u00F0', '\u00F1', '\u00F2', '\u00F3', '\u00F4', '\u00F5', + '\u00F6', '\u00F7', '\u00F8', '\u00F9', '\u00FA', '\u00FB', + '\u00FC', '\u00FD', '\u00FE', '\u00FF', + }; + + 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 >= 164) switch(ch) + { + case 0x00A5: + case 0x00A7: + case 0x00A9: + case 0x00AA: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00AF: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B9: + case 0x00BA: + case 0x00BB: + case 0x00BF: + case 0x00C0: + case 0x00C1: + case 0x00C2: + case 0x00C3: + case 0x00C4: + case 0x00C5: + case 0x00C6: + case 0x00C7: + case 0x00C8: + case 0x00C9: + case 0x00CA: + case 0x00CB: + case 0x00CC: + case 0x00CD: + case 0x00CE: + case 0x00CF: + case 0x00D0: + case 0x00D1: + case 0x00D2: + case 0x00D3: + case 0x00D4: + case 0x00D5: + case 0x00D6: + case 0x00D7: + case 0x00D8: + case 0x00D9: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DD: + case 0x00DE: + case 0x00DF: + case 0x00E0: + case 0x00E1: + case 0x00E2: + case 0x00E3: + case 0x00E4: + case 0x00E5: + case 0x00E6: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00EC: + case 0x00ED: + case 0x00EE: + case 0x00EF: + case 0x00F0: + case 0x00F1: + case 0x00F2: + case 0x00F3: + case 0x00F4: + case 0x00F5: + case 0x00F6: + case 0x00F7: + case 0x00F8: + case 0x00F9: + case 0x00FA: + case 0x00FB: + case 0x00FC: + case 0x00FD: + case 0x00FE: + case 0x00FF: + break; + case 0x0152: ch = 0xBC; break; + case 0x0153: ch = 0xBD; break; + case 0x0160: ch = 0xA6; break; + case 0x0161: ch = 0xA8; break; + case 0x0178: ch = 0xBE; break; + case 0x017D: ch = 0xB4; break; + case 0x017E: ch = 0xB8; break; + case 0x20AC: ch = 0xA4; 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 >= 164) switch(ch) + { + case 0x00A5: + case 0x00A7: + case 0x00A9: + case 0x00AA: + case 0x00AB: + case 0x00AC: + case 0x00AD: + case 0x00AE: + case 0x00AF: + case 0x00B0: + case 0x00B1: + case 0x00B2: + case 0x00B3: + case 0x00B5: + case 0x00B6: + case 0x00B7: + case 0x00B9: + case 0x00BA: + case 0x00BB: + case 0x00BF: + case 0x00C0: + case 0x00C1: + case 0x00C2: + case 0x00C3: + case 0x00C4: + case 0x00C5: + case 0x00C6: + case 0x00C7: + case 0x00C8: + case 0x00C9: + case 0x00CA: + case 0x00CB: + case 0x00CC: + case 0x00CD: + case 0x00CE: + case 0x00CF: + case 0x00D0: + case 0x00D1: + case 0x00D2: + case 0x00D3: + case 0x00D4: + case 0x00D5: + case 0x00D6: + case 0x00D7: + case 0x00D8: + case 0x00D9: + case 0x00DA: + case 0x00DB: + case 0x00DC: + case 0x00DD: + case 0x00DE: + case 0x00DF: + case 0x00E0: + case 0x00E1: + case 0x00E2: + case 0x00E3: + case 0x00E4: + case 0x00E5: + case 0x00E6: + case 0x00E7: + case 0x00E8: + case 0x00E9: + case 0x00EA: + case 0x00EB: + case 0x00EC: + case 0x00ED: + case 0x00EE: + case 0x00EF: + case 0x00F0: + case 0x00F1: + case 0x00F2: + case 0x00F3: + case 0x00F4: + case 0x00F5: + case 0x00F6: + case 0x00F7: + case 0x00F8: + case 0x00F9: + case 0x00FA: + case 0x00FB: + case 0x00FC: + case 0x00FD: + case 0x00FE: + case 0x00FF: + break; + case 0x0152: ch = 0xBC; break; + case 0x0153: ch = 0xBD; break; + case 0x0160: ch = 0xA6; break; + case 0x0161: ch = 0xA8; break; + case 0x0178: ch = 0xBE; break; + case 0x017D: ch = 0xB4; break; + case 0x017E: ch = 0xB8; break; + case 0x20AC: ch = 0xA4; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP28605 + +public class ENCiso_8859_15 : CP28605 +{ + public ENCiso_8859_15() : base() {} + +}; // class ENCiso_8859_15 + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP437.cs b/mcs/class/I18N/West/CP437.cs new file mode 100644 index 00000000000..8a67bfd158e --- /dev/null +++ b/mcs/class/I18N/West/CP437.cs @@ -0,0 +1,681 @@ +/* + * CP437.cs - OEM United States code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-437.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP437 : ByteEncoding +{ + public CP437() + : base(437, ToChars, "OEM United States", + "IBM437", "IBM437", "IBM437", + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u00C7', '\u00FC', '\u00E9', '\u00E2', + '\u00E4', '\u00E0', '\u00E5', '\u00E7', '\u00EA', '\u00EB', + '\u00E8', '\u00EF', '\u00EE', '\u00EC', '\u00C4', '\u00C5', + '\u00C9', '\u00E6', '\u00C6', '\u00F4', '\u00F6', '\u00F2', + '\u00FB', '\u00F9', '\u00FF', '\u00D6', '\u00DC', '\u00A2', + '\u00A3', '\u00A5', '\u20A7', '\u0192', '\u00E1', '\u00ED', + '\u00F3', '\u00FA', '\u00F1', '\u00D1', '\u00AA', '\u00BA', + '\u00BF', '\u2310', '\u00AC', '\u00BD', '\u00BC', '\u00A1', + '\u00AB', '\u00BB', '\u2591', '\u2592', '\u2593', '\u2502', + '\u2524', '\u2561', '\u2562', '\u2556', '\u2555', '\u2563', + '\u2551', '\u2557', '\u255D', '\u255C', '\u255B', '\u2510', + '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', + '\u255E', '\u255F', '\u255A', '\u2554', '\u2569', '\u2566', + '\u2560', '\u2550', '\u256C', '\u2567', '\u2568', '\u2564', + '\u2565', '\u2559', '\u2558', '\u2552', '\u2553', '\u256B', + '\u256A', '\u2518', '\u250C', '\u2588', '\u2584', '\u258C', + '\u2590', '\u2580', '\u03B1', '\u00DF', '\u0393', '\u03C0', + '\u03A3', '\u03C3', '\u03BC', '\u03C4', '\u03A6', '\u0398', + '\u03A9', '\u03B4', '\u221E', '\u03C6', '\u03B5', '\u2229', + '\u2261', '\u00B1', '\u2265', '\u2264', '\u2320', '\u2321', + '\u00F7', '\u2248', '\u00B0', '\u2219', '\u00B7', '\u221A', + '\u207F', '\u00B2', '\u25A0', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A2: ch = 0x9B; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A5: ch = 0x9D; break; + case 0x00A7: ch = 0x15; break; + case 0x00AA: ch = 0xA6; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0xFA; break; + case 0x00BA: ch = 0xA7; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C5: ch = 0x8F; break; + case 0x00C6: ch = 0x92; break; + case 0x00C7: ch = 0x80; break; + case 0x00C9: ch = 0x90; break; + case 0x00D1: ch = 0xA5; break; + case 0x00D6: ch = 0x99; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E4: ch = 0x84; break; + case 0x00E5: ch = 0x86; break; + case 0x00E6: ch = 0x91; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00EC: ch = 0x8D; break; + case 0x00ED: ch = 0xA1; break; + case 0x00EE: ch = 0x8C; break; + case 0x00EF: ch = 0x8B; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F2: ch = 0x95; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x00FF: ch = 0x98; break; + case 0x0192: ch = 0x9F; break; + case 0x0393: ch = 0xE2; break; + case 0x0398: ch = 0xE9; break; + case 0x03A3: ch = 0xE4; break; + case 0x03A6: ch = 0xE8; break; + case 0x03A9: ch = 0xEA; break; + case 0x03B1: ch = 0xE0; break; + case 0x03B4: ch = 0xEB; break; + case 0x03B5: ch = 0xEE; break; + case 0x03BC: ch = 0xE6; break; + case 0x03C0: ch = 0xE3; break; + case 0x03C3: ch = 0xE5; break; + case 0x03C4: ch = 0xE7; break; + case 0x03C6: ch = 0xED; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x207F: ch = 0xFC; break; + case 0x20A7: ch = 0x9E; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221E: ch = 0xEC; break; + case 0x221F: ch = 0x1C; break; + case 0x2229: ch = 0xEF; break; + case 0x2248: ch = 0xF7; break; + case 0x2261: ch = 0xF0; break; + case 0x2264: ch = 0xF3; break; + case 0x2265: ch = 0xF2; break; + case 0x2302: ch = 0x7F; break; + case 0x2310: ch = 0xA9; break; + case 0x2320: ch = 0xF4; break; + case 0x2321: ch = 0xF5; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A2: ch = 0x9B; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A5: ch = 0x9D; break; + case 0x00A7: ch = 0x15; break; + case 0x00AA: ch = 0xA6; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0xFA; break; + case 0x00BA: ch = 0xA7; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C5: ch = 0x8F; break; + case 0x00C6: ch = 0x92; break; + case 0x00C7: ch = 0x80; break; + case 0x00C9: ch = 0x90; break; + case 0x00D1: ch = 0xA5; break; + case 0x00D6: ch = 0x99; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E4: ch = 0x84; break; + case 0x00E5: ch = 0x86; break; + case 0x00E6: ch = 0x91; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00EC: ch = 0x8D; break; + case 0x00ED: ch = 0xA1; break; + case 0x00EE: ch = 0x8C; break; + case 0x00EF: ch = 0x8B; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F2: ch = 0x95; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x00FF: ch = 0x98; break; + case 0x0192: ch = 0x9F; break; + case 0x0393: ch = 0xE2; break; + case 0x0398: ch = 0xE9; break; + case 0x03A3: ch = 0xE4; break; + case 0x03A6: ch = 0xE8; break; + case 0x03A9: ch = 0xEA; break; + case 0x03B1: ch = 0xE0; break; + case 0x03B4: ch = 0xEB; break; + case 0x03B5: ch = 0xEE; break; + case 0x03BC: ch = 0xE6; break; + case 0x03C0: ch = 0xE3; break; + case 0x03C3: ch = 0xE5; break; + case 0x03C4: ch = 0xE7; break; + case 0x03C6: ch = 0xED; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x207F: ch = 0xFC; break; + case 0x20A7: ch = 0x9E; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221E: ch = 0xEC; break; + case 0x221F: ch = 0x1C; break; + case 0x2229: ch = 0xEF; break; + case 0x2248: ch = 0xF7; break; + case 0x2261: ch = 0xF0; break; + case 0x2264: ch = 0xF3; break; + case 0x2265: ch = 0xF2; break; + case 0x2302: ch = 0x7F; break; + case 0x2310: ch = 0xA9; break; + case 0x2320: ch = 0xF4; break; + case 0x2321: ch = 0xF5; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP437 + +public class ENCibm437 : CP437 +{ + public ENCibm437() : base() {} + +}; // class ENCibm437 + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP850.cs b/mcs/class/I18N/West/CP850.cs new file mode 100644 index 00000000000..6d8f744fb00 --- /dev/null +++ b/mcs/class/I18N/West/CP850.cs @@ -0,0 +1,681 @@ +/* + * CP850.cs - Western European (DOS) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-850.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP850 : ByteEncoding +{ + public CP850() + : base(850, ToChars, "Western European (DOS)", + "ibm850", "ibm850", "ibm850", + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u00C7', '\u00FC', '\u00E9', '\u00E2', + '\u00E4', '\u00E0', '\u00E5', '\u00E7', '\u00EA', '\u00EB', + '\u00E8', '\u00EF', '\u00EE', '\u00EC', '\u00C4', '\u00C5', + '\u00C9', '\u00E6', '\u00C6', '\u00F4', '\u00F6', '\u00F2', + '\u00FB', '\u00F9', '\u00FF', '\u00D6', '\u00DC', '\u00F8', + '\u00A3', '\u00D8', '\u00D7', '\u0192', '\u00E1', '\u00ED', + '\u00F3', '\u00FA', '\u00F1', '\u00D1', '\u00AA', '\u00BA', + '\u00BF', '\u00AE', '\u00AC', '\u00BD', '\u00BC', '\u00A1', + '\u00AB', '\u00BB', '\u2591', '\u2592', '\u2593', '\u2502', + '\u2524', '\u00C1', '\u00C2', '\u00C0', '\u00A9', '\u2563', + '\u2551', '\u2557', '\u255D', '\u00A2', '\u00A5', '\u2510', + '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', + '\u00E3', '\u00C3', '\u255A', '\u2554', '\u2569', '\u2566', + '\u2560', '\u2550', '\u256C', '\u00A4', '\u00F0', '\u00D0', + '\u00CA', '\u00CB', '\u00C8', '\u0131', '\u00CD', '\u00CE', + '\u00CF', '\u2518', '\u250C', '\u2588', '\u2584', '\u00A6', + '\u00CC', '\u2580', '\u00D3', '\u00DF', '\u00D4', '\u00D2', + '\u00F5', '\u00D5', '\u00B5', '\u00FE', '\u00DE', '\u00DA', + '\u00DB', '\u00D9', '\u00FD', '\u00DD', '\u00AF', '\u00B4', + '\u00AD', '\u00B1', '\u2017', '\u00BE', '\u00B6', '\u00A7', + '\u00F7', '\u00B8', '\u00B0', '\u00A8', '\u00B7', '\u00B9', + '\u00B3', '\u00B2', '\u25A0', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A2: ch = 0xBD; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A4: ch = 0xCF; break; + case 0x00A5: ch = 0xBE; break; + case 0x00A6: ch = 0xDD; break; + case 0x00A7: ch = 0xF5; break; + case 0x00A8: ch = 0xF9; break; + case 0x00A9: ch = 0xB8; break; + case 0x00AA: ch = 0xA6; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00AD: ch = 0xF0; break; + case 0x00AE: ch = 0xA9; break; + case 0x00AF: ch = 0xEE; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B3: ch = 0xFC; break; + case 0x00B4: ch = 0xEF; break; + case 0x00B5: ch = 0xE6; break; + case 0x00B6: ch = 0xF4; break; + case 0x00B7: ch = 0xFA; break; + case 0x00B8: ch = 0xF7; break; + case 0x00B9: ch = 0xFB; break; + case 0x00BA: ch = 0xA7; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BE: ch = 0xF3; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C0: ch = 0xB7; break; + case 0x00C1: ch = 0xB5; break; + case 0x00C2: ch = 0xB6; break; + case 0x00C3: ch = 0xC7; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C5: ch = 0x8F; break; + case 0x00C6: ch = 0x92; break; + case 0x00C7: ch = 0x80; break; + case 0x00C8: ch = 0xD4; break; + case 0x00C9: ch = 0x90; break; + case 0x00CA: ch = 0xD2; break; + case 0x00CB: ch = 0xD3; break; + case 0x00CC: ch = 0xDE; break; + case 0x00CD: ch = 0xD6; break; + case 0x00CE: ch = 0xD7; break; + case 0x00CF: ch = 0xD8; break; + case 0x00D0: ch = 0xD1; break; + case 0x00D1: ch = 0xA5; break; + case 0x00D2: ch = 0xE3; break; + case 0x00D3: ch = 0xE0; break; + case 0x00D4: ch = 0xE2; break; + case 0x00D5: ch = 0xE5; break; + case 0x00D6: ch = 0x99; break; + case 0x00D7: ch = 0x9E; break; + case 0x00D8: ch = 0x9D; break; + case 0x00D9: ch = 0xEB; break; + case 0x00DA: ch = 0xE9; break; + case 0x00DB: ch = 0xEA; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DD: ch = 0xED; break; + case 0x00DE: ch = 0xE8; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E3: ch = 0xC6; break; + case 0x00E4: ch = 0x84; break; + case 0x00E5: ch = 0x86; break; + case 0x00E6: ch = 0x91; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00EC: ch = 0x8D; break; + case 0x00ED: ch = 0xA1; break; + case 0x00EE: ch = 0x8C; break; + case 0x00EF: ch = 0x8B; break; + case 0x00F0: ch = 0xD0; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F2: ch = 0x95; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F5: ch = 0xE4; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F8: ch = 0x9B; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x00FD: ch = 0xEC; break; + case 0x00FE: ch = 0xE7; break; + case 0x00FF: ch = 0x98; break; + case 0x0110: ch = 0xD1; break; + case 0x0131: ch = 0xD5; break; + case 0x0192: ch = 0x9F; break; + case 0x2017: ch = 0xF2; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x203E: ch = 0xEE; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2554: ch = 0xC9; break; + case 0x2557: ch = 0xBB; break; + case 0x255A: ch = 0xC8; break; + case 0x255D: ch = 0xBC; break; + case 0x2560: ch = 0xCC; break; + case 0x2563: ch = 0xB9; break; + case 0x2566: ch = 0xCB; break; + case 0x2569: ch = 0xCA; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266C: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A2: ch = 0xBD; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A4: ch = 0xCF; break; + case 0x00A5: ch = 0xBE; break; + case 0x00A6: ch = 0xDD; break; + case 0x00A7: ch = 0xF5; break; + case 0x00A8: ch = 0xF9; break; + case 0x00A9: ch = 0xB8; break; + case 0x00AA: ch = 0xA6; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00AD: ch = 0xF0; break; + case 0x00AE: ch = 0xA9; break; + case 0x00AF: ch = 0xEE; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B3: ch = 0xFC; break; + case 0x00B4: ch = 0xEF; break; + case 0x00B5: ch = 0xE6; break; + case 0x00B6: ch = 0xF4; break; + case 0x00B7: ch = 0xFA; break; + case 0x00B8: ch = 0xF7; break; + case 0x00B9: ch = 0xFB; break; + case 0x00BA: ch = 0xA7; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BE: ch = 0xF3; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C0: ch = 0xB7; break; + case 0x00C1: ch = 0xB5; break; + case 0x00C2: ch = 0xB6; break; + case 0x00C3: ch = 0xC7; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C5: ch = 0x8F; break; + case 0x00C6: ch = 0x92; break; + case 0x00C7: ch = 0x80; break; + case 0x00C8: ch = 0xD4; break; + case 0x00C9: ch = 0x90; break; + case 0x00CA: ch = 0xD2; break; + case 0x00CB: ch = 0xD3; break; + case 0x00CC: ch = 0xDE; break; + case 0x00CD: ch = 0xD6; break; + case 0x00CE: ch = 0xD7; break; + case 0x00CF: ch = 0xD8; break; + case 0x00D0: ch = 0xD1; break; + case 0x00D1: ch = 0xA5; break; + case 0x00D2: ch = 0xE3; break; + case 0x00D3: ch = 0xE0; break; + case 0x00D4: ch = 0xE2; break; + case 0x00D5: ch = 0xE5; break; + case 0x00D6: ch = 0x99; break; + case 0x00D7: ch = 0x9E; break; + case 0x00D8: ch = 0x9D; break; + case 0x00D9: ch = 0xEB; break; + case 0x00DA: ch = 0xE9; break; + case 0x00DB: ch = 0xEA; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DD: ch = 0xED; break; + case 0x00DE: ch = 0xE8; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E3: ch = 0xC6; break; + case 0x00E4: ch = 0x84; break; + case 0x00E5: ch = 0x86; break; + case 0x00E6: ch = 0x91; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00EC: ch = 0x8D; break; + case 0x00ED: ch = 0xA1; break; + case 0x00EE: ch = 0x8C; break; + case 0x00EF: ch = 0x8B; break; + case 0x00F0: ch = 0xD0; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F2: ch = 0x95; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F5: ch = 0xE4; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F8: ch = 0x9B; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x00FD: ch = 0xEC; break; + case 0x00FE: ch = 0xE7; break; + case 0x00FF: ch = 0x98; break; + case 0x0110: ch = 0xD1; break; + case 0x0131: ch = 0xD5; break; + case 0x0192: ch = 0x9F; break; + case 0x2017: ch = 0xF2; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x203E: ch = 0xEE; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x221F: ch = 0x1C; break; + case 0x2302: ch = 0x7F; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2554: ch = 0xC9; break; + case 0x2557: ch = 0xBB; break; + case 0x255A: ch = 0xC8; break; + case 0x255D: ch = 0xBC; break; + case 0x2560: ch = 0xCC; break; + case 0x2563: ch = 0xB9; break; + case 0x2566: ch = 0xCB; break; + case 0x2569: ch = 0xCA; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266C: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP850 + +public class ENCibm850 : CP850 +{ + public ENCibm850() : base() {} + +}; // class ENCibm850 + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP860.cs b/mcs/class/I18N/West/CP860.cs new file mode 100644 index 00000000000..ebb0b569de8 --- /dev/null +++ b/mcs/class/I18N/West/CP860.cs @@ -0,0 +1,681 @@ +/* + * CP860.cs - Portuguese (DOS) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-860.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP860 : ByteEncoding +{ + public CP860() + : base(860, ToChars, "Portuguese (DOS)", + "ibm860", "ibm860", "ibm860", + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u00C7', '\u00FC', '\u00E9', '\u00E2', + '\u00E3', '\u00E0', '\u00C1', '\u00E7', '\u00EA', '\u00CA', + '\u00E8', '\u00CD', '\u00D4', '\u00EC', '\u00C3', '\u00C2', + '\u00C9', '\u00C0', '\u00C8', '\u00F4', '\u00F5', '\u00F2', + '\u00DA', '\u00F9', '\u00CC', '\u00D5', '\u00DC', '\u00A2', + '\u00A3', '\u00D9', '\u20A7', '\u00D3', '\u00E1', '\u00ED', + '\u00F3', '\u00FA', '\u00F1', '\u00D1', '\u00AA', '\u00BA', + '\u00BF', '\u00D2', '\u00AC', '\u00BD', '\u00BC', '\u00A1', + '\u00AB', '\u00BB', '\u2591', '\u2592', '\u2593', '\u2502', + '\u2524', '\u2561', '\u2562', '\u2556', '\u2555', '\u2563', + '\u2551', '\u2557', '\u255D', '\u255C', '\u255B', '\u2510', + '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', + '\u255E', '\u255F', '\u255A', '\u2554', '\u2569', '\u2566', + '\u2560', '\u2550', '\u256C', '\u2567', '\u2568', '\u2564', + '\u2565', '\u2559', '\u2558', '\u2552', '\u2553', '\u256B', + '\u256A', '\u2518', '\u250C', '\u2588', '\u2584', '\u258C', + '\u2590', '\u2580', '\u03B1', '\u00DF', '\u0393', '\u03C0', + '\u03A3', '\u03C3', '\u03BC', '\u03C4', '\u03A6', '\u0398', + '\u03A9', '\u03B4', '\u221E', '\u03C6', '\u03B5', '\u2229', + '\u2261', '\u00B1', '\u2265', '\u2264', '\u2320', '\u2321', + '\u00F7', '\u2248', '\u00B0', '\u2219', '\u00B7', '\u221A', + '\u207F', '\u00B2', '\u25A0', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A2: ch = 0x9B; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A7: ch = 0x15; break; + case 0x00AA: ch = 0xA6; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0xFA; break; + case 0x00BA: ch = 0xA7; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C0: ch = 0x91; break; + case 0x00C1: ch = 0x86; break; + case 0x00C2: ch = 0x8F; break; + case 0x00C3: ch = 0x8E; break; + case 0x00C7: ch = 0x80; break; + case 0x00C8: ch = 0x92; break; + case 0x00C9: ch = 0x90; break; + case 0x00CA: ch = 0x89; break; + case 0x00CC: ch = 0x98; break; + case 0x00CD: ch = 0x8B; break; + case 0x00D1: ch = 0xA5; break; + case 0x00D2: ch = 0xA9; break; + case 0x00D3: ch = 0x9F; break; + case 0x00D4: ch = 0x8C; break; + case 0x00D5: ch = 0x99; break; + case 0x00D9: ch = 0x9D; break; + case 0x00DA: ch = 0x96; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E3: ch = 0x84; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EC: ch = 0x8D; break; + case 0x00ED: ch = 0xA1; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F2: ch = 0x95; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F5: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FC: ch = 0x81; break; + case 0x0393: ch = 0xE2; break; + case 0x0398: ch = 0xE9; break; + case 0x03A3: ch = 0xE4; break; + case 0x03A6: ch = 0xE8; break; + case 0x03A9: ch = 0xEA; break; + case 0x03B1: ch = 0xE0; break; + case 0x03B4: ch = 0xEB; break; + case 0x03B5: ch = 0xEE; break; + case 0x03BC: ch = 0xE6; break; + case 0x03C0: ch = 0xE3; break; + case 0x03C3: ch = 0xE5; break; + case 0x03C4: ch = 0xE7; break; + case 0x03C6: ch = 0xED; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x207F: ch = 0xFC; break; + case 0x20A7: ch = 0x9E; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221E: ch = 0xEC; break; + case 0x221F: ch = 0x1C; break; + case 0x2229: ch = 0xEF; break; + case 0x2248: ch = 0xF7; break; + case 0x2261: ch = 0xF0; break; + case 0x2264: ch = 0xF3; break; + case 0x2265: ch = 0xF2; break; + case 0x2302: ch = 0x7F; break; + case 0x2320: ch = 0xF4; break; + case 0x2321: ch = 0xF5; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A2: ch = 0x9B; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A7: ch = 0x15; break; + case 0x00AA: ch = 0xA6; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0xFA; break; + case 0x00BA: ch = 0xA7; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C0: ch = 0x91; break; + case 0x00C1: ch = 0x86; break; + case 0x00C2: ch = 0x8F; break; + case 0x00C3: ch = 0x8E; break; + case 0x00C7: ch = 0x80; break; + case 0x00C8: ch = 0x92; break; + case 0x00C9: ch = 0x90; break; + case 0x00CA: ch = 0x89; break; + case 0x00CC: ch = 0x98; break; + case 0x00CD: ch = 0x8B; break; + case 0x00D1: ch = 0xA5; break; + case 0x00D2: ch = 0xA9; break; + case 0x00D3: ch = 0x9F; break; + case 0x00D4: ch = 0x8C; break; + case 0x00D5: ch = 0x99; break; + case 0x00D9: ch = 0x9D; break; + case 0x00DA: ch = 0x96; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E3: ch = 0x84; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EC: ch = 0x8D; break; + case 0x00ED: ch = 0xA1; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F2: ch = 0x95; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F5: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FC: ch = 0x81; break; + case 0x0393: ch = 0xE2; break; + case 0x0398: ch = 0xE9; break; + case 0x03A3: ch = 0xE4; break; + case 0x03A6: ch = 0xE8; break; + case 0x03A9: ch = 0xEA; break; + case 0x03B1: ch = 0xE0; break; + case 0x03B4: ch = 0xEB; break; + case 0x03B5: ch = 0xEE; break; + case 0x03BC: ch = 0xE6; break; + case 0x03C0: ch = 0xE3; break; + case 0x03C3: ch = 0xE5; break; + case 0x03C4: ch = 0xE7; break; + case 0x03C6: ch = 0xED; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x207F: ch = 0xFC; break; + case 0x20A7: ch = 0x9E; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221E: ch = 0xEC; break; + case 0x221F: ch = 0x1C; break; + case 0x2229: ch = 0xEF; break; + case 0x2248: ch = 0xF7; break; + case 0x2261: ch = 0xF0; break; + case 0x2264: ch = 0xF3; break; + case 0x2265: ch = 0xF2; break; + case 0x2302: ch = 0x7F; break; + case 0x2320: ch = 0xF4; break; + case 0x2321: ch = 0xF5; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP860 + +public class ENCibm860 : CP860 +{ + public ENCibm860() : base() {} + +}; // class ENCibm860 + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP861.cs b/mcs/class/I18N/West/CP861.cs new file mode 100644 index 00000000000..cfb6073c6d6 --- /dev/null +++ b/mcs/class/I18N/West/CP861.cs @@ -0,0 +1,681 @@ +/* + * CP861.cs - Icelandic (DOS) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-861.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP861 : ByteEncoding +{ + public CP861() + : base(861, ToChars, "Icelandic (DOS)", + "ibm861", "ibm861", "ibm861", + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u00C7', '\u00FC', '\u00E9', '\u00E2', + '\u00E4', '\u00E0', '\u00E5', '\u00E7', '\u00EA', '\u00EB', + '\u00E8', '\u00D0', '\u00F0', '\u00DE', '\u00C4', '\u00C5', + '\u00C9', '\u00E6', '\u00C6', '\u00F4', '\u00F6', '\u00FE', + '\u00FB', '\u00DD', '\u00FD', '\u00D6', '\u00DC', '\u00F8', + '\u00A3', '\u00D8', '\u20A7', '\u0192', '\u00E1', '\u00ED', + '\u00F3', '\u00FA', '\u00C1', '\u00CD', '\u00D3', '\u00DA', + '\u00BF', '\u2310', '\u00AC', '\u00BD', '\u00BC', '\u00A1', + '\u00AB', '\u00BB', '\u2591', '\u2592', '\u2593', '\u2502', + '\u2524', '\u2561', '\u2562', '\u2556', '\u2555', '\u2563', + '\u2551', '\u2557', '\u255D', '\u255C', '\u255B', '\u2510', + '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', + '\u255E', '\u255F', '\u255A', '\u2554', '\u2569', '\u2566', + '\u2560', '\u2550', '\u256C', '\u2567', '\u2568', '\u2564', + '\u2565', '\u2559', '\u2558', '\u2552', '\u2553', '\u256B', + '\u256A', '\u2518', '\u250C', '\u2588', '\u2584', '\u258C', + '\u2590', '\u2580', '\u03B1', '\u00DF', '\u0393', '\u03C0', + '\u03A3', '\u03C3', '\u03BC', '\u03C4', '\u03A6', '\u0398', + '\u03A9', '\u03B4', '\u221E', '\u03C6', '\u03B5', '\u2229', + '\u2261', '\u00B1', '\u2265', '\u2264', '\u2320', '\u2321', + '\u00F7', '\u2248', '\u00B0', '\u2219', '\u00B7', '\u221A', + '\u207F', '\u00B2', '\u25A0', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A7: ch = 0x15; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0xFA; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C1: ch = 0xA4; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C5: ch = 0x8F; break; + case 0x00C6: ch = 0x92; break; + case 0x00C7: ch = 0x80; break; + case 0x00C9: ch = 0x90; break; + case 0x00CD: ch = 0xA5; break; + case 0x00D0: ch = 0x8B; break; + case 0x00D3: ch = 0xA6; break; + case 0x00D6: ch = 0x99; break; + case 0x00D8: ch = 0x9D; break; + case 0x00DA: ch = 0xA7; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DD: ch = 0x97; break; + case 0x00DE: ch = 0x8D; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E4: ch = 0x84; break; + case 0x00E5: ch = 0x86; break; + case 0x00E6: ch = 0x91; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00ED: ch = 0xA1; break; + case 0x00F0: ch = 0x8C; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F8: ch = 0x9B; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x00FD: ch = 0x98; break; + case 0x00FE: ch = 0x95; break; + case 0x0192: ch = 0x9F; break; + case 0x0393: ch = 0xE2; break; + case 0x0398: ch = 0xE9; break; + case 0x03A3: ch = 0xE4; break; + case 0x03A6: ch = 0xE8; break; + case 0x03A9: ch = 0xEA; break; + case 0x03B1: ch = 0xE0; break; + case 0x03B4: ch = 0xEB; break; + case 0x03B5: ch = 0xEE; break; + case 0x03BC: ch = 0xE6; break; + case 0x03C0: ch = 0xE3; break; + case 0x03C3: ch = 0xE5; break; + case 0x03C4: ch = 0xE7; break; + case 0x03C6: ch = 0xED; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x207F: ch = 0xFC; break; + case 0x20A7: ch = 0x9E; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221E: ch = 0xEC; break; + case 0x221F: ch = 0x1C; break; + case 0x2229: ch = 0xEF; break; + case 0x2248: ch = 0xF7; break; + case 0x2261: ch = 0xF0; break; + case 0x2264: ch = 0xF3; break; + case 0x2265: ch = 0xF2; break; + case 0x2302: ch = 0x7F; break; + case 0x2310: ch = 0xA9; break; + case 0x2320: ch = 0xF4; break; + case 0x2321: ch = 0xF5; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A7: ch = 0x15; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0xFA; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C1: ch = 0xA4; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C5: ch = 0x8F; break; + case 0x00C6: ch = 0x92; break; + case 0x00C7: ch = 0x80; break; + case 0x00C9: ch = 0x90; break; + case 0x00CD: ch = 0xA5; break; + case 0x00D0: ch = 0x8B; break; + case 0x00D3: ch = 0xA6; break; + case 0x00D6: ch = 0x99; break; + case 0x00D8: ch = 0x9D; break; + case 0x00DA: ch = 0xA7; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DD: ch = 0x97; break; + case 0x00DE: ch = 0x8D; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E4: ch = 0x84; break; + case 0x00E5: ch = 0x86; break; + case 0x00E6: ch = 0x91; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00ED: ch = 0xA1; break; + case 0x00F0: ch = 0x8C; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F8: ch = 0x9B; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x00FD: ch = 0x98; break; + case 0x00FE: ch = 0x95; break; + case 0x0192: ch = 0x9F; break; + case 0x0393: ch = 0xE2; break; + case 0x0398: ch = 0xE9; break; + case 0x03A3: ch = 0xE4; break; + case 0x03A6: ch = 0xE8; break; + case 0x03A9: ch = 0xEA; break; + case 0x03B1: ch = 0xE0; break; + case 0x03B4: ch = 0xEB; break; + case 0x03B5: ch = 0xEE; break; + case 0x03BC: ch = 0xE6; break; + case 0x03C0: ch = 0xE3; break; + case 0x03C3: ch = 0xE5; break; + case 0x03C4: ch = 0xE7; break; + case 0x03C6: ch = 0xED; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x207F: ch = 0xFC; break; + case 0x20A7: ch = 0x9E; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221E: ch = 0xEC; break; + case 0x221F: ch = 0x1C; break; + case 0x2229: ch = 0xEF; break; + case 0x2248: ch = 0xF7; break; + case 0x2261: ch = 0xF0; break; + case 0x2264: ch = 0xF3; break; + case 0x2265: ch = 0xF2; break; + case 0x2302: ch = 0x7F; break; + case 0x2310: ch = 0xA9; break; + case 0x2320: ch = 0xF4; break; + case 0x2321: ch = 0xF5; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP861 + +public class ENCibm861 : CP861 +{ + public ENCibm861() : base() {} + +}; // class ENCibm861 + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP863.cs b/mcs/class/I18N/West/CP863.cs new file mode 100644 index 00000000000..250dbb50975 --- /dev/null +++ b/mcs/class/I18N/West/CP863.cs @@ -0,0 +1,679 @@ +/* + * CP863.cs - French Canadian (DOS) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-863.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP863 : ByteEncoding +{ + public CP863() + : base(863, ToChars, "French Canadian (DOS)", + "IBM863", "IBM863", "IBM863", + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u00C7', '\u00FC', '\u00E9', '\u00E2', + '\u00C2', '\u00E0', '\u00B6', '\u00E7', '\u00EA', '\u00EB', + '\u00E8', '\u00EF', '\u00EE', '\u2017', '\u00C0', '\u00A7', + '\u00C9', '\u00C8', '\u00CA', '\u00F4', '\u00CB', '\u00CF', + '\u00FB', '\u00F9', '\u00A4', '\u00D4', '\u00DC', '\u00A2', + '\u00A3', '\u00D9', '\u00DB', '\u0192', '\u00A6', '\u00B4', + '\u00F3', '\u00FA', '\u00A8', '\u00B8', '\u00B3', '\u00AF', + '\u00CE', '\u2310', '\u00AC', '\u00BD', '\u00BC', '\u00BE', + '\u00AB', '\u00BB', '\u2591', '\u2592', '\u2593', '\u2502', + '\u2524', '\u2561', '\u2562', '\u2556', '\u2555', '\u2563', + '\u2551', '\u2557', '\u255D', '\u255C', '\u255B', '\u2510', + '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', + '\u255E', '\u255F', '\u255A', '\u2554', '\u2569', '\u2566', + '\u2560', '\u2550', '\u256C', '\u2567', '\u2568', '\u2564', + '\u2565', '\u2559', '\u2558', '\u2552', '\u2553', '\u256B', + '\u256A', '\u2518', '\u250C', '\u2588', '\u2584', '\u258C', + '\u2590', '\u2580', '\u03B1', '\u00DF', '\u0393', '\u03C0', + '\u03A3', '\u03C3', '\u03BC', '\u03C4', '\u03A6', '\u0398', + '\u03A9', '\u03B4', '\u221E', '\u03C6', '\u03B5', '\u2229', + '\u2261', '\u00B1', '\u2265', '\u2264', '\u2320', '\u2321', + '\u00F7', '\u2248', '\u00B0', '\u2219', '\u00B7', '\u221A', + '\u207F', '\u00B2', '\u25A0', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A2: ch = 0x9B; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A4: ch = 0x98; break; + case 0x00A6: ch = 0xA0; break; + case 0x00A7: ch = 0x8F; break; + case 0x00A8: ch = 0xA4; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00AF: ch = 0xA7; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B3: ch = 0xA6; break; + case 0x00B4: ch = 0xA1; break; + case 0x00B6: ch = 0x86; break; + case 0x00B7: ch = 0xFA; break; + case 0x00B8: ch = 0xA5; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BE: ch = 0xAD; break; + case 0x00C0: ch = 0x8E; break; + case 0x00C2: ch = 0x84; break; + case 0x00C7: ch = 0x80; break; + case 0x00C8: ch = 0x91; break; + case 0x00C9: ch = 0x90; break; + case 0x00CA: ch = 0x92; break; + case 0x00CB: ch = 0x94; break; + case 0x00CE: ch = 0xA8; break; + case 0x00CF: ch = 0x95; break; + case 0x00D4: ch = 0x99; break; + case 0x00D9: ch = 0x9D; break; + case 0x00DB: ch = 0x9E; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E2: ch = 0x83; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00EE: ch = 0x8C; break; + case 0x00EF: ch = 0x8B; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x0192: ch = 0x9F; break; + case 0x0393: ch = 0xE2; break; + case 0x0398: ch = 0xE9; break; + case 0x03A3: ch = 0xE4; break; + case 0x03A6: ch = 0xE8; break; + case 0x03A9: ch = 0xEA; break; + case 0x03B1: ch = 0xE0; break; + case 0x03B4: ch = 0xEB; break; + case 0x03B5: ch = 0xEE; break; + case 0x03BC: ch = 0xE6; break; + case 0x03C0: ch = 0xE3; break; + case 0x03C3: ch = 0xE5; break; + case 0x03C4: ch = 0xE7; break; + case 0x03C6: ch = 0xED; break; + case 0x2017: ch = 0x8D; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x203E: ch = 0xA7; break; + case 0x207F: ch = 0xFC; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221E: ch = 0xEC; break; + case 0x221F: ch = 0x1C; break; + case 0x2229: ch = 0xEF; break; + case 0x2248: ch = 0xF7; break; + case 0x2261: ch = 0xF0; break; + case 0x2264: ch = 0xF3; break; + case 0x2265: ch = 0xF2; break; + case 0x2302: ch = 0x7F; break; + case 0x2310: ch = 0xA9; break; + case 0x2320: ch = 0xF4; break; + case 0x2321: ch = 0xF5; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A2: ch = 0x9B; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A4: ch = 0x98; break; + case 0x00A6: ch = 0xA0; break; + case 0x00A7: ch = 0x8F; break; + case 0x00A8: ch = 0xA4; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00AF: ch = 0xA7; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B3: ch = 0xA6; break; + case 0x00B4: ch = 0xA1; break; + case 0x00B6: ch = 0x86; break; + case 0x00B7: ch = 0xFA; break; + case 0x00B8: ch = 0xA5; break; + case 0x00BB: ch = 0xAF; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BE: ch = 0xAD; break; + case 0x00C0: ch = 0x8E; break; + case 0x00C2: ch = 0x84; break; + case 0x00C7: ch = 0x80; break; + case 0x00C8: ch = 0x91; break; + case 0x00C9: ch = 0x90; break; + case 0x00CA: ch = 0x92; break; + case 0x00CB: ch = 0x94; break; + case 0x00CE: ch = 0xA8; break; + case 0x00CF: ch = 0x95; break; + case 0x00D4: ch = 0x99; break; + case 0x00D9: ch = 0x9D; break; + case 0x00DB: ch = 0x9E; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E2: ch = 0x83; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00EE: ch = 0x8C; break; + case 0x00EF: ch = 0x8B; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x0192: ch = 0x9F; break; + case 0x0393: ch = 0xE2; break; + case 0x0398: ch = 0xE9; break; + case 0x03A3: ch = 0xE4; break; + case 0x03A6: ch = 0xE8; break; + case 0x03A9: ch = 0xEA; break; + case 0x03B1: ch = 0xE0; break; + case 0x03B4: ch = 0xEB; break; + case 0x03B5: ch = 0xEE; break; + case 0x03BC: ch = 0xE6; break; + case 0x03C0: ch = 0xE3; break; + case 0x03C3: ch = 0xE5; break; + case 0x03C4: ch = 0xE7; break; + case 0x03C6: ch = 0xED; break; + case 0x2017: ch = 0x8D; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x203E: ch = 0xA7; break; + case 0x207F: ch = 0xFC; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221E: ch = 0xEC; break; + case 0x221F: ch = 0x1C; break; + case 0x2229: ch = 0xEF; break; + case 0x2248: ch = 0xF7; break; + case 0x2261: ch = 0xF0; break; + case 0x2264: ch = 0xF3; break; + case 0x2265: ch = 0xF2; break; + case 0x2302: ch = 0x7F; break; + case 0x2310: ch = 0xA9; break; + case 0x2320: ch = 0xF4; break; + case 0x2321: ch = 0xF5; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP863 + +public class ENCibm863 : CP863 +{ + public ENCibm863() : base() {} + +}; // class ENCibm863 + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/CP865.cs b/mcs/class/I18N/West/CP865.cs new file mode 100644 index 00000000000..011d4f164bd --- /dev/null +++ b/mcs/class/I18N/West/CP865.cs @@ -0,0 +1,681 @@ +/* + * CP865.cs - Nordic (DOS) code page. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Generated from "ibm-865.ucm". + +namespace I18N.West +{ + +using System; +using I18N.Common; + +public class CP865 : ByteEncoding +{ + public CP865() + : base(865, ToChars, "Nordic (DOS)", + "IBM863", "IBM865", "IBM865", + 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', '\u001C', '\u001B', '\u007F', '\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', '\u001A', '\u00C7', '\u00FC', '\u00E9', '\u00E2', + '\u00E4', '\u00E0', '\u00E5', '\u00E7', '\u00EA', '\u00EB', + '\u00E8', '\u00EF', '\u00EE', '\u00EC', '\u00C4', '\u00C5', + '\u00C9', '\u00E6', '\u00C6', '\u00F4', '\u00F6', '\u00F2', + '\u00FB', '\u00F9', '\u00FF', '\u00D6', '\u00DC', '\u00F8', + '\u00A3', '\u00D8', '\u20A7', '\u0192', '\u00E1', '\u00ED', + '\u00F3', '\u00FA', '\u00F1', '\u00D1', '\u00AA', '\u00BA', + '\u00BF', '\u2310', '\u00AC', '\u00BD', '\u00BC', '\u00A1', + '\u00AB', '\u00A4', '\u2591', '\u2592', '\u2593', '\u2502', + '\u2524', '\u2561', '\u2562', '\u2556', '\u2555', '\u2563', + '\u2551', '\u2557', '\u255D', '\u255C', '\u255B', '\u2510', + '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', + '\u255E', '\u255F', '\u255A', '\u2554', '\u2569', '\u2566', + '\u2560', '\u2550', '\u256C', '\u2567', '\u2568', '\u2564', + '\u2565', '\u2559', '\u2558', '\u2552', '\u2553', '\u256B', + '\u256A', '\u2518', '\u250C', '\u2588', '\u2584', '\u258C', + '\u2590', '\u2580', '\u03B1', '\u00DF', '\u0393', '\u03C0', + '\u03A3', '\u03C3', '\u03BC', '\u03C4', '\u03A6', '\u0398', + '\u03A9', '\u03B4', '\u221E', '\u03C6', '\u03B5', '\u2229', + '\u2261', '\u00B1', '\u2265', '\u2264', '\u2320', '\u2321', + '\u00F7', '\u2248', '\u00B0', '\u2219', '\u00B7', '\u221A', + '\u207F', '\u00B2', '\u25A0', '\u00A0', + }; + + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A4: ch = 0xAF; break; + case 0x00A7: ch = 0x15; break; + case 0x00AA: ch = 0xA6; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0xFA; break; + case 0x00BA: ch = 0xA7; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C5: ch = 0x8F; break; + case 0x00C6: ch = 0x92; break; + case 0x00C7: ch = 0x80; break; + case 0x00C9: ch = 0x90; break; + case 0x00D1: ch = 0xA5; break; + case 0x00D6: ch = 0x99; break; + case 0x00D8: ch = 0x9D; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E4: ch = 0x84; break; + case 0x00E5: ch = 0x86; break; + case 0x00E6: ch = 0x91; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00EC: ch = 0x8D; break; + case 0x00ED: ch = 0xA1; break; + case 0x00EE: ch = 0x8C; break; + case 0x00EF: ch = 0x8B; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F2: ch = 0x95; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F8: ch = 0x9B; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x00FF: ch = 0x98; break; + case 0x0192: ch = 0x9F; break; + case 0x0393: ch = 0xE2; break; + case 0x0398: ch = 0xE9; break; + case 0x03A3: ch = 0xE4; break; + case 0x03A6: ch = 0xE8; break; + case 0x03A9: ch = 0xEA; break; + case 0x03B1: ch = 0xE0; break; + case 0x03B4: ch = 0xEB; break; + case 0x03B5: ch = 0xEE; break; + case 0x03BC: ch = 0xE6; break; + case 0x03C0: ch = 0xE3; break; + case 0x03C3: ch = 0xE5; break; + case 0x03C4: ch = 0xE7; break; + case 0x03C6: ch = 0xED; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x207F: ch = 0xFC; break; + case 0x20A7: ch = 0x9E; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221E: ch = 0xEC; break; + case 0x221F: ch = 0x1C; break; + case 0x2229: ch = 0xEF; break; + case 0x2248: ch = 0xF7; break; + case 0x2261: ch = 0xF0; break; + case 0x2264: ch = 0xF3; break; + case 0x2265: ch = 0xF2; break; + case 0x2302: ch = 0x7F; break; + case 0x2310: ch = 0xA9; break; + case 0x2320: ch = 0xF4; break; + case 0x2321: ch = 0xF5; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + 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 >= 26) switch(ch) + { + case 0x001B: + case 0x001D: + case 0x001E: + case 0x001F: + case 0x0020: + case 0x0021: + case 0x0022: + case 0x0023: + case 0x0024: + case 0x0025: + case 0x0026: + case 0x0027: + case 0x0028: + case 0x0029: + case 0x002A: + case 0x002B: + case 0x002C: + case 0x002D: + case 0x002E: + case 0x002F: + case 0x0030: + case 0x0031: + case 0x0032: + case 0x0033: + case 0x0034: + case 0x0035: + case 0x0036: + case 0x0037: + case 0x0038: + case 0x0039: + case 0x003A: + case 0x003B: + case 0x003C: + case 0x003D: + case 0x003E: + case 0x003F: + case 0x0040: + case 0x0041: + case 0x0042: + case 0x0043: + case 0x0044: + case 0x0045: + case 0x0046: + case 0x0047: + case 0x0048: + case 0x0049: + case 0x004A: + case 0x004B: + case 0x004C: + case 0x004D: + case 0x004E: + case 0x004F: + case 0x0050: + case 0x0051: + case 0x0052: + case 0x0053: + case 0x0054: + case 0x0055: + case 0x0056: + case 0x0057: + case 0x0058: + case 0x0059: + case 0x005A: + case 0x005B: + case 0x005C: + case 0x005D: + case 0x005E: + case 0x005F: + case 0x0060: + case 0x0061: + case 0x0062: + case 0x0063: + case 0x0064: + case 0x0065: + case 0x0066: + case 0x0067: + case 0x0068: + case 0x0069: + case 0x006A: + case 0x006B: + case 0x006C: + case 0x006D: + case 0x006E: + case 0x006F: + case 0x0070: + case 0x0071: + case 0x0072: + case 0x0073: + case 0x0074: + case 0x0075: + case 0x0076: + case 0x0077: + case 0x0078: + case 0x0079: + case 0x007A: + case 0x007B: + case 0x007C: + case 0x007D: + case 0x007E: + break; + case 0x001A: ch = 0x7F; break; + case 0x001C: ch = 0x1A; break; + case 0x007F: ch = 0x1C; break; + case 0x00A0: ch = 0xFF; break; + case 0x00A1: ch = 0xAD; break; + case 0x00A3: ch = 0x9C; break; + case 0x00A4: ch = 0xAF; break; + case 0x00A7: ch = 0x15; break; + case 0x00AA: ch = 0xA6; break; + case 0x00AB: ch = 0xAE; break; + case 0x00AC: ch = 0xAA; break; + case 0x00B0: ch = 0xF8; break; + case 0x00B1: ch = 0xF1; break; + case 0x00B2: ch = 0xFD; break; + case 0x00B6: ch = 0x14; break; + case 0x00B7: ch = 0xFA; break; + case 0x00BA: ch = 0xA7; break; + case 0x00BC: ch = 0xAC; break; + case 0x00BD: ch = 0xAB; break; + case 0x00BF: ch = 0xA8; break; + case 0x00C4: ch = 0x8E; break; + case 0x00C5: ch = 0x8F; break; + case 0x00C6: ch = 0x92; break; + case 0x00C7: ch = 0x80; break; + case 0x00C9: ch = 0x90; break; + case 0x00D1: ch = 0xA5; break; + case 0x00D6: ch = 0x99; break; + case 0x00D8: ch = 0x9D; break; + case 0x00DC: ch = 0x9A; break; + case 0x00DF: ch = 0xE1; break; + case 0x00E0: ch = 0x85; break; + case 0x00E1: ch = 0xA0; break; + case 0x00E2: ch = 0x83; break; + case 0x00E4: ch = 0x84; break; + case 0x00E5: ch = 0x86; break; + case 0x00E6: ch = 0x91; break; + case 0x00E7: ch = 0x87; break; + case 0x00E8: ch = 0x8A; break; + case 0x00E9: ch = 0x82; break; + case 0x00EA: ch = 0x88; break; + case 0x00EB: ch = 0x89; break; + case 0x00EC: ch = 0x8D; break; + case 0x00ED: ch = 0xA1; break; + case 0x00EE: ch = 0x8C; break; + case 0x00EF: ch = 0x8B; break; + case 0x00F1: ch = 0xA4; break; + case 0x00F2: ch = 0x95; break; + case 0x00F3: ch = 0xA2; break; + case 0x00F4: ch = 0x93; break; + case 0x00F6: ch = 0x94; break; + case 0x00F7: ch = 0xF6; break; + case 0x00F8: ch = 0x9B; break; + case 0x00F9: ch = 0x97; break; + case 0x00FA: ch = 0xA3; break; + case 0x00FB: ch = 0x96; break; + case 0x00FC: ch = 0x81; break; + case 0x00FF: ch = 0x98; break; + case 0x0192: ch = 0x9F; break; + case 0x0393: ch = 0xE2; break; + case 0x0398: ch = 0xE9; break; + case 0x03A3: ch = 0xE4; break; + case 0x03A6: ch = 0xE8; break; + case 0x03A9: ch = 0xEA; break; + case 0x03B1: ch = 0xE0; break; + case 0x03B4: ch = 0xEB; break; + case 0x03B5: ch = 0xEE; break; + case 0x03BC: ch = 0xE6; break; + case 0x03C0: ch = 0xE3; break; + case 0x03C3: ch = 0xE5; break; + case 0x03C4: ch = 0xE7; break; + case 0x03C6: ch = 0xED; break; + case 0x2022: ch = 0x07; break; + case 0x203C: ch = 0x13; break; + case 0x207F: ch = 0xFC; break; + case 0x20A7: ch = 0x9E; break; + case 0x2190: ch = 0x1B; break; + case 0x2191: ch = 0x18; break; + case 0x2192: ch = 0x1A; break; + case 0x2193: ch = 0x19; break; + case 0x2194: ch = 0x1D; break; + case 0x2195: ch = 0x12; break; + case 0x21A8: ch = 0x17; break; + case 0x2219: ch = 0xF9; break; + case 0x221A: ch = 0xFB; break; + case 0x221E: ch = 0xEC; break; + case 0x221F: ch = 0x1C; break; + case 0x2229: ch = 0xEF; break; + case 0x2248: ch = 0xF7; break; + case 0x2261: ch = 0xF0; break; + case 0x2264: ch = 0xF3; break; + case 0x2265: ch = 0xF2; break; + case 0x2302: ch = 0x7F; break; + case 0x2310: ch = 0xA9; break; + case 0x2320: ch = 0xF4; break; + case 0x2321: ch = 0xF5; break; + case 0x2500: ch = 0xC4; break; + case 0x2502: ch = 0xB3; break; + case 0x250C: ch = 0xDA; break; + case 0x2510: ch = 0xBF; break; + case 0x2514: ch = 0xC0; break; + case 0x2518: ch = 0xD9; break; + case 0x251C: ch = 0xC3; break; + case 0x2524: ch = 0xB4; break; + case 0x252C: ch = 0xC2; break; + case 0x2534: ch = 0xC1; break; + case 0x253C: ch = 0xC5; break; + case 0x2550: ch = 0xCD; break; + case 0x2551: ch = 0xBA; break; + case 0x2552: ch = 0xD5; break; + case 0x2553: ch = 0xD6; break; + case 0x2554: ch = 0xC9; break; + case 0x2555: ch = 0xB8; break; + case 0x2556: ch = 0xB7; break; + case 0x2557: ch = 0xBB; break; + case 0x2558: ch = 0xD4; break; + case 0x2559: ch = 0xD3; break; + case 0x255A: ch = 0xC8; break; + case 0x255B: ch = 0xBE; break; + case 0x255C: ch = 0xBD; break; + case 0x255D: ch = 0xBC; break; + case 0x255E: ch = 0xC6; break; + case 0x255F: ch = 0xC7; break; + case 0x2560: ch = 0xCC; break; + case 0x2561: ch = 0xB5; break; + case 0x2562: ch = 0xB6; break; + case 0x2563: ch = 0xB9; break; + case 0x2564: ch = 0xD1; break; + case 0x2565: ch = 0xD2; break; + case 0x2566: ch = 0xCB; break; + case 0x2567: ch = 0xCF; break; + case 0x2568: ch = 0xD0; break; + case 0x2569: ch = 0xCA; break; + case 0x256A: ch = 0xD8; break; + case 0x256B: ch = 0xD7; break; + case 0x256C: ch = 0xCE; break; + case 0x2580: ch = 0xDF; break; + case 0x2584: ch = 0xDC; break; + case 0x2588: ch = 0xDB; break; + case 0x258C: ch = 0xDD; break; + case 0x2590: ch = 0xDE; break; + case 0x2591: ch = 0xB0; break; + case 0x2592: ch = 0xB1; break; + case 0x2593: ch = 0xB2; break; + case 0x25A0: ch = 0xFE; break; + case 0x25AC: ch = 0x16; break; + case 0x25B2: ch = 0x1E; break; + case 0x25BA: ch = 0x10; break; + case 0x25BC: ch = 0x1F; break; + case 0x25C4: ch = 0x11; break; + case 0x25CB: ch = 0x09; break; + case 0x25D8: ch = 0x08; break; + case 0x25D9: ch = 0x0A; break; + case 0x263A: ch = 0x01; break; + case 0x263B: ch = 0x02; break; + case 0x263C: ch = 0x0F; break; + case 0x2640: ch = 0x0C; break; + case 0x2642: ch = 0x0B; break; + case 0x2660: ch = 0x06; break; + case 0x2663: ch = 0x05; break; + case 0x2665: ch = 0x03; break; + case 0x2666: ch = 0x04; break; + case 0x266A: ch = 0x0D; break; + case 0x266B: ch = 0x0E; break; + case 0xFFE8: ch = 0xB3; break; + case 0xFFE9: ch = 0x1B; break; + case 0xFFEA: ch = 0x18; break; + case 0xFFEB: ch = 0x1A; break; + case 0xFFEC: ch = 0x19; break; + case 0xFFED: ch = 0xFE; break; + case 0xFFEE: ch = 0x09; break; + default: + { + if(ch >= 0xFF01 && ch <= 0xFF5E) + ch -= 0xFEE0; + else + ch = 0x3F; + } + break; + } + bytes[byteIndex++] = (byte)ch; + --charCount; + } + } + +}; // class CP865 + +public class ENCibm865 : CP865 +{ + public ENCibm865() : base() {} + +}; // class ENCibm865 + +}; // namespace I18N.West diff --git a/mcs/class/I18N/West/ibm-1275.ucm b/mcs/class/I18N/West/ibm-1275.ucm new file mode 100644 index 00000000000..c6e6d6ec3d3 --- /dev/null +++ b/mcs/class/I18N/West/ibm-1275.ucm @@ -0,0 +1,380 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:43 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B004FB.RPMAP100 and 04FB34B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-1275" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-1275 +#_________ _________ +<U0000> \x00 |0 +<U0001> \x01 |0 +<U0002> \x02 |0 +<U0003> \x03 |0 +<U0004> \x04 |0 +<U0005> \x05 |0 +<U0006> \x06 |0 +<U0007> \x07 |0 +<U0008> \x08 |0 +<U0009> \x09 |0 +<U000A> \x0A |0 +<U000B> \x0B |0 +<U000C> \x0C |0 +<U000D> \x0D |0 +<U000E> \x0E |0 +<U000F> \x0F |0 +<U0010> \x10 |0 +<U0011> \x11 |0 +<U0012> \x12 |0 +<U0013> \x13 |0 +<U0014> \x14 |0 +<U0015> \x15 |0 +<U0016> \x16 |0 +<U0017> \x17 |0 +<U0018> \x18 |0 +<U0019> \x19 |0 +<U001A> \x1A |0 +<U001B> \x1B |0 +<U001C> \x1C |0 +<U001D> \x1D |0 +<U001E> \x1E |0 +<U001F> \x1F |0 +<U0020> \x20 |0 +<U0021> \x21 |0 +<U0022> \x22 |0 +<U0023> \x23 |0 +<U0024> \x24 |0 +<U0025> \x25 |0 +<U0026> \x26 |0 +<U0027> \x27 |0 +<U0028> \x28 |0 +<U0029> \x29 |0 +<U002A> \x2A |0 +<U002B> \x2B |0 +<U002C> \x2C |0 +<U002D> \x2D |0 +<U002E> \x2E |0 +<U002F> \x2F |0 +<U0030> \x30 |0 +<U0031> \x31 |0 +<U0032> \x32 |0 +<U0033> \x33 |0 +<U0034> \x34 |0 +<U0035> \x35 |0 +<U0036> \x36 |0 +<U0037> \x37 |0 +<U0038> \x38 |0 +<U0039> \x39 |0 +<U003A> \x3A |0 +<U003B> \x3B |0 +<U003C> \x3C |0 +<U003D> \x3D |0 +<U003E> \x3E |0 +<U003F> \x3F |0 +<U0040> \x40 |0 +<U0041> \x41 |0 +<U0042> \x42 |0 +<U0043> \x43 |0 +<U0044> \x44 |0 +<U0045> \x45 |0 +<U0046> \x46 |0 +<U0047> \x47 |0 +<U0048> \x48 |0 +<U0049> \x49 |0 +<U004A> \x4A |0 +<U004B> \x4B |0 +<U004C> \x4C |0 +<U004D> \x4D |0 +<U004E> \x4E |0 +<U004F> \x4F |0 +<U0050> \x50 |0 +<U0051> \x51 |0 +<U0052> \x52 |0 +<U0053> \x53 |0 +<U0054> \x54 |0 +<U0055> \x55 |0 +<U0056> \x56 |0 +<U0057> \x57 |0 +<U0058> \x58 |0 +<U0059> \x59 |0 +<U005A> \x5A |0 +<U005B> \x5B |0 +<U005C> \x5C |0 +<U005D> \x5D |0 +<U005E> \x5E |0 +<U005F> \x5F |0 +<U0060> \x60 |0 +<U0061> \x61 |0 +<U0062> \x62 |0 +<U0063> \x63 |0 +<U0064> \x64 |0 +<U0065> \x65 |0 +<U0066> \x66 |0 +<U0067> \x67 |0 +<U0068> \x68 |0 +<U0069> \x69 |0 +<U006A> \x6A |0 +<U006B> \x6B |0 +<U006C> \x6C |0 +<U006D> \x6D |0 +<U006E> \x6E |0 +<U006F> \x6F |0 +<U0070> \x70 |0 +<U0071> \x71 |0 +<U0072> \x72 |0 +<U0073> \x73 |0 +<U0074> \x74 |0 +<U0075> \x75 |0 +<U0076> \x76 |0 +<U0077> \x77 |0 +<U0078> \x78 |0 +<U0079> \x79 |0 +<U007A> \x7A |0 +<U007B> \x7B |0 +<U007C> \x7C |0 +<U007D> \x7D |0 +<U007E> \x7E |0 +<U007F> \x7F |0 +<U00A0> \xCA |0 +<U00A1> \xC1 |0 +<U00A2> \xA2 |0 +<U00A3> \xA3 |0 +<U00A4> \xDB |0 +<U00A5> \xB4 |0 +<U00A7> \xA4 |0 +<U00A8> \xAC |0 +<U00A9> \xA9 |0 +<U00AA> \xBB |0 +<U00AB> \xC7 |0 +<U00AC> \xC2 |0 +<U00AE> \xA8 |0 +<U00AF> \xF8 |0 +<U00B0> \xA1 |0 +<U00B1> \xB1 |0 +<U00B4> \xAB |0 +<U00B5> \xB5 |0 +<U00B6> \xA6 |0 +<U00B7> \xE1 |0 +<U00B8> \xFC |0 +<U00BA> \xBC |0 +<U00BB> \xC8 |0 +<U00BF> \xC0 |0 +<U00C0> \xCB |0 +<U00C1> \xE7 |0 +<U00C2> \xE5 |0 +<U00C3> \xCC |0 +<U00C4> \x80 |0 +<U00C5> \x81 |0 +<U00C6> \xAE |0 +<U00C7> \x82 |0 +<U00C8> \xE9 |0 +<U00C9> \x83 |0 +<U00CA> \xE6 |0 +<U00CB> \xE8 |0 +<U00CC> \xED |0 +<U00CD> \xEA |0 +<U00CE> \xEB |0 +<U00CF> \xEC |0 +<U00D1> \x84 |0 +<U00D2> \xF1 |0 +<U00D3> \xEE |0 +<U00D4> \xEF |0 +<U00D5> \xCD |0 +<U00D6> \x85 |0 +<U00D8> \xAF |0 +<U00D9> \xF4 |0 +<U00DA> \xF2 |0 +<U00DB> \xF3 |0 +<U00DC> \x86 |0 +<U00DF> \xA7 |0 +<U00E0> \x88 |0 +<U00E1> \x87 |0 +<U00E2> \x89 |0 +<U00E3> \x8B |0 +<U00E4> \x8A |0 +<U00E5> \x8C |0 +<U00E6> \xBE |0 +<U00E7> \x8D |0 +<U00E8> \x8F |0 +<U00E9> \x8E |0 +<U00EA> \x90 |0 +<U00EB> \x91 |0 +<U00EC> \x93 |0 +<U00ED> \x92 |0 +<U00EE> \x94 |0 +<U00EF> \x95 |0 +<U00F1> \x96 |0 +<U00F2> \x98 |0 +<U00F3> \x97 |0 +<U00F4> \x99 |0 +<U00F5> \x9B |0 +<U00F6> \x9A |0 +<U00F7> \xD6 |0 +<U00F8> \xBF |0 +<U00F9> \x9D |0 +<U00FA> \x9C |0 +<U00FB> \x9E |0 +<U00FC> \x9F |0 +<U00FF> \xD8 |0 +<U0131> \xF5 |0 +<U0152> \xCE |0 +<U0153> \xCF |0 +<U0178> \xD9 |0 +<U0192> \xC4 |0 +<U02C6> \xF6 |0 +<U02C7> \xFF |0 +<U02D8> \xF9 |0 +<U02D9> \xFA |0 +<U02DA> \xFB |0 +<U02DB> \xFE |0 +<U02DC> \xF7 |0 +<U02DD> \xFD |0 +<U03C0> \xB9 |0 +<U2013> \xD0 |0 +<U2014> \xD1 |0 +<U2018> \xD4 |0 +<U2019> \xD5 |0 +<U201A> \xE2 |0 +<U201C> \xD2 |0 +<U201D> \xD3 |0 +<U201E> \xE3 |0 +<U2020> \xA0 |0 +<U2021> \xE0 |0 +<U2022> \xA5 |0 +<U2026> \xC9 |0 +<U2030> \xE4 |0 +<U2039> \xDC |0 +<U203A> \xDD |0 +<U2044> \xDA |0 +<U2122> \xAA |0 +<U2126> \xBD |0 +<U2202> \xB6 |0 +<U2206> \xC6 |0 +<U220F> \xB8 |0 +<U2211> \xB7 |0 +<U221A> \xC3 |0 +<U221E> \xB0 |0 +<U222B> \xBA |0 +<U2248> \xC5 |0 +<U2260> \xAD |0 +<U2264> \xB2 |0 +<U2265> \xB3 |0 +<U2318> \x11 |1 +<U25CA> \xD7 |0 +<U2666> \x13 |1 +<U2713> \x12 |1 +<UF8FF> \xF0 |0 +<UFB01> \xDE |0 +<UFB02> \xDF |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 diff --git a/mcs/class/I18N/West/ibm-437.ucm b/mcs/class/I18N/West/ibm-437.ucm new file mode 100644 index 00000000000..5d9a2ad5cdd --- /dev/null +++ b/mcs/class/I18N/West/ibm-437.ucm @@ -0,0 +1,416 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:42 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B001B5.RPMAP100 and 01B534B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-437" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-437 +#_________ _________ +<U0000> \x00 |0 +<U0001> \x01 |0 +<U0002> \x02 |0 +<U0003> \x03 |0 +<U0004> \x04 |0 +<U0005> \x05 |0 +<U0006> \x06 |0 +<U0007> \x07 |0 +<U0008> \x08 |0 +<U0009> \x09 |0 +<U000A> \x0A |0 +<U000B> \x0B |0 +<U000C> \x0C |0 +<U000D> \x0D |0 +<U000E> \x0E |0 +<U000F> \x0F |0 +<U0010> \x10 |0 +<U0011> \x11 |0 +<U0012> \x12 |0 +<U0013> \x13 |0 +<U0014> \x14 |0 +<U0015> \x15 |0 +<U0016> \x16 |0 +<U0017> \x17 |0 +<U0018> \x18 |0 +<U0019> \x19 |0 +<U001A> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A1> \xAD |0 +<U00A2> \x9B |0 +<U00A3> \x9C |0 +<U00A5> \x9D |0 +<U00A7> \x15 |1 +<U00AA> \xA6 |0 +<U00AB> \xAE |0 +<U00AC> \xAA |0 +<U00B0> \xF8 |0 +<U00B1> \xF1 |0 +<U00B2> \xFD |0 +<U00B6> \x14 |1 +<U00B7> \xFA |0 +<U00BA> \xA7 |0 +<U00BB> \xAF |0 +<U00BC> \xAC |0 +<U00BD> \xAB |0 +<U00BF> \xA8 |0 +<U00C4> \x8E |0 +<U00C5> \x8F |0 +<U00C6> \x92 |0 +<U00C7> \x80 |0 +<U00C9> \x90 |0 +<U00D1> \xA5 |0 +<U00D6> \x99 |0 +<U00DC> \x9A |0 +<U00DF> \xE1 |0 +<U00E0> \x85 |0 +<U00E1> \xA0 |0 +<U00E2> \x83 |0 +<U00E4> \x84 |0 +<U00E5> \x86 |0 +<U00E6> \x91 |0 +<U00E7> \x87 |0 +<U00E8> \x8A |0 +<U00E9> \x82 |0 +<U00EA> \x88 |0 +<U00EB> \x89 |0 +<U00EC> \x8D |0 +<U00ED> \xA1 |0 +<U00EE> \x8C |0 +<U00EF> \x8B |0 +<U00F1> \xA4 |0 +<U00F2> \x95 |0 +<U00F3> \xA2 |0 +<U00F4> \x93 |0 +<U00F6> \x94 |0 +<U00F7> \xF6 |0 +<U00F9> \x97 |0 +<U00FA> \xA3 |0 +<U00FB> \x96 |0 +<U00FC> \x81 |0 +<U00FF> \x98 |0 +<U0192> \x9F |0 +<U0393> \xE2 |0 +<U0398> \xE9 |0 +<U03A3> \xE4 |0 +<U03A6> \xE8 |0 +<U03A9> \xEA |0 +<U03B1> \xE0 |0 +<U03B4> \xEB |0 +<U03B5> \xEE |0 +<U03BC> \xE6 |0 +<U03C0> \xE3 |0 +<U03C3> \xE5 |0 +<U03C4> \xE7 |0 +<U03C6> \xED |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U207F> \xFC |0 +<U20A7> \x9E |0 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U2219> \xF9 |0 +<U221A> \xFB |0 +<U221E> \xEC |0 +<U221F> \x1C |1 +<U2229> \xEF |0 +<U2248> \xF7 |0 +<U2261> \xF0 |0 +<U2264> \xF3 |0 +<U2265> \xF2 |0 +<U2302> \x7F |2 +<U2310> \xA9 |0 +<U2320> \xF4 |0 +<U2321> \xF5 |0 +<U2500> \xC4 |0 +<U2502> \xB3 |0 +<U250C> \xDA |0 +<U2510> \xBF |0 +<U2514> \xC0 |0 +<U2518> \xD9 |0 +<U251C> \xC3 |0 +<U2524> \xB4 |0 +<U252C> \xC2 |0 +<U2534> \xC1 |0 +<U253C> \xC5 |0 +<U2550> \xCD |0 +<U2551> \xBA |0 +<U2552> \xD5 |0 +<U2553> \xD6 |0 +<U2554> \xC9 |0 +<U2555> \xB8 |0 +<U2556> \xB7 |0 +<U2557> \xBB |0 +<U2558> \xD4 |0 +<U2559> \xD3 |0 +<U255A> \xC8 |0 +<U255B> \xBE |0 +<U255C> \xBD |0 +<U255D> \xBC |0 +<U255E> \xC6 |0 +<U255F> \xC7 |0 +<U2560> \xCC |0 +<U2561> \xB5 |0 +<U2562> \xB6 |0 +<U2563> \xB9 |0 +<U2564> \xD1 |0 +<U2565> \xD2 |0 +<U2566> \xCB |0 +<U2567> \xCF |0 +<U2568> \xD0 |0 +<U2569> \xCA |0 +<U256A> \xD8 |0 +<U256B> \xD7 |0 +<U256C> \xCE |0 +<U2580> \xDF |0 +<U2584> \xDC |0 +<U2588> \xDB |0 +<U258C> \xDD |0 +<U2590> \xDE |0 +<U2591> \xB0 |0 +<U2592> \xB1 |0 +<U2593> \xB2 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266B> \x0E |1 +<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 +<UFFE8> \xB3 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/West/ibm-4909.ucm b/mcs/class/I18N/West/ibm-4909.ucm new file mode 100644 index 00000000000..b1d893ecccc --- /dev/null +++ b/mcs/class/I18N/West/ibm-4909.ucm @@ -0,0 +1,374 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1999-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:44 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B0132D.RPMAP100 and 132D44B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-4909" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-4909 +#_________ _________ +<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 +<U0080> \x80 |0 +<U0081> \x81 |0 +<U0082> \x82 |0 +<U0083> \x83 |0 +<U0084> \x84 |0 +<U0085> \x85 |0 +<U0086> \x86 |0 +<U0087> \x87 |0 +<U0088> \x88 |0 +<U0089> \x89 |0 +<U008A> \x8A |0 +<U008B> \x8B |0 +<U008C> \x8C |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U0091> \x91 |0 +<U0092> \x92 |0 +<U0093> \x93 |0 +<U0094> \x94 |0 +<U0095> \x95 |0 +<U0096> \x96 |0 +<U0097> \x97 |0 +<U0098> \x98 |0 +<U0099> \x99 |0 +<U009A> \x9A |0 +<U009B> \x9B |0 +<U009C> \x9C |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U009F> \x9F |0 +<U00A0> \xA0 |0 +<U00A3> \xA3 |0 +<U00A6> \xA6 |0 +<U00A7> \xA7 |0 +<U00A8> \xA8 |0 +<U00A9> \xA9 |0 +<U00AB> \xAB |0 +<U00AC> \xAC |0 +<U00AD> \xAD |0 +<U00B0> \xB0 |0 +<U00B1> \xB1 |0 +<U00B2> \xB2 |0 +<U00B3> \xB3 |0 +<U00B4> \xB4 |0 +<U00B7> \xB7 |1 +<U00BB> \xBB |0 +<U00BD> \xBD |0 +<U0385> \xB5 |0 +<U0386> \xB6 |0 +<U0387> \xB7 |0 +<U0388> \xB8 |0 +<U0389> \xB9 |0 +<U038A> \xBA |0 +<U038C> \xBC |0 +<U038E> \xBE |0 +<U038F> \xBF |0 +<U0390> \xC0 |0 +<U0391> \xC1 |0 +<U0392> \xC2 |0 +<U0393> \xC3 |0 +<U0394> \xC4 |0 +<U0395> \xC5 |0 +<U0396> \xC6 |0 +<U0397> \xC7 |0 +<U0398> \xC8 |0 +<U0399> \xC9 |0 +<U039A> \xCA |0 +<U039B> \xCB |0 +<U039C> \xCC |0 +<U039D> \xCD |0 +<U039E> \xCE |0 +<U039F> \xCF |0 +<U03A0> \xD0 |0 +<U03A1> \xD1 |0 +<U03A3> \xD3 |0 +<U03A4> \xD4 |0 +<U03A5> \xD5 |0 +<U03A6> \xD6 |0 +<U03A7> \xD7 |0 +<U03A8> \xD8 |0 +<U03A9> \xD9 |0 +<U03AA> \xDA |0 +<U03AB> \xDB |0 +<U03AC> \xDC |0 +<U03AD> \xDD |0 +<U03AE> \xDE |0 +<U03AF> \xDF |0 +<U03B0> \xE0 |0 +<U03B1> \xE1 |0 +<U03B2> \xE2 |0 +<U03B3> \xE3 |0 +<U03B4> \xE4 |0 +<U03B5> \xE5 |0 +<U03B6> \xE6 |0 +<U03B7> \xE7 |0 +<U03B8> \xE8 |0 +<U03B9> \xE9 |0 +<U03BA> \xEA |0 +<U03BB> \xEB |0 +<U03BC> \xEC |0 +<U03BD> \xED |0 +<U03BE> \xEE |0 +<U03BF> \xEF |0 +<U03C0> \xF0 |0 +<U03C1> \xF1 |0 +<U03C2> \xF2 |0 +<U03C3> \xF3 |0 +<U03C4> \xF4 |0 +<U03C5> \xF5 |0 +<U03C6> \xF6 |0 +<U03C7> \xF7 |0 +<U03C8> \xF8 |0 +<U03C9> \xF9 |0 +<U03CA> \xFA |0 +<U03CB> \xFB |0 +<U03CC> \xFC |0 +<U03CD> \xFD |0 +<U03CE> \xFE |0 +<U03D5> \xF6 |1 +<U2015> \xAF |0 +<U2018> \xA1 |0 +<U2019> \xA2 |0 +<U20AC> \xA4 |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 diff --git a/mcs/class/I18N/West/ibm-5346.ucm b/mcs/class/I18N/West/ibm-5346.ucm new file mode 100644 index 00000000000..d0c0fb6aa55 --- /dev/null +++ b/mcs/class/I18N/West/ibm-5346.ucm @@ -0,0 +1,377 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1998-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:44 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B014E2.RPMAP100 and 14E244B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-5346" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-5346 +#_________ _________ +<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 +<U0081> \x81 |0 +<U0083> \x83 |0 +<U0088> \x88 |0 +<U0090> \x90 |0 +<U0098> \x98 |0 +<U00A0> \xA0 |0 +<U00A4> \xA4 |0 +<U00A6> \xA6 |0 +<U00A7> \xA7 |0 +<U00A8> \xA8 |0 +<U00A9> \xA9 |0 +<U00AB> \xAB |0 +<U00AC> \xAC |0 +<U00AD> \xAD |0 +<U00AE> \xAE |0 +<U00B0> \xB0 |0 +<U00B1> \xB1 |0 +<U00B4> \xB4 |0 +<U00B5> \xB5 |0 +<U00B6> \xB6 |0 +<U00B7> \xB7 |0 +<U00B8> \xB8 |0 +<U00BB> \xBB |0 +<U00C1> \xC1 |0 +<U00C2> \xC2 |0 +<U00C4> \xC4 |0 +<U00C7> \xC7 |0 +<U00C9> \xC9 |0 +<U00CB> \xCB |0 +<U00CD> \xCD |0 +<U00CE> \xCE |0 +<U00D3> \xD3 |0 +<U00D4> \xD4 |0 +<U00D6> \xD6 |0 +<U00D7> \xD7 |0 +<U00DA> \xDA |0 +<U00DC> \xDC |0 +<U00DD> \xDD |0 +<U00DF> \xDF |0 +<U00E1> \xE1 |0 +<U00E2> \xE2 |0 +<U00E4> \xE4 |0 +<U00E7> \xE7 |0 +<U00E9> \xE9 |0 +<U00EB> \xEB |0 +<U00ED> \xED |0 +<U00EE> \xEE |0 +<U00F3> \xF3 |0 +<U00F4> \xF4 |0 +<U00F6> \xF6 |0 +<U00F7> \xF7 |0 +<U00FA> \xFA |0 +<U00FC> \xFC |0 +<U00FD> \xFD |0 +<U0102> \xC3 |0 +<U0103> \xE3 |0 +<U0104> \xA5 |0 +<U0105> \xB9 |0 +<U0106> \xC6 |0 +<U0107> \xE6 |0 +<U010C> \xC8 |0 +<U010D> \xE8 |0 +<U010E> \xCF |0 +<U010F> \xEF |0 +<U0110> \xD0 |0 +<U0111> \xF0 |0 +<U0118> \xCA |0 +<U0119> \xEA |0 +<U011A> \xCC |0 +<U011B> \xEC |0 +<U0139> \xC5 |0 +<U013A> \xE5 |0 +<U013D> \xBC |0 +<U013E> \xBE |0 +<U0141> \xA3 |0 +<U0142> \xB3 |0 +<U0143> \xD1 |0 +<U0144> \xF1 |0 +<U0147> \xD2 |0 +<U0148> \xF2 |0 +<U0150> \xD5 |0 +<U0151> \xF5 |0 +<U0154> \xC0 |0 +<U0155> \xE0 |0 +<U0158> \xD8 |0 +<U0159> \xF8 |0 +<U015A> \x8C |0 +<U015B> \x9C |0 +<U015E> \xAA |0 +<U015F> \xBA |0 +<U0160> \x8A |0 +<U0161> \x9A |0 +<U0162> \xDE |0 +<U0163> \xFE |0 +<U0164> \x8D |0 +<U0165> \x9D |0 +<U016E> \xD9 |0 +<U016F> \xF9 |0 +<U0170> \xDB |0 +<U0171> \xFB |0 +<U0179> \x8F |0 +<U017A> \x9F |0 +<U017B> \xAF |0 +<U017C> \xBF |0 +<U017D> \x8E |0 +<U017E> \x9E |0 +<U02C7> \xA1 |0 +<U02D8> \xA2 |0 +<U02D9> \xFF |0 +<U02DB> \xB2 |0 +<U02DD> \xBD |0 +<U2013> \x96 |0 +<U2014> \x97 |0 +<U2018> \x91 |0 +<U2019> \x92 |0 +<U201A> \x82 |0 +<U201C> \x93 |0 +<U201D> \x94 |0 +<U201E> \x84 |0 +<U2020> \x86 |0 +<U2021> \x87 |0 +<U2022> \x95 |0 +<U2026> \x85 |0 +<U2030> \x89 |0 +<U2039> \x8B |0 +<U203A> \x9B |0 +<U20AC> \x80 |0 +<U2122> \x99 |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 diff --git a/mcs/class/I18N/West/ibm-5348.ucm b/mcs/class/I18N/West/ibm-5348.ucm new file mode 100644 index 00000000000..6e5f9521527 --- /dev/null +++ b/mcs/class/I18N/West/ibm-5348.ucm @@ -0,0 +1,377 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1998-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 09:51:37 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B014E4.RPMAP100 and 14E444B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-5348" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-5348 +#_________ _________ +<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 +<U0081> \x81 |0 +<U008D> \x8D |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U009D> \x9D |0 +<U00A0> \xA0 |0 +<U00A1> \xA1 |0 +<U00A2> \xA2 |0 +<U00A3> \xA3 |0 +<U00A4> \xA4 |0 +<U00A5> \xA5 |0 +<U00A6> \xA6 |0 +<U00A7> \xA7 |0 +<U00A8> \xA8 |0 +<U00A9> \xA9 |0 +<U00AA> \xAA |0 +<U00AB> \xAB |0 +<U00AC> \xAC |0 +<U00AD> \xAD |0 +<U00AE> \xAE |0 +<U00AF> \xAF |0 +<U00B0> \xB0 |0 +<U00B1> \xB1 |0 +<U00B2> \xB2 |0 +<U00B3> \xB3 |0 +<U00B4> \xB4 |0 +<U00B5> \xB5 |0 +<U00B6> \xB6 |0 +<U00B7> \xB7 |0 +<U00B8> \xB8 |0 +<U00B9> \xB9 |0 +<U00BA> \xBA |0 +<U00BB> \xBB |0 +<U00BC> \xBC |0 +<U00BD> \xBD |0 +<U00BE> \xBE |0 +<U00BF> \xBF |0 +<U00C0> \xC0 |0 +<U00C1> \xC1 |0 +<U00C2> \xC2 |0 +<U00C3> \xC3 |0 +<U00C4> \xC4 |0 +<U00C5> \xC5 |0 +<U00C6> \xC6 |0 +<U00C7> \xC7 |0 +<U00C8> \xC8 |0 +<U00C9> \xC9 |0 +<U00CA> \xCA |0 +<U00CB> \xCB |0 +<U00CC> \xCC |0 +<U00CD> \xCD |0 +<U00CE> \xCE |0 +<U00CF> \xCF |0 +<U00D0> \xD0 |0 +<U00D1> \xD1 |0 +<U00D2> \xD2 |0 +<U00D3> \xD3 |0 +<U00D4> \xD4 |0 +<U00D5> \xD5 |0 +<U00D6> \xD6 |0 +<U00D7> \xD7 |0 +<U00D8> \xD8 |0 +<U00D9> \xD9 |0 +<U00DA> \xDA |0 +<U00DB> \xDB |0 +<U00DC> \xDC |0 +<U00DD> \xDD |0 +<U00DE> \xDE |0 +<U00DF> \xDF |0 +<U00E0> \xE0 |0 +<U00E1> \xE1 |0 +<U00E2> \xE2 |0 +<U00E3> \xE3 |0 +<U00E4> \xE4 |0 +<U00E5> \xE5 |0 +<U00E6> \xE6 |0 +<U00E7> \xE7 |0 +<U00E8> \xE8 |0 +<U00E9> \xE9 |0 +<U00EA> \xEA |0 +<U00EB> \xEB |0 +<U00EC> \xEC |0 +<U00ED> \xED |0 +<U00EE> \xEE |0 +<U00EF> \xEF |0 +<U00F0> \xF0 |0 +<U00F1> \xF1 |0 +<U00F2> \xF2 |0 +<U00F3> \xF3 |0 +<U00F4> \xF4 |0 +<U00F5> \xF5 |0 +<U00F6> \xF6 |0 +<U00F7> \xF7 |0 +<U00F8> \xF8 |0 +<U00F9> \xF9 |0 +<U00FA> \xFA |0 +<U00FB> \xFB |0 +<U00FC> \xFC |0 +<U00FD> \xFD |0 +<U00FE> \xFE |0 +<U00FF> \xFF |0 +<U0152> \x8C |0 +<U0153> \x9C |0 +<U0160> \x8A |0 +<U0161> \x9A |0 +<U0178> \x9F |0 +<U017D> \x8E |0 +<U017E> \x9E |0 +<U0192> \x83 |0 +<U02C6> \x88 |0 +<U02DC> \x98 |0 +<U2013> \x96 |0 +<U2014> \x97 |0 +<U2018> \x91 |0 +<U2019> \x92 |0 +<U201A> \x82 |0 +<U201C> \x93 |0 +<U201D> \x94 |0 +<U201E> \x84 |0 +<U2020> \x86 |0 +<U2021> \x87 |0 +<U2022> \x95 |0 +<U2026> \x85 |0 +<U2030> \x89 |0 +<U2039> \x8B |0 +<U203A> \x9B |0 +<U20AC> \x80 |0 +<U2122> \x99 |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 diff --git a/mcs/class/I18N/West/ibm-5349.ucm b/mcs/class/I18N/West/ibm-5349.ucm new file mode 100644 index 00000000000..900c9984fdb --- /dev/null +++ b/mcs/class/I18N/West/ibm-5349.ucm @@ -0,0 +1,376 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1998-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:44 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B014E5.RPMAP100 and 14E544B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-5349" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-5349 +#_________ _________ +<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 +<U0081> \x81 |0 +<U0088> \x88 |0 +<U008A> \x8A |0 +<U008C> \x8C |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U0098> \x98 |0 +<U009A> \x9A |0 +<U009C> \x9C |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U009F> \x9F |0 +<U00A0> \xA0 |0 +<U00A3> \xA3 |0 +<U00A4> \xA4 |0 +<U00A5> \xA5 |0 +<U00A6> \xA6 |0 +<U00A7> \xA7 |0 +<U00A8> \xA8 |0 +<U00A9> \xA9 |0 +<U00AA> \xAA |0 +<U00AB> \xAB |0 +<U00AC> \xAC |0 +<U00AD> \xAD |0 +<U00AE> \xAE |0 +<U00B0> \xB0 |0 +<U00B1> \xB1 |0 +<U00B2> \xB2 |0 +<U00B3> \xB3 |0 +<U00B5> \xB5 |0 +<U00B6> \xB6 |0 +<U00B7> \xB7 |0 +<U00BB> \xBB |0 +<U00BD> \xBD |0 +<U0192> \x83 |0 +<U0384> \xB4 |0 +<U0385> \xA1 |0 +<U0386> \xA2 |0 +<U0388> \xB8 |0 +<U0389> \xB9 |0 +<U038A> \xBA |0 +<U038C> \xBC |0 +<U038E> \xBE |0 +<U038F> \xBF |0 +<U0390> \xC0 |0 +<U0391> \xC1 |0 +<U0392> \xC2 |0 +<U0393> \xC3 |0 +<U0394> \xC4 |0 +<U0395> \xC5 |0 +<U0396> \xC6 |0 +<U0397> \xC7 |0 +<U0398> \xC8 |0 +<U0399> \xC9 |0 +<U039A> \xCA |0 +<U039B> \xCB |0 +<U039C> \xCC |0 +<U039D> \xCD |0 +<U039E> \xCE |0 +<U039F> \xCF |0 +<U03A0> \xD0 |0 +<U03A1> \xD1 |0 +<U03A3> \xD3 |0 +<U03A4> \xD4 |0 +<U03A5> \xD5 |0 +<U03A6> \xD6 |0 +<U03A7> \xD7 |0 +<U03A8> \xD8 |0 +<U03A9> \xD9 |0 +<U03AA> \xDA |0 +<U03AB> \xDB |0 +<U03AC> \xDC |0 +<U03AD> \xDD |0 +<U03AE> \xDE |0 +<U03AF> \xDF |0 +<U03B0> \xE0 |0 +<U03B1> \xE1 |0 +<U03B2> \xE2 |0 +<U03B3> \xE3 |0 +<U03B4> \xE4 |0 +<U03B5> \xE5 |0 +<U03B6> \xE6 |0 +<U03B7> \xE7 |0 +<U03B8> \xE8 |0 +<U03B9> \xE9 |0 +<U03BA> \xEA |0 +<U03BB> \xEB |0 +<U03BC> \xEC |0 +<U03BD> \xED |0 +<U03BE> \xEE |0 +<U03BF> \xEF |0 +<U03C0> \xF0 |0 +<U03C1> \xF1 |0 +<U03C2> \xF2 |0 +<U03C3> \xF3 |0 +<U03C4> \xF4 |0 +<U03C5> \xF5 |0 +<U03C6> \xF6 |0 +<U03C7> \xF7 |0 +<U03C8> \xF8 |0 +<U03C9> \xF9 |0 +<U03CA> \xFA |0 +<U03CB> \xFB |0 +<U03CC> \xFC |0 +<U03CD> \xFD |0 +<U03CE> \xFE |0 +<U03D5> \xF6 |1 +<U2013> \x96 |0 +<U2014> \x97 |0 +<U2015> \xAF |0 +<U2018> \x91 |0 +<U2019> \x92 |0 +<U201A> \x82 |0 +<U201C> \x93 |0 +<U201D> \x94 |0 +<U201E> \x84 |0 +<U2020> \x86 |0 +<U2021> \x87 |0 +<U2022> \x95 |0 +<U2026> \x85 |0 +<U2030> \x89 |0 +<U2039> \x8B |0 +<U203A> \x9B |0 +<U20AC> \x80 |0 +<U2122> \x99 |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 diff --git a/mcs/class/I18N/West/ibm-850.ucm b/mcs/class/I18N/West/ibm-850.ucm new file mode 100644 index 00000000000..7502e8dca2b --- /dev/null +++ b/mcs/class/I18N/West/ibm-850.ucm @@ -0,0 +1,416 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:42 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00352.RPMAP100 and 035234B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-850" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-850 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A1> \xAD |0 +<U00A2> \xBD |0 +<U00A3> \x9C |0 +<U00A4> \xCF |0 +<U00A5> \xBE |0 +<U00A6> \xDD |0 +<U00A7> \xF5 |0 +<U00A8> \xF9 |0 +<U00A9> \xB8 |0 +<U00AA> \xA6 |0 +<U00AB> \xAE |0 +<U00AC> \xAA |0 +<U00AD> \xF0 |0 +<U00AE> \xA9 |0 +<U00AF> \xEE |0 +<U00B0> \xF8 |0 +<U00B1> \xF1 |0 +<U00B2> \xFD |0 +<U00B3> \xFC |0 +<U00B4> \xEF |0 +<U00B5> \xE6 |0 +<U00B6> \xF4 |0 +<U00B7> \xFA |0 +<U00B8> \xF7 |0 +<U00B9> \xFB |0 +<U00BA> \xA7 |0 +<U00BB> \xAF |0 +<U00BC> \xAC |0 +<U00BD> \xAB |0 +<U00BE> \xF3 |0 +<U00BF> \xA8 |0 +<U00C0> \xB7 |0 +<U00C1> \xB5 |0 +<U00C2> \xB6 |0 +<U00C3> \xC7 |0 +<U00C4> \x8E |0 +<U00C5> \x8F |0 +<U00C6> \x92 |0 +<U00C7> \x80 |0 +<U00C8> \xD4 |0 +<U00C9> \x90 |0 +<U00CA> \xD2 |0 +<U00CB> \xD3 |0 +<U00CC> \xDE |0 +<U00CD> \xD6 |0 +<U00CE> \xD7 |0 +<U00CF> \xD8 |0 +<U00D0> \xD1 |0 +<U00D1> \xA5 |0 +<U00D2> \xE3 |0 +<U00D3> \xE0 |0 +<U00D4> \xE2 |0 +<U00D5> \xE5 |0 +<U00D6> \x99 |0 +<U00D7> \x9E |0 +<U00D8> \x9D |0 +<U00D9> \xEB |0 +<U00DA> \xE9 |0 +<U00DB> \xEA |0 +<U00DC> \x9A |0 +<U00DD> \xED |0 +<U00DE> \xE8 |0 +<U00DF> \xE1 |0 +<U00E0> \x85 |0 +<U00E1> \xA0 |0 +<U00E2> \x83 |0 +<U00E3> \xC6 |0 +<U00E4> \x84 |0 +<U00E5> \x86 |0 +<U00E6> \x91 |0 +<U00E7> \x87 |0 +<U00E8> \x8A |0 +<U00E9> \x82 |0 +<U00EA> \x88 |0 +<U00EB> \x89 |0 +<U00EC> \x8D |0 +<U00ED> \xA1 |0 +<U00EE> \x8C |0 +<U00EF> \x8B |0 +<U00F0> \xD0 |0 +<U00F1> \xA4 |0 +<U00F2> \x95 |0 +<U00F3> \xA2 |0 +<U00F4> \x93 |0 +<U00F5> \xE4 |0 +<U00F6> \x94 |0 +<U00F7> \xF6 |0 +<U00F8> \x9B |0 +<U00F9> \x97 |0 +<U00FA> \xA3 |0 +<U00FB> \x96 |0 +<U00FC> \x81 |0 +<U00FD> \xEC |0 +<U00FE> \xE7 |0 +<U00FF> \x98 |0 +<U0110> \xD1 |1 +<U0131> \xD5 |0 +<U0192> \x9F |0 +<U2017> \xF2 |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U203E> \xEE |1 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U221F> \x1C |1 +<U2302> \x7F |2 +<U2500> \xC4 |0 +<U2502> \xB3 |0 +<U250C> \xDA |0 +<U2510> \xBF |0 +<U2514> \xC0 |0 +<U2518> \xD9 |0 +<U251C> \xC3 |0 +<U2524> \xB4 |0 +<U252C> \xC2 |0 +<U2534> \xC1 |0 +<U253C> \xC5 |0 +<U2550> \xCD |0 +<U2551> \xBA |0 +<U2554> \xC9 |0 +<U2557> \xBB |0 +<U255A> \xC8 |0 +<U255D> \xBC |0 +<U2560> \xCC |0 +<U2563> \xB9 |0 +<U2566> \xCB |0 +<U2569> \xCA |0 +<U256C> \xCE |0 +<U2580> \xDF |0 +<U2584> \xDC |0 +<U2588> \xDB |0 +<U2591> \xB0 |0 +<U2592> \xB1 |0 +<U2593> \xB2 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266C> \x0E |1 +<UFF01> \x21 |1 +<UFF02> \x22 |1 +<UFF03> \x23 |1 +<UFF04> \x24 |1 +<UFF05> \x25 |1 +<UFF06> \x26 |1 +<UFF07> \x27 |1 +<UFF08> \x28 |1 +<UFF09> \x29 |1 +<UFF0A> \x2A |1 +<UFF0B> \x2B |1 +<UFF0C> \x2C |1 +<UFF0D> \x2D |1 +<UFF0E> \x2E |1 +<UFF0F> \x2F |1 +<UFF10> \x30 |1 +<UFF11> \x31 |1 +<UFF12> \x32 |1 +<UFF13> \x33 |1 +<UFF14> \x34 |1 +<UFF15> \x35 |1 +<UFF16> \x36 |1 +<UFF17> \x37 |1 +<UFF18> \x38 |1 +<UFF19> \x39 |1 +<UFF1A> \x3A |1 +<UFF1B> \x3B |1 +<UFF1C> \x3C |1 +<UFF1D> \x3D |1 +<UFF1E> \x3E |1 +<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 +<UFFE8> \xB3 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/West/ibm-860.ucm b/mcs/class/I18N/West/ibm-860.ucm new file mode 100644 index 00000000000..05a02cba81f --- /dev/null +++ b/mcs/class/I18N/West/ibm-860.ucm @@ -0,0 +1,416 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:43 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B0035C.RPMAP100 and 035C34B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-860" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-860 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A1> \xAD |0 +<U00A2> \x9B |0 +<U00A3> \x9C |0 +<U00A7> \x15 |1 +<U00AA> \xA6 |0 +<U00AB> \xAE |0 +<U00AC> \xAA |0 +<U00B0> \xF8 |0 +<U00B1> \xF1 |0 +<U00B2> \xFD |0 +<U00B6> \x14 |1 +<U00B7> \xFA |0 +<U00BA> \xA7 |0 +<U00BB> \xAF |0 +<U00BC> \xAC |0 +<U00BD> \xAB |0 +<U00BF> \xA8 |0 +<U00C0> \x91 |0 +<U00C1> \x86 |0 +<U00C2> \x8F |0 +<U00C3> \x8E |0 +<U00C7> \x80 |0 +<U00C8> \x92 |0 +<U00C9> \x90 |0 +<U00CA> \x89 |0 +<U00CC> \x98 |0 +<U00CD> \x8B |0 +<U00D1> \xA5 |0 +<U00D2> \xA9 |0 +<U00D3> \x9F |0 +<U00D4> \x8C |0 +<U00D5> \x99 |0 +<U00D9> \x9D |0 +<U00DA> \x96 |0 +<U00DC> \x9A |0 +<U00DF> \xE1 |0 +<U00E0> \x85 |0 +<U00E1> \xA0 |0 +<U00E2> \x83 |0 +<U00E3> \x84 |0 +<U00E7> \x87 |0 +<U00E8> \x8A |0 +<U00E9> \x82 |0 +<U00EA> \x88 |0 +<U00EC> \x8D |0 +<U00ED> \xA1 |0 +<U00F1> \xA4 |0 +<U00F2> \x95 |0 +<U00F3> \xA2 |0 +<U00F4> \x93 |0 +<U00F5> \x94 |0 +<U00F7> \xF6 |0 +<U00F9> \x97 |0 +<U00FA> \xA3 |0 +<U00FC> \x81 |0 +<U0393> \xE2 |0 +<U0398> \xE9 |0 +<U03A3> \xE4 |0 +<U03A6> \xE8 |0 +<U03A9> \xEA |0 +<U03B1> \xE0 |0 +<U03B4> \xEB |0 +<U03B5> \xEE |0 +<U03BC> \xE6 |0 +<U03C0> \xE3 |0 +<U03C3> \xE5 |0 +<U03C4> \xE7 |0 +<U03C6> \xED |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U207F> \xFC |0 +<U20A7> \x9E |0 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U2219> \xF9 |0 +<U221A> \xFB |0 +<U221E> \xEC |0 +<U221F> \x1C |1 +<U2229> \xEF |0 +<U2248> \xF7 |0 +<U2261> \xF0 |0 +<U2264> \xF3 |0 +<U2265> \xF2 |0 +<U2302> \x7F |2 +<U2320> \xF4 |0 +<U2321> \xF5 |0 +<U2500> \xC4 |0 +<U2502> \xB3 |0 +<U250C> \xDA |0 +<U2510> \xBF |0 +<U2514> \xC0 |0 +<U2518> \xD9 |0 +<U251C> \xC3 |0 +<U2524> \xB4 |0 +<U252C> \xC2 |0 +<U2534> \xC1 |0 +<U253C> \xC5 |0 +<U2550> \xCD |0 +<U2551> \xBA |0 +<U2552> \xD5 |0 +<U2553> \xD6 |0 +<U2554> \xC9 |0 +<U2555> \xB8 |0 +<U2556> \xB7 |0 +<U2557> \xBB |0 +<U2558> \xD4 |0 +<U2559> \xD3 |0 +<U255A> \xC8 |0 +<U255B> \xBE |0 +<U255C> \xBD |0 +<U255D> \xBC |0 +<U255E> \xC6 |0 +<U255F> \xC7 |0 +<U2560> \xCC |0 +<U2561> \xB5 |0 +<U2562> \xB6 |0 +<U2563> \xB9 |0 +<U2564> \xD1 |0 +<U2565> \xD2 |0 +<U2566> \xCB |0 +<U2567> \xCF |0 +<U2568> \xD0 |0 +<U2569> \xCA |0 +<U256A> \xD8 |0 +<U256B> \xD7 |0 +<U256C> \xCE |0 +<U2580> \xDF |0 +<U2584> \xDC |0 +<U2588> \xDB |0 +<U258C> \xDD |0 +<U2590> \xDE |0 +<U2591> \xB0 |0 +<U2592> \xB1 |0 +<U2593> \xB2 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266B> \x0E |1 +<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 +<UFFE8> \xB3 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/West/ibm-861.ucm b/mcs/class/I18N/West/ibm-861.ucm new file mode 100644 index 00000000000..c93f5074542 --- /dev/null +++ b/mcs/class/I18N/West/ibm-861.ucm @@ -0,0 +1,416 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:43 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B0035D.RPMAP100 and 035D34B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-861" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-861 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A1> \xAD |0 +<U00A3> \x9C |0 +<U00A7> \x15 |1 +<U00AB> \xAE |0 +<U00AC> \xAA |0 +<U00B0> \xF8 |0 +<U00B1> \xF1 |0 +<U00B2> \xFD |0 +<U00B6> \x14 |1 +<U00B7> \xFA |0 +<U00BB> \xAF |0 +<U00BC> \xAC |0 +<U00BD> \xAB |0 +<U00BF> \xA8 |0 +<U00C1> \xA4 |0 +<U00C4> \x8E |0 +<U00C5> \x8F |0 +<U00C6> \x92 |0 +<U00C7> \x80 |0 +<U00C9> \x90 |0 +<U00CD> \xA5 |0 +<U00D0> \x8B |0 +<U00D3> \xA6 |0 +<U00D6> \x99 |0 +<U00D8> \x9D |0 +<U00DA> \xA7 |0 +<U00DC> \x9A |0 +<U00DD> \x97 |0 +<U00DE> \x8D |0 +<U00DF> \xE1 |0 +<U00E0> \x85 |0 +<U00E1> \xA0 |0 +<U00E2> \x83 |0 +<U00E4> \x84 |0 +<U00E5> \x86 |0 +<U00E6> \x91 |0 +<U00E7> \x87 |0 +<U00E8> \x8A |0 +<U00E9> \x82 |0 +<U00EA> \x88 |0 +<U00EB> \x89 |0 +<U00ED> \xA1 |0 +<U00F0> \x8C |0 +<U00F3> \xA2 |0 +<U00F4> \x93 |0 +<U00F6> \x94 |0 +<U00F7> \xF6 |0 +<U00F8> \x9B |0 +<U00FA> \xA3 |0 +<U00FB> \x96 |0 +<U00FC> \x81 |0 +<U00FD> \x98 |0 +<U00FE> \x95 |0 +<U0192> \x9F |0 +<U0393> \xE2 |0 +<U0398> \xE9 |0 +<U03A3> \xE4 |0 +<U03A6> \xE8 |0 +<U03A9> \xEA |0 +<U03B1> \xE0 |0 +<U03B4> \xEB |0 +<U03B5> \xEE |0 +<U03BC> \xE6 |0 +<U03C0> \xE3 |0 +<U03C3> \xE5 |0 +<U03C4> \xE7 |0 +<U03C6> \xED |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U207F> \xFC |0 +<U20A7> \x9E |0 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U2219> \xF9 |0 +<U221A> \xFB |0 +<U221E> \xEC |0 +<U221F> \x1C |1 +<U2229> \xEF |0 +<U2248> \xF7 |0 +<U2261> \xF0 |0 +<U2264> \xF3 |0 +<U2265> \xF2 |0 +<U2302> \x7F |2 +<U2310> \xA9 |0 +<U2320> \xF4 |0 +<U2321> \xF5 |0 +<U2500> \xC4 |0 +<U2502> \xB3 |0 +<U250C> \xDA |0 +<U2510> \xBF |0 +<U2514> \xC0 |0 +<U2518> \xD9 |0 +<U251C> \xC3 |0 +<U2524> \xB4 |0 +<U252C> \xC2 |0 +<U2534> \xC1 |0 +<U253C> \xC5 |0 +<U2550> \xCD |0 +<U2551> \xBA |0 +<U2552> \xD5 |0 +<U2553> \xD6 |0 +<U2554> \xC9 |0 +<U2555> \xB8 |0 +<U2556> \xB7 |0 +<U2557> \xBB |0 +<U2558> \xD4 |0 +<U2559> \xD3 |0 +<U255A> \xC8 |0 +<U255B> \xBE |0 +<U255C> \xBD |0 +<U255D> \xBC |0 +<U255E> \xC6 |0 +<U255F> \xC7 |0 +<U2560> \xCC |0 +<U2561> \xB5 |0 +<U2562> \xB6 |0 +<U2563> \xB9 |0 +<U2564> \xD1 |0 +<U2565> \xD2 |0 +<U2566> \xCB |0 +<U2567> \xCF |0 +<U2568> \xD0 |0 +<U2569> \xCA |0 +<U256A> \xD8 |0 +<U256B> \xD7 |0 +<U256C> \xCE |0 +<U2580> \xDF |0 +<U2584> \xDC |0 +<U2588> \xDB |0 +<U258C> \xDD |0 +<U2590> \xDE |0 +<U2591> \xB0 |0 +<U2592> \xB1 |0 +<U2593> \xB2 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266B> \x0E |1 +<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 +<UFFE8> \xB3 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/West/ibm-863.ucm b/mcs/class/I18N/West/ibm-863.ucm new file mode 100644 index 00000000000..1effe317097 --- /dev/null +++ b/mcs/class/I18N/West/ibm-863.ucm @@ -0,0 +1,415 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:43 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B0035F.RPMAP100 and 035F34B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-863" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-863 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A2> \x9B |0 +<U00A3> \x9C |0 +<U00A4> \x98 |0 +<U00A6> \xA0 |0 +<U00A7> \x8F |0 +<U00A8> \xA4 |0 +<U00AB> \xAE |0 +<U00AC> \xAA |0 +<U00AF> \xA7 |0 +<U00B0> \xF8 |0 +<U00B1> \xF1 |0 +<U00B2> \xFD |0 +<U00B3> \xA6 |0 +<U00B4> \xA1 |0 +<U00B6> \x86 |0 +<U00B7> \xFA |0 +<U00B8> \xA5 |0 +<U00BB> \xAF |0 +<U00BC> \xAC |0 +<U00BD> \xAB |0 +<U00BE> \xAD |0 +<U00C0> \x8E |0 +<U00C2> \x84 |0 +<U00C7> \x80 |0 +<U00C8> \x91 |0 +<U00C9> \x90 |0 +<U00CA> \x92 |0 +<U00CB> \x94 |0 +<U00CE> \xA8 |0 +<U00CF> \x95 |0 +<U00D4> \x99 |0 +<U00D9> \x9D |0 +<U00DB> \x9E |0 +<U00DC> \x9A |0 +<U00DF> \xE1 |0 +<U00E0> \x85 |0 +<U00E2> \x83 |0 +<U00E7> \x87 |0 +<U00E8> \x8A |0 +<U00E9> \x82 |0 +<U00EA> \x88 |0 +<U00EB> \x89 |0 +<U00EE> \x8C |0 +<U00EF> \x8B |0 +<U00F3> \xA2 |0 +<U00F4> \x93 |0 +<U00F7> \xF6 |0 +<U00F9> \x97 |0 +<U00FA> \xA3 |0 +<U00FB> \x96 |0 +<U00FC> \x81 |0 +<U0192> \x9F |0 +<U0393> \xE2 |0 +<U0398> \xE9 |0 +<U03A3> \xE4 |0 +<U03A6> \xE8 |0 +<U03A9> \xEA |0 +<U03B1> \xE0 |0 +<U03B4> \xEB |0 +<U03B5> \xEE |0 +<U03BC> \xE6 |0 +<U03C0> \xE3 |0 +<U03C3> \xE5 |0 +<U03C4> \xE7 |0 +<U03C6> \xED |0 +<U2017> \x8D |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U203E> \xA7 |1 +<U207F> \xFC |0 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U2219> \xF9 |0 +<U221A> \xFB |0 +<U221E> \xEC |0 +<U221F> \x1C |1 +<U2229> \xEF |0 +<U2248> \xF7 |0 +<U2261> \xF0 |0 +<U2264> \xF3 |0 +<U2265> \xF2 |0 +<U2302> \x7F |2 +<U2310> \xA9 |0 +<U2320> \xF4 |0 +<U2321> \xF5 |0 +<U2500> \xC4 |0 +<U2502> \xB3 |0 +<U250C> \xDA |0 +<U2510> \xBF |0 +<U2514> \xC0 |0 +<U2518> \xD9 |0 +<U251C> \xC3 |0 +<U2524> \xB4 |0 +<U252C> \xC2 |0 +<U2534> \xC1 |0 +<U253C> \xC5 |0 +<U2550> \xCD |0 +<U2551> \xBA |0 +<U2552> \xD5 |0 +<U2553> \xD6 |0 +<U2554> \xC9 |0 +<U2555> \xB8 |0 +<U2556> \xB7 |0 +<U2557> \xBB |0 +<U2558> \xD4 |0 +<U2559> \xD3 |0 +<U255A> \xC8 |0 +<U255B> \xBE |0 +<U255C> \xBD |0 +<U255D> \xBC |0 +<U255E> \xC6 |0 +<U255F> \xC7 |0 +<U2560> \xCC |0 +<U2561> \xB5 |0 +<U2562> \xB6 |0 +<U2563> \xB9 |0 +<U2564> \xD1 |0 +<U2565> \xD2 |0 +<U2566> \xCB |0 +<U2567> \xCF |0 +<U2568> \xD0 |0 +<U2569> \xCA |0 +<U256A> \xD8 |0 +<U256B> \xD7 |0 +<U256C> \xCE |0 +<U2580> \xDF |0 +<U2584> \xDC |0 +<U2588> \xDB |0 +<U258C> \xDD |0 +<U2590> \xDE |0 +<U2591> \xB0 |0 +<U2592> \xB1 |0 +<U2593> \xB2 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266B> \x0E |1 +<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 +<UFFE8> \xB3 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/West/ibm-865.ucm b/mcs/class/I18N/West/ibm-865.ucm new file mode 100644 index 00000000000..f1362fbb2bb --- /dev/null +++ b/mcs/class/I18N/West/ibm-865.ucm @@ -0,0 +1,416 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 08:50:43 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00361.RPMAP100 and 036134B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-865" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x7F +# +CHARMAP +# +# +#ISO 10646 IBM-865 +#_________ _________ +<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> \x7F |0 +<U001B> \x1B |0 +<U001C> \x1A |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> \x1C |0 +<U00A0> \xFF |0 +<U00A1> \xAD |0 +<U00A3> \x9C |0 +<U00A4> \xAF |0 +<U00A7> \x15 |1 +<U00AA> \xA6 |0 +<U00AB> \xAE |0 +<U00AC> \xAA |0 +<U00B0> \xF8 |0 +<U00B1> \xF1 |0 +<U00B2> \xFD |0 +<U00B6> \x14 |1 +<U00B7> \xFA |0 +<U00BA> \xA7 |0 +<U00BC> \xAC |0 +<U00BD> \xAB |0 +<U00BF> \xA8 |0 +<U00C4> \x8E |0 +<U00C5> \x8F |0 +<U00C6> \x92 |0 +<U00C7> \x80 |0 +<U00C9> \x90 |0 +<U00D1> \xA5 |0 +<U00D6> \x99 |0 +<U00D8> \x9D |0 +<U00DC> \x9A |0 +<U00DF> \xE1 |0 +<U00E0> \x85 |0 +<U00E1> \xA0 |0 +<U00E2> \x83 |0 +<U00E4> \x84 |0 +<U00E5> \x86 |0 +<U00E6> \x91 |0 +<U00E7> \x87 |0 +<U00E8> \x8A |0 +<U00E9> \x82 |0 +<U00EA> \x88 |0 +<U00EB> \x89 |0 +<U00EC> \x8D |0 +<U00ED> \xA1 |0 +<U00EE> \x8C |0 +<U00EF> \x8B |0 +<U00F1> \xA4 |0 +<U00F2> \x95 |0 +<U00F3> \xA2 |0 +<U00F4> \x93 |0 +<U00F6> \x94 |0 +<U00F7> \xF6 |0 +<U00F8> \x9B |0 +<U00F9> \x97 |0 +<U00FA> \xA3 |0 +<U00FB> \x96 |0 +<U00FC> \x81 |0 +<U00FF> \x98 |0 +<U0192> \x9F |0 +<U0393> \xE2 |0 +<U0398> \xE9 |0 +<U03A3> \xE4 |0 +<U03A6> \xE8 |0 +<U03A9> \xEA |0 +<U03B1> \xE0 |0 +<U03B4> \xEB |0 +<U03B5> \xEE |0 +<U03BC> \xE6 |0 +<U03C0> \xE3 |0 +<U03C3> \xE5 |0 +<U03C4> \xE7 |0 +<U03C6> \xED |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U207F> \xFC |0 +<U20A7> \x9E |0 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |1 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U2219> \xF9 |0 +<U221A> \xFB |0 +<U221E> \xEC |0 +<U221F> \x1C |1 +<U2229> \xEF |0 +<U2248> \xF7 |0 +<U2261> \xF0 |0 +<U2264> \xF3 |0 +<U2265> \xF2 |0 +<U2302> \x7F |2 +<U2310> \xA9 |0 +<U2320> \xF4 |0 +<U2321> \xF5 |0 +<U2500> \xC4 |0 +<U2502> \xB3 |0 +<U250C> \xDA |0 +<U2510> \xBF |0 +<U2514> \xC0 |0 +<U2518> \xD9 |0 +<U251C> \xC3 |0 +<U2524> \xB4 |0 +<U252C> \xC2 |0 +<U2534> \xC1 |0 +<U253C> \xC5 |0 +<U2550> \xCD |0 +<U2551> \xBA |0 +<U2552> \xD5 |0 +<U2553> \xD6 |0 +<U2554> \xC9 |0 +<U2555> \xB8 |0 +<U2556> \xB7 |0 +<U2557> \xBB |0 +<U2558> \xD4 |0 +<U2559> \xD3 |0 +<U255A> \xC8 |0 +<U255B> \xBE |0 +<U255C> \xBD |0 +<U255D> \xBC |0 +<U255E> \xC6 |0 +<U255F> \xC7 |0 +<U2560> \xCC |0 +<U2561> \xB5 |0 +<U2562> \xB6 |0 +<U2563> \xB9 |0 +<U2564> \xD1 |0 +<U2565> \xD2 |0 +<U2566> \xCB |0 +<U2567> \xCF |0 +<U2568> \xD0 |0 +<U2569> \xCA |0 +<U256A> \xD8 |0 +<U256B> \xD7 |0 +<U256C> \xCE |0 +<U2580> \xDF |0 +<U2584> \xDC |0 +<U2588> \xDB |0 +<U258C> \xDD |0 +<U2590> \xDE |0 +<U2591> \xB0 |0 +<U2592> \xB1 |0 +<U2593> \xB2 |0 +<U25A0> \xFE |0 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266B> \x0E |1 +<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 +<UFFE8> \xB3 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |1 +<UFFEC> \x19 |1 +<UFFED> \xFE |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/West/ibm-912.ucm b/mcs/class/I18N/West/ibm-912.ucm new file mode 100644 index 00000000000..bcd31fa1477 --- /dev/null +++ b/mcs/class/I18N/West/ibm-912.ucm @@ -0,0 +1,446 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 09:28:04 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00390.RPMAP100 and 039034B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-912" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-912 +#_________ _________ +<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 +<U0080> \x80 |0 +<U0081> \x81 |0 +<U0082> \x82 |0 +<U0083> \x83 |0 +<U0084> \x84 |0 +<U0085> \x85 |0 +<U0086> \x86 |0 +<U0087> \x87 |0 +<U0088> \x88 |0 +<U0089> \x89 |0 +<U008A> \x8A |0 +<U008B> \x8B |0 +<U008C> \x8C |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U0091> \x91 |0 +<U0092> \x92 |0 +<U0093> \x93 |0 +<U0094> \x94 |0 +<U0095> \x95 |0 +<U0096> \x96 |0 +<U0097> \x97 |0 +<U0098> \x98 |0 +<U0099> \x99 |0 +<U009A> \x9A |0 +<U009B> \x9B |0 +<U009C> \x9C |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U009F> \x9F |0 +<U00A0> \xA0 |0 +<U00A2> \x8D |1 +<U00A4> \xA4 |0 +<U00A5> \x8E |1 +<U00A7> \xA7 |0 +<U00A8> \xA8 |0 +<U00A9> \x88 |1 +<U00AD> \xAD |0 +<U00AE> \x9F |1 +<U00B0> \xB0 |0 +<U00B4> \xB4 |0 +<U00B6> \x14 |1 +<U00B8> \xB8 |0 +<U00C1> \xC1 |0 +<U00C2> \xC2 |0 +<U00C4> \xC4 |0 +<U00C7> \xC7 |0 +<U00C9> \xC9 |0 +<U00CB> \xCB |0 +<U00CD> \xCD |0 +<U00CE> \xCE |0 +<U00D0> \xD0 |1 +<U00D3> \xD3 |0 +<U00D4> \xD4 |0 +<U00D6> \xD6 |0 +<U00D7> \xD7 |0 +<U00DA> \xDA |0 +<U00DC> \xDC |0 +<U00DD> \xDD |0 +<U00DF> \xDF |0 +<U00E1> \xE1 |0 +<U00E2> \xE2 |0 +<U00E4> \xE4 |0 +<U00E7> \xE7 |0 +<U00E9> \xE9 |0 +<U00EB> \xEB |0 +<U00ED> \xED |0 +<U00EE> \xEE |0 +<U00F3> \xF3 |0 +<U00F4> \xF4 |0 +<U00F6> \xF6 |0 +<U00F7> \xF7 |0 +<U00FA> \xFA |0 +<U00FC> \xFC |0 +<U00FD> \xFD |0 +<U0102> \xC3 |0 +<U0103> \xE3 |0 +<U0104> \xA1 |0 +<U0105> \xB1 |0 +<U0106> \xC6 |0 +<U0107> \xE6 |0 +<U010C> \xC8 |0 +<U010D> \xE8 |0 +<U010E> \xCF |0 +<U010F> \xEF |0 +<U0110> \xD0 |0 +<U0111> \xF0 |0 +<U0118> \xCA |0 +<U0119> \xEA |0 +<U011A> \xCC |0 +<U011B> \xEC |0 +<U0139> \xC5 |0 +<U013A> \xE5 |0 +<U013D> \xA5 |0 +<U013E> \xB5 |0 +<U0141> \xA3 |0 +<U0142> \xB3 |0 +<U0143> \xD1 |0 +<U0144> \xF1 |0 +<U0147> \xD2 |0 +<U0148> \xF2 |0 +<U0150> \xD5 |0 +<U0151> \xF5 |0 +<U0154> \xC0 |0 +<U0155> \xE0 |0 +<U0158> \xD8 |0 +<U0159> \xF8 |0 +<U015A> \xA6 |0 +<U015B> \xB6 |0 +<U015E> \xAA |0 +<U015F> \xBA |0 +<U0160> \xA9 |0 +<U0161> \xB9 |0 +<U0162> \xDE |0 +<U0163> \xFE |0 +<U0164> \xAB |0 +<U0165> \xBB |0 +<U016E> \xD9 |0 +<U016F> \xF9 |0 +<U0170> \xDB |0 +<U0171> \xFB |0 +<U0179> \xAC |0 +<U017A> \xBC |0 +<U017B> \xAF |0 +<U017C> \xBF |0 +<U017D> \xAE |0 +<U017E> \xBE |0 +<U02C7> \xB7 |0 +<U02D8> \xA2 |0 +<U02D9> \xFF |0 +<U02DB> \xB2 |0 +<U02DD> \xBD |0 +<U2022> \x07 |1 +<U203C> \x13 |1 +<U2190> \x1B |1 +<U2191> \x18 |1 +<U2192> \x1A |2 +<U2193> \x19 |1 +<U2194> \x1D |1 +<U2195> \x12 |1 +<U21A8> \x17 |1 +<U221F> \x1C |1 +<U2500> \x94 |1 +<U2502> \x83 |1 +<U250C> \x86 |1 +<U2510> \x8F |1 +<U2514> \x90 |1 +<U2518> \x85 |1 +<U251C> \x93 |1 +<U2524> \x84 |1 +<U252C> \x92 |1 +<U2534> \x91 |1 +<U253C> \x95 |1 +<U2550> \x9D |1 +<U2551> \x8A |1 +<U2554> \x99 |1 +<U2557> \x8B |1 +<U255A> \x98 |1 +<U255D> \x8C |1 +<U2560> \x9C |1 +<U2563> \x89 |1 +<U2566> \x9B |1 +<U2569> \x9A |1 +<U256C> \x9E |1 +<U2580> \x97 |1 +<U2584> \x96 |1 +<U2588> \x87 |1 +<U2591> \x80 |1 +<U2592> \x81 |1 +<U2593> \x82 |1 +<U25AC> \x16 |1 +<U25B2> \x1E |1 +<U25BA> \x10 |1 +<U25BC> \x1F |1 +<U25C4> \x11 |1 +<U25CB> \x09 |1 +<U25D8> \x08 |1 +<U25D9> \x0A |1 +<U263A> \x01 |1 +<U263B> \x02 |1 +<U263C> \x0F |1 +<U2640> \x0C |1 +<U2642> \x0B |1 +<U2660> \x06 |1 +<U2663> \x05 |1 +<U2665> \x03 |1 +<U2666> \x04 |1 +<U266A> \x0D |1 +<U266C> \x0E |1 +<UFF01> \x21 |1 +<UFF02> \x22 |1 +<UFF03> \x23 |1 +<UFF04> \x24 |1 +<UFF05> \x25 |1 +<UFF06> \x26 |1 +<UFF07> \x27 |1 +<UFF08> \x28 |1 +<UFF09> \x29 |1 +<UFF0A> \x2A |1 +<UFF0B> \x2B |1 +<UFF0C> \x2C |1 +<UFF0D> \x2D |1 +<UFF0E> \x2E |1 +<UFF0F> \x2F |1 +<UFF10> \x30 |1 +<UFF11> \x31 |1 +<UFF12> \x32 |1 +<UFF13> \x33 |1 +<UFF14> \x34 |1 +<UFF15> \x35 |1 +<UFF16> \x36 |1 +<UFF17> \x37 |1 +<UFF18> \x38 |1 +<UFF19> \x39 |1 +<UFF1A> \x3A |1 +<UFF1B> \x3B |1 +<UFF1C> \x3C |1 +<UFF1D> \x3D |1 +<UFF1E> \x3E |1 +<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 +<UFFE8> \x83 |1 +<UFFE9> \x1B |1 +<UFFEA> \x18 |1 +<UFFEB> \x1A |2 +<UFFEC> \x19 |1 +<UFFEE> \x09 |1 +END CHARMAP diff --git a/mcs/class/I18N/West/ibm-913.ucm b/mcs/class/I18N/West/ibm-913.ucm new file mode 100644 index 00000000000..213fbd6c7f8 --- /dev/null +++ b/mcs/class/I18N/West/ibm-913.ucm @@ -0,0 +1,370 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1995-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 09:28:04 2000 +# +# File created by dtcocm version 3.00 +# from source files 34B00391.RPMAP100 and 039134B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-913" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-913 +#_________ _________ +<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 +<U0080> \x80 |0 +<U0081> \x81 |0 +<U0082> \x82 |0 +<U0083> \x83 |0 +<U0084> \x84 |0 +<U0085> \x85 |0 +<U0086> \x86 |0 +<U0087> \x87 |0 +<U0088> \x88 |0 +<U0089> \x89 |0 +<U008A> \x8A |0 +<U008B> \x8B |0 +<U008C> \x8C |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U0091> \x91 |0 +<U0092> \x92 |0 +<U0093> \x93 |0 +<U0094> \x94 |0 +<U0095> \x95 |0 +<U0096> \x96 |0 +<U0097> \x97 |0 +<U0098> \x98 |0 +<U0099> \x99 |0 +<U009A> \x9A |0 +<U009B> \x9B |0 +<U009C> \x9C |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U009F> \x9F |0 +<U00A0> \xA0 |0 +<U00A3> \xA3 |0 +<U00A4> \xA4 |0 +<U00A7> \xA7 |0 +<U00A8> \xA8 |0 +<U00AD> \xAD |0 +<U00B0> \xB0 |0 +<U00B2> \xB2 |0 +<U00B3> \xB3 |0 +<U00B4> \xB4 |0 +<U00B5> \xB5 |0 +<U00B7> \xB7 |0 +<U00B8> \xB8 |0 +<U00BD> \xBD |0 +<U00C0> \xC0 |0 +<U00C1> \xC1 |0 +<U00C2> \xC2 |0 +<U00C4> \xC4 |0 +<U00C7> \xC7 |0 +<U00C8> \xC8 |0 +<U00C9> \xC9 |0 +<U00CA> \xCA |0 +<U00CB> \xCB |0 +<U00CC> \xCC |0 +<U00CD> \xCD |0 +<U00CE> \xCE |0 +<U00CF> \xCF |0 +<U00D1> \xD1 |0 +<U00D2> \xD2 |0 +<U00D3> \xD3 |0 +<U00D4> \xD4 |0 +<U00D6> \xD6 |0 +<U00D7> \xD7 |0 +<U00D9> \xD9 |0 +<U00DA> \xDA |0 +<U00DB> \xDB |0 +<U00DC> \xDC |0 +<U00DF> \xDF |0 +<U00E0> \xE0 |0 +<U00E1> \xE1 |0 +<U00E2> \xE2 |0 +<U00E4> \xE4 |0 +<U00E7> \xE7 |0 +<U00E8> \xE8 |0 +<U00E9> \xE9 |0 +<U00EA> \xEA |0 +<U00EB> \xEB |0 +<U00EC> \xEC |0 +<U00ED> \xED |0 +<U00EE> \xEE |0 +<U00EF> \xEF |0 +<U00F1> \xF1 |0 +<U00F2> \xF2 |0 +<U00F3> \xF3 |0 +<U00F4> \xF4 |0 +<U00F6> \xF6 |0 +<U00F7> \xF7 |0 +<U00F9> \xF9 |0 +<U00FA> \xFA |0 +<U00FB> \xFB |0 +<U00FC> \xFC |0 +<U0108> \xC6 |0 +<U0109> \xE6 |0 +<U010A> \xC5 |0 +<U010B> \xE5 |0 +<U011C> \xD8 |0 +<U011D> \xF8 |0 +<U011E> \xAB |0 +<U011F> \xBB |0 +<U0120> \xD5 |0 +<U0121> \xF5 |0 +<U0124> \xA6 |0 +<U0125> \xB6 |0 +<U0126> \xA1 |0 +<U0127> \xB1 |0 +<U0130> \xA9 |0 +<U0131> \xB9 |0 +<U0134> \xAC |0 +<U0135> \xBC |0 +<U015C> \xDE |0 +<U015D> \xFE |0 +<U015E> \xAA |0 +<U015F> \xBA |0 +<U016C> \xDD |0 +<U016D> \xFD |0 +<U017B> \xAF |0 +<U017C> \xBF |0 +<U02D8> \xA2 |0 +<U02D9> \xFF |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 diff --git a/mcs/class/I18N/West/ibm-923.ucm b/mcs/class/I18N/West/ibm-923.ucm new file mode 100644 index 00000000000..78cc496293d --- /dev/null +++ b/mcs/class/I18N/West/ibm-923.ucm @@ -0,0 +1,377 @@ +# ******************************************************************************* +# * +# * Copyright (C) 1998-2000, International Business Machines +# * Corporation and others. All Rights Reserved. +# * +# ******************************************************************************* +# +# File created on Mon Nov 13 09:28:04 2000 +# +# File created by dtcocm version 3.00 +# from source files 44B0039B.RPMAP100 and 039B44B0.TPMAP100 +# +# Table Version : 1.01 +# +<code_set_name> "IBM-923" +<char_name_mask> "AXXXX" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#ISO 10646 IBM-923 +#_________ _________ +<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 +<U0080> \x80 |0 +<U0081> \x81 |0 +<U0082> \x82 |0 +<U0083> \x83 |0 +<U0084> \x84 |0 +<U0085> \x85 |0 +<U0086> \x86 |0 +<U0087> \x87 |0 +<U0088> \x88 |0 +<U0089> \x89 |0 +<U008A> \x8A |0 +<U008B> \x8B |0 +<U008C> \x8C |0 +<U008D> \x8D |0 +<U008E> \x8E |0 +<U008F> \x8F |0 +<U0090> \x90 |0 +<U0091> \x91 |0 +<U0092> \x92 |0 +<U0093> \x93 |0 +<U0094> \x94 |0 +<U0095> \x95 |0 +<U0096> \x96 |0 +<U0097> \x97 |0 +<U0098> \x98 |0 +<U0099> \x99 |0 +<U009A> \x9A |0 +<U009B> \x9B |0 +<U009C> \x9C |0 +<U009D> \x9D |0 +<U009E> \x9E |0 +<U009F> \x9F |0 +<U00A0> \xA0 |0 +<U00A1> \xA1 |0 +<U00A2> \xA2 |0 +<U00A3> \xA3 |0 +<U00A5> \xA5 |0 +<U00A7> \xA7 |0 +<U00A9> \xA9 |0 +<U00AA> \xAA |0 +<U00AB> \xAB |0 +<U00AC> \xAC |0 +<U00AD> \xAD |0 +<U00AE> \xAE |0 +<U00AF> \xAF |0 +<U00B0> \xB0 |0 +<U00B1> \xB1 |0 +<U00B2> \xB2 |0 +<U00B3> \xB3 |0 +<U00B5> \xB5 |0 +<U00B6> \xB6 |0 +<U00B7> \xB7 |0 +<U00B9> \xB9 |0 +<U00BA> \xBA |0 +<U00BB> \xBB |0 +<U00BF> \xBF |0 +<U00C0> \xC0 |0 +<U00C1> \xC1 |0 +<U00C2> \xC2 |0 +<U00C3> \xC3 |0 +<U00C4> \xC4 |0 +<U00C5> \xC5 |0 +<U00C6> \xC6 |0 +<U00C7> \xC7 |0 +<U00C8> \xC8 |0 +<U00C9> \xC9 |0 +<U00CA> \xCA |0 +<U00CB> \xCB |0 +<U00CC> \xCC |0 +<U00CD> \xCD |0 +<U00CE> \xCE |0 +<U00CF> \xCF |0 +<U00D0> \xD0 |0 +<U00D1> \xD1 |0 +<U00D2> \xD2 |0 +<U00D3> \xD3 |0 +<U00D4> \xD4 |0 +<U00D5> \xD5 |0 +<U00D6> \xD6 |0 +<U00D7> \xD7 |0 +<U00D8> \xD8 |0 +<U00D9> \xD9 |0 +<U00DA> \xDA |0 +<U00DB> \xDB |0 +<U00DC> \xDC |0 +<U00DD> \xDD |0 +<U00DE> \xDE |0 +<U00DF> \xDF |0 +<U00E0> \xE0 |0 +<U00E1> \xE1 |0 +<U00E2> \xE2 |0 +<U00E3> \xE3 |0 +<U00E4> \xE4 |0 +<U00E5> \xE5 |0 +<U00E6> \xE6 |0 +<U00E7> \xE7 |0 +<U00E8> \xE8 |0 +<U00E9> \xE9 |0 +<U00EA> \xEA |0 +<U00EB> \xEB |0 +<U00EC> \xEC |0 +<U00ED> \xED |0 +<U00EE> \xEE |0 +<U00EF> \xEF |0 +<U00F0> \xF0 |0 +<U00F1> \xF1 |0 +<U00F2> \xF2 |0 +<U00F3> \xF3 |0 +<U00F4> \xF4 |0 +<U00F5> \xF5 |0 +<U00F6> \xF6 |0 +<U00F7> \xF7 |0 +<U00F8> \xF8 |0 +<U00F9> \xF9 |0 +<U00FA> \xFA |0 +<U00FB> \xFB |0 +<U00FC> \xFC |0 +<U00FD> \xFD |0 +<U00FE> \xFE |0 +<U00FF> \xFF |0 +<U0152> \xBC |0 +<U0153> \xBD |0 +<U0160> \xA6 |0 +<U0161> \xA8 |0 +<U0178> \xBE |0 +<U017D> \xB4 |0 +<U017E> \xB8 |0 +<U20AC> \xA4 |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 diff --git a/mcs/class/I18N/West/list.unix b/mcs/class/I18N/West/list.unix new file mode 100755 index 00000000000..892d20df39f --- /dev/null +++ b/mcs/class/I18N/West/list.unix @@ -0,0 +1,15 @@ +CP10000.cs +CP10079.cs +CP1250.cs +CP1252.cs +CP1253.cs +CP28592.cs +CP28593.cs +CP28597.cs +CP28605.cs +CP437.cs +CP850.cs +CP860.cs +CP861.cs +CP863.cs +CP865.cs diff --git a/mcs/class/I18N/West/mac-is.ucm b/mcs/class/I18N/West/mac-is.ucm new file mode 100644 index 00000000000..08d5694066f --- /dev/null +++ b/mcs/class/I18N/West/mac-is.ucm @@ -0,0 +1,290 @@ +#________________________________________________________________________ +# +# (C) COPYRIGHT International Business Machines Corp. 2001 +# All Rights Reserved +# +#________________________________________________________________________ +# +# File created on Thu Apr 05 09:38:46 PDT 2001 +# +# File created by CharConv tool. +# Platform: Linux redhat2 2.2.12-20 #1 Mon Sep 27 10:40:35 EDT 1999 i686 unkglibc- +# +# Table Version : 1.0 +# The 1st column is the Unicode scalar value. +# The 2nd column is the codepage byte sequence. +# The 3rd column is the fallback indicator. +# The fallback indicator can have one of the following values: +# |0 for exact 1-1 roundtrip mapping +# |1 for the best fallback codepage byte sequence. +# |2 for the substitution character +# |3 for the best reverse fallback Unicode scaler value +# +<code_set_name> "MAC_IS" +<mb_cur_max> 1 +<mb_cur_min> 1 +<uconv_class> "SBCS" +<subchar> \x1A +# +CHARMAP +# +# +#UNICODE MAC_IS +#_______ _________ +<U0000> \x00 |0 +<U0001> \x01 |0 +<U0002> \x02 |0 +<U0003> \x03 |0 +<U0004> \x04 |0 +<U0005> \x05 |0 +<U0006> \x06 |0 +<U0007> \x07 |0 +<U0008> \x08 |0 +<U0009> \x09 |0 +<U000A> \x0A |0 +<U000B> \x0B |0 +<U000C> \x0C |0 +<U000D> \x0D |0 +<U000E> \x0E |0 +<U000F> \x0F |0 +<U0010> \x10 |0 +<U0011> \x11 |0 +<U0012> \x12 |0 +<U0013> \x13 |0 +<U0014> \x14 |0 +<U0015> \x15 |0 +<U0016> \x16 |0 +<U0017> \x17 |0 +<U0018> \x18 |0 +<U0019> \x19 |0 +<U001A> \x1A |0 +<U001B> \x1B |0 +<U001C> \x1C |0 +<U001D> \x1D |0 +<U001E> \x1E |0 +<U001F> \x1F |0 +<U0020> \x20 |0 +<U0021> \x21 |0 +<U0022> \x22 |0 +<U0023> \x23 |0 +<U0024> \x24 |0 +<U0025> \x25 |0 +<U0026> \x26 |0 +<U0027> \x27 |0 +<U0028> \x28 |0 +<U0029> \x29 |0 +<U002A> \x2A |0 +<U002B> \x2B |0 +<U002C> \x2C |0 +<U002D> \x2D |0 +<U002E> \x2E |0 +<U002F> \x2F |0 +<U0030> \x30 |0 +<U0031> \x31 |0 +<U0032> \x32 |0 +<U0033> \x33 |0 +<U0034> \x34 |0 +<U0035> \x35 |0 +<U0036> \x36 |0 +<U0037> \x37 |0 +<U0038> \x38 |0 +<U0039> \x39 |0 +<U003A> \x3A |0 +<U003B> \x3B |0 +<U003C> \x3C |0 +<U003D> \x3D |0 +<U003E> \x3E |0 +<U003F> \x3F |0 +<U0040> \x40 |0 +<U0041> \x41 |0 +<U0042> \x42 |0 +<U0043> \x43 |0 +<U0044> \x44 |0 +<U0045> \x45 |0 +<U0046> \x46 |0 +<U0047> \x47 |0 +<U0048> \x48 |0 +<U0049> \x49 |0 +<U004A> \x4A |0 +<U004B> \x4B |0 +<U004C> \x4C |0 +<U004D> \x4D |0 +<U004E> \x4E |0 +<U004F> \x4F |0 +<U0050> \x50 |0 +<U0051> \x51 |0 +<U0052> \x52 |0 +<U0053> \x53 |0 +<U0054> \x54 |0 +<U0055> \x55 |0 +<U0056> \x56 |0 +<U0057> \x57 |0 +<U0058> \x58 |0 +<U0059> \x59 |0 +<U005A> \x5A |0 +<U005B> \x5B |0 +<U005C> \x5C |0 +<U005D> \x5D |0 +<U005E> \x5E |0 +<U005F> \x5F |0 +<U0060> \x60 |0 +<U0061> \x61 |0 +<U0062> \x62 |0 +<U0063> \x63 |0 +<U0064> \x64 |0 +<U0065> \x65 |0 +<U0066> \x66 |0 +<U0067> \x67 |0 +<U0068> \x68 |0 +<U0069> \x69 |0 +<U006A> \x6A |0 +<U006B> \x6B |0 +<U006C> \x6C |0 +<U006D> \x6D |0 +<U006E> \x6E |0 +<U006F> \x6F |0 +<U0070> \x70 |0 +<U0071> \x71 |0 +<U0072> \x72 |0 +<U0073> \x73 |0 +<U0074> \x74 |0 +<U0075> \x75 |0 +<U0076> \x76 |0 +<U0077> \x77 |0 +<U0078> \x78 |0 +<U0079> \x79 |0 +<U007A> \x7A |0 +<U007B> \x7B |0 +<U007C> \x7C |0 +<U007D> \x7D |0 +<U007E> \x7E |0 +<U007F> \x7F |0 +<U00A0> \xCA |0 +<U00A1> \xC1 |0 +<U00A2> \xA2 |0 +<U00A3> \xA3 |0 +<U00A4> \xDB |0 +<U00A5> \xB4 |0 +<U00A7> \xA4 |0 +<U00A8> \xAC |0 +<U00A9> \xA9 |0 +<U00AA> \xBB |0 +<U00AB> \xC7 |0 +<U00AC> \xC2 |0 +<U00AE> \xA8 |0 +<U00AF> \xF8 |0 +<U00B0> \xA1 |0 +<U00B1> \xB1 |0 +<U00B4> \xAB |0 +<U00B5> \xB5 |0 +<U00B6> \xA6 |0 +<U00B7> \xE1 |0 +<U00B8> \xFC |0 +<U00BA> \xBC |0 +<U00BB> \xC8 |0 +<U00BF> \xC0 |0 +<U00C0> \xCB |0 +<U00C1> \xE7 |0 +<U00C2> \xE5 |0 +<U00C3> \xCC |0 +<U00C4> \x80 |0 +<U00C5> \x81 |0 +<U00C6> \xAE |0 +<U00C7> \x82 |0 +<U00C8> \xE9 |0 +<U00C9> \x83 |0 +<U00CA> \xE6 |0 +<U00CB> \xE8 |0 +<U00CC> \xED |0 +<U00CD> \xEA |0 +<U00CE> \xEB |0 +<U00CF> \xEC |0 +<U00D1> \x84 |0 +<U00D2> \xF1 |0 +<U00D3> \xEE |0 +<U00D4> \xEF |0 +<U00D5> \xCD |0 +<U00D6> \x85 |0 +<U00D8> \xAF |0 +<U00D9> \xF4 |0 +<U00DA> \xF2 |0 +<U00DB> \xF3 |0 +<U00DC> \x86 |0 +<U00DE> \xDE |0 +<U00DF> \xA7 |0 +<U00E0> \x88 |0 +<U00E1> \x87 |0 +<U00E2> \x89 |0 +<U00E3> \x8B |0 +<U00E4> \x8A |0 +<U00E5> \x8C |0 +<U00E6> \xBE |0 +<U00E7> \x8D |0 +<U00E8> \x8F |0 +<U00E9> \x8E |0 +<U00EA> \x90 |0 +<U00EB> \x91 |0 +<U00EC> \x93 |0 +<U00ED> \x92 |0 +<U00EE> \x94 |0 +<U00EF> \x95 |0 +<U00F1> \x96 |0 +<U00F2> \x98 |0 +<U00F3> \x97 |0 +<U00F4> \x99 |0 +<U00F5> \x9B |0 +<U00F6> \x9A |0 +<U00F7> \xD6 |0 +<U00F8> \xBF |0 +<U00F9> \x9D |0 +<U00FA> \x9C |0 +<U00FB> \x9E |0 +<U00FC> \x9F |0 +<U00FE> \xDF |0 +<U00FF> \xD8 |0 +<U0110> \xDC |0 +<U0111> \xDD |0 +<U0131> \xF5 |0 +<U0152> \xCE |0 +<U0153> \xCF |0 +<U0178> \xD9 |0 +<U0192> \xC4 |0 +<U02C7> \xFF |0 +<U02D8> \xF9 |0 +<U02D9> \xFA |0 +<U02DA> \xFB |0 +<U02DB> \xFE |0 +<U02DD> \xFD |0 +<U0394> \xC6 |0 +<U03A9> \xBD |0 +<U03C0> \xB9 |0 +<U2013> \xD1 |0 +<U2014> \xD0 |0 +<U2018> \xD4 |0 +<U2019> \xD5 |0 +<U201A> \xE2 |0 +<U201C> \xD2 |0 +<U201D> \xD3 |0 +<U201E> \xE3 |0 +<U2020> \xA0 |0 +<U2021> \xE0 |0 +<U2022> \xA5 |0 +<U2026> \xC9 |0 +<U2030> \xE4 |0 +<U2044> \xDA |0 +<U2122> \xAA |0 +<U2202> \xB6 |0 +<U220F> \xB8 |0 +<U2211> \xB7 |0 +<U221A> \xC3 |0 +<U221E> \xB0 |0 +<U222B> \xBA |0 +<U2248> \xC5 |0 +<U2260> \xAD |0 +<U2264> \xB2 |0 +<U2265> \xB3 |0 +<U25C6> \xD7 |0 +<UE01E> \xF0 |0 +# +END CHARMAP +# diff --git a/mcs/class/I18N/West/makefile.gnu b/mcs/class/I18N/West/makefile.gnu new file mode 100755 index 00000000000..d4d99fc6f9c --- /dev/null +++ b/mcs/class/I18N/West/makefile.gnu @@ -0,0 +1,13 @@ +topdir = ../../.. + +LIBRARY = $(topdir)/class/lib/I18N.West.dll + +LIB_LIST = list.unix +LIB_FLAGS = -r corlib -r mscorlib -r I18N + +SOURCES_INCLUDE=*.cs +SOURCES_EXCLUDE= + +export MONO_PATH_PREFIX = $(topdir)/class/lib: + +include $(topdir)/class/library.make diff --git a/mcs/class/I18N/makefile.gnu b/mcs/class/I18N/makefile.gnu new file mode 100755 index 00000000000..a7876bc24cb --- /dev/null +++ b/mcs/class/I18N/makefile.gnu @@ -0,0 +1,14 @@ +INSTALL = /usr/bin/install +prefix = /usr + +DIRS = Common West MidEast CJK Other Rare + +default: all + +all clean test: + @for i in $(DIRS) ; do \ + if [ -d "$$i" ] && [ -f "$$i/makefile.gnu" ] ; then \ + (cd $$i && $(MAKE) -f makefile.gnu $@) || exit 1; \ + fi \ + done + diff --git a/mcs/class/I18N/mklist.sh b/mcs/class/I18N/mklist.sh new file mode 100755 index 00000000000..a3b462bd283 --- /dev/null +++ b/mcs/class/I18N/mklist.sh @@ -0,0 +1,40 @@ +#! /bin/sh +# +# mklist.sh - Make the I18N handler list file "I18N-handlers.def". +# +# 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 + +# Process the command-line options. +ILFIND="$1" +OUTFILE="$2" +if test "x$ILFIND" = "x" ; then + echo "$0: missing ilfind argument" 1>&2 + exit 1 +fi +if test "x$OUTFILE" = "x" ; then + echo "$0: missing output file argument" 1>&2 + exit 1 +fi +shift +shift + +# Search all region assemblies for interesting classes and +# write them to the specified output file. +exec "${ILFIND}" --public-only --sub-string I18N $* | \ + grep 'class ' | \ + sed -e '1,$s/^.*: class //g' - | \ + sed -e '1,$s/^class //g' - >"${OUTFILE}" diff --git a/mcs/class/I18N/tools/.cvsignore b/mcs/class/I18N/tools/.cvsignore new file mode 100644 index 00000000000..aaa5d839385 --- /dev/null +++ b/mcs/class/I18N/tools/.cvsignore @@ -0,0 +1,2 @@ +ucm2cp +uni2tab diff --git a/mcs/class/I18N/tools/cvt.sh b/mcs/class/I18N/tools/cvt.sh new file mode 100755 index 00000000000..caa71f3d79f --- /dev/null +++ b/mcs/class/I18N/tools/cvt.sh @@ -0,0 +1,547 @@ +#!/bin/sh +# +# This script can be used to regenerate the CPnnnn.cs files +# from the ".ucm" files. The list of unsupported code pages +# is at the end of this file. +# +# 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 + +# Make sure that we are in the correct directory to start. +if test -d ../Rare ; then + cd .. +fi + +#if test "x$1" = "x--include-rare" ; then + RARE="" +#else +# RARE="--rare" +#fi + +# Compile the "ucm2cp" tool. +if gcc -o tools/ucm2cp tools/ucm2cp.c ; then + : +else + exit 1 +fi +UCM2CP=tools/ucm2cp + +${UCM2CP} --region Rare --page 37 --wpage 1252 \ + --name 'IBM EBCDIC (US-Canada)' \ + --webname IBM037 --bodyname IBM037 \ + --headername IBM037 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-37.ucm >Rare/CP37.cs + +${UCM2CP} --region West --page 437 --wpage 1252 \ + --name 'OEM United States' \ + --webname IBM437 --bodyname IBM437 \ + --headername IBM437 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save West/ibm-437.ucm >West/CP437.cs + +${UCM2CP} --region Rare --page 500 --wpage 1252 \ + --name 'IBM EBCDIC (International)' \ + --webname IBM500 --bodyname IBM500 \ + --headername IBM500 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-500.ucm >Rare/CP500.cs + +${UCM2CP} --region Rare --page 708 --wpage 1256 \ + --name 'Arabic (ASMO 708)' \ + --webname asmo-708 --bodyname iso-8859-6 \ + --headername asmo-708 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1089.ucm >Rare/CP708.cs + +${UCM2CP} --region West --page 850 --wpage 1252 \ + --name 'Western European (DOS)' \ + --webname ibm850 --bodyname ibm850 \ + --headername ibm850 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save West/ibm-850.ucm >West/CP850.cs + +${UCM2CP} --region Rare --page 852 --wpage 1250 \ + --name 'Central European (DOS)' \ + --webname ibm852 --bodyname ibm852 \ + --headername ibm852 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-852.ucm >Rare/CP852.cs + +${UCM2CP} --region Rare --page 855 --wpage 1251 \ + --name 'Cyrillic (DOS)' \ + --webname ibm855 --bodyname ibm855 \ + --headername ibm855 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-855.ucm >Rare/CP855.cs + +${UCM2CP} --region Rare --page 857 --wpage 1254 \ + --name 'Turkish (DOS)' \ + --webname ibm857 --bodyname ibm857 \ + --headername ibm857 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-857.ucm >Rare/CP857.cs + +${UCM2CP} --region Rare --page 858 --wpage 1252 \ + --name 'Western European (DOS with Euro)' \ + --webname IBM00858 --bodyname IBM00858 \ + --headername IBM00858 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-858.ucm >Rare/CP858.cs + +${UCM2CP} --region West --page 860 --wpage 1252 \ + --name 'Portuguese (DOS)' \ + --webname ibm860 --bodyname ibm860 \ + --headername ibm860 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save West/ibm-860.ucm >West/CP860.cs + +${UCM2CP} --region West --page 861 --wpage 1252 \ + --name 'Icelandic (DOS)' \ + --webname ibm861 --bodyname ibm861 \ + --headername ibm861 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save West/ibm-861.ucm >West/CP861.cs + +${UCM2CP} --region Rare --page 862 --wpage 1255 \ + --name 'Hebrew (DOS)' \ + --webname ibm862 --bodyname ibm862 \ + --headername ibm861 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-862.ucm >Rare/CP862.cs + +${UCM2CP} --region West --page 863 --wpage 1252 \ + --name 'French Canadian (DOS)' \ + --webname IBM863 --bodyname IBM863 \ + --headername IBM863 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save West/ibm-863.ucm >West/CP863.cs + +${UCM2CP} --region Rare --page 864 --wpage 1256 \ + --name 'Arabic (DOS)' \ + --webname ibm864 --bodyname ibm864 \ + --headername ibm864 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-864.ucm >Rare/CP864.cs + +${UCM2CP} --region West --page 865 --wpage 1252 \ + --name 'Nordic (DOS)' \ + --webname IBM865 --bodyname IBM863 \ + --headername IBM865 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save West/ibm-865.ucm >West/CP865.cs + +${UCM2CP} --region Rare --page 866 --wpage 1251 \ + --name 'Russian (DOS)' \ + --webname ibm866 --bodyname ibm866 \ + --headername ibm866 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-866.ucm >Rare/CP866.cs + +${UCM2CP} --region Rare --page 869 --wpage 1253 \ + --name 'Greek (DOS)' \ + --webname ibm869 --bodyname ibm869 \ + --headername ibm869 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-869.ucm >Rare/CP869.cs + +${UCM2CP} --region Rare --page 870 --wpage 1250 \ + --name 'IBM EBCDIC (Latin 2)' \ + --webname ibm870 --bodyname ibm870 \ + --headername ibm870 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-870.ucm >Rare/CP870.cs + +${UCM2CP} --region Other --page 874 --wpage 874 \ + --name 'Thai (Windows)' \ + --webname windows-874 --bodyname windows-874 \ + --headername windows-874 Other/ibm-874.ucm >Other/CP874.cs + +${UCM2CP} --region Rare --page 875 --wpage 1253 \ + --name 'IBM EBCDIC (Greek)' \ + --webname ibm875 --bodyname ibm875 \ + --headername ibm875 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-875.ucm >Rare/CP875.cs + +${UCM2CP} --region Rare --page 1026 --wpage 1254 \ + --name 'IBM EBCDIC (Turkish)' \ + --webname ibm1026 --bodyname ibm1026 \ + --headername ibm1026 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1026.ucm >Rare/CP1026.cs + +${UCM2CP} --region Rare --page 1047 --wpage 1252 \ + --name 'IBM EBCDIC (Open Systems Latin 1)' \ + --webname ibm1047 --bodyname ibm1047 \ + --headername ibm1047 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1047.ucm >Rare/CP1047.cs + +${UCM2CP} --region Rare --page 1140 --wpage 1252 \ + --name 'IBM EBCDIC (US-Canada with Euro)' \ + --webname IBM01140 --bodyname IBM01140 \ + --headername IBM01140 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1140.ucm >Rare/CP1140.cs + +${UCM2CP} --region Rare --page 1141 --wpage 1252 \ + --name 'IBM EBCDIC (Germany with Euro)' \ + --webname IBM01141 --bodyname IBM01141 \ + --headername IBM01141 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1141.ucm >Rare/CP1141.cs + +${UCM2CP} --region Rare --page 1142 --wpage 1252 \ + --name 'IBM EBCDIC (Denmark/Norway with Euro)' \ + --webname IBM01142 --bodyname IBM01142 \ + --headername IBM01142 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1142.ucm >Rare/CP1142.cs + +${UCM2CP} --region Rare --page 1143 --wpage 1252 \ + --name 'IBM EBCDIC (Finland/Sweden with Euro)' \ + --webname IBM01143 --bodyname IBM01143 \ + --headername IBM01143 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1143.ucm >Rare/CP1143.cs + +${UCM2CP} --region Rare --page 1144 --wpage 1252 \ + --name 'IBM EBCDIC (Italy with Euro)' \ + --webname ibm1144 --bodyname ibm1144 \ + --headername ibm1144 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1144.ucm >Rare/CP1144.cs + +${UCM2CP} --region Rare --page 1145 --wpage 1252 \ + --name 'IBM EBCDIC (Latin America/Spain with Euro)' \ + --webname ibm1145 --bodyname ibm1145 \ + --headername ibm1145 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1145.ucm >Rare/CP1145.cs + +${UCM2CP} --region Rare --page 1146 --wpage 1252 \ + --name 'IBM EBCDIC (United Kingdom with Euro)' \ + --webname ibm1146 --bodyname ibm1146 \ + --headername ibm1146 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1146.ucm >Rare/CP1146.cs + +${UCM2CP} --region Rare --page 1147 --wpage 1252 \ + --name 'IBM EBCDIC (France with Euro)' \ + --webname ibm1147 --bodyname ibm1147 \ + --headername ibm1147 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1147.ucm >Rare/CP1147.cs + +${UCM2CP} --region Rare --page 1148 --wpage 1252 \ + --name 'IBM EBCDIC (International with Euro)' \ + --webname ibm1148 --bodyname ibm1148 \ + --headername ibm1148 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1148.ucm >Rare/CP1148.cs + +${UCM2CP} --region Rare --page 1149 --wpage 1252 \ + --name 'IBM EBCDIC (Icelandic with Euro)' \ + --webname ibm1149 --bodyname ibm1149 \ + --headername ibm1149 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1149.ucm >Rare/CP1149.cs + +${UCM2CP} --region West --page 1250 --wpage 1250 \ + --name 'Central European (Windows)' \ + --webname windows-1250 --bodyname iso-8859-2 \ + --headername windows-1250 West/ibm-5346.ucm >West/CP1250.cs + +${UCM2CP} --region Other --page 1251 --wpage 1251 \ + --name 'Cyrillic (Windows)' \ + --webname windows-1251 --bodyname koi8-r \ + --headername windows-1251 Other/ibm-5347.ucm >Other/CP1251.cs + +${UCM2CP} --region West --page 1252 --wpage 1252 \ + --name 'Western European (Windows)' \ + --webname Windows-1252 --bodyname iso-8859-1 \ + --headername Windows-1252 West/ibm-5348.ucm >West/CP1252.cs + +${UCM2CP} --region West --page 1253 --wpage 1253 \ + --name 'Greek (Windows)' \ + --webname windows-1253 --bodyname iso-8859-7 \ + --headername windows-1253 West/ibm-5349.ucm >West/CP1253.cs + +${UCM2CP} --region MidEast --page 1254 --wpage 1254 \ + --name 'Turkish (Windows)' \ + --webname windows-1254 --bodyname iso-8859-9 \ + --headername windows-1254 MidEast/ibm-5350.ucm >MidEast/CP1254.cs + +${UCM2CP} --region MidEast --page 1255 --wpage 1255 \ + --name 'Hebrew (Windows)' \ + --webname windows-1255 --bodyname windows-1255 \ + --headername windows-1255 MidEast/ibm-5351.ucm >MidEast/CP1255.cs + +${UCM2CP} --region MidEast --page 1256 --wpage 1256 \ + --name 'Arabic (Windows)' \ + --webname windows-1256 --bodyname windows-1256 \ + --headername windows-1256 MidEast/ibm-5352.ucm >MidEast/CP1256.cs + +${UCM2CP} --region Other --page 1257 --wpage 1257 \ + --name 'Baltic (Windows)' \ + --webname windows-1257 --bodyname iso-8859-4 \ + --headername windows-1257 Other/ibm-5353.ucm >Other/CP1257.cs + +${UCM2CP} --region Other --page 1258 --wpage 1258 \ + --name 'Vietnamese (Windows)' \ + --webname windows-1258 --bodyname windows-1258 \ + --headername windows-1258 Other/ibm-5354.ucm >Other/CP1258.cs + +${UCM2CP} --region West --page 10000 --wpage 1252 \ + --name 'Western European (Mac)' \ + --webname macintosh --bodyname macintosh \ + --headername macintosh --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save West/ibm-1275.ucm >West/CP10000.cs + +${UCM2CP} --region West --page 10079 --wpage 1252 \ + --name 'Icelandic (Mac)' \ + --webname x-mac-icelandic --bodyname x-mac-icelandic \ + --headername x-mac-icelandic --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save West/mac-is.ucm >West/CP10079.cs + +${UCM2CP} --region Rare --page 20273 --wpage 1252 \ + --name 'IBM EBCDIC (Germany)' \ + --webname IBM273 --bodyname IBM273 \ + --headername IBM273 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-273.ucm >Rare/CP20273.cs + +${UCM2CP} --region Rare --page 20277 --wpage 1252 \ + --name 'IBM EBCDIC (Denmark/Norway)' \ + --webname IBM277 --bodyname IBM277 \ + --headername IBM277 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-277.ucm >Rare/CP20277.cs + +${UCM2CP} --region Rare --page 20278 --wpage 1252 \ + --name 'IBM EBCDIC (Finland/Sweden)' \ + --webname IBM278 --bodyname IBM278 \ + --headername IBM278 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-278.ucm >Rare/CP20278.cs + +${UCM2CP} --region Rare --page 20280 --wpage 1252 \ + --name 'IBM EBCDIC (Italy)' \ + --webname IBM280 --bodyname IBM280 \ + --headername IBM280 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-280.ucm >Rare/CP20280.cs + +${UCM2CP} --region Rare --page 20284 --wpage 1252 \ + --name 'IBM EBCDIC (Latin America/Spain)' \ + --webname IBM284 --bodyname IBM284 \ + --headername IBM284 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-284.ucm >Rare/CP20284.cs + +${UCM2CP} --region Rare --page 20285 --wpage 1252 \ + --name 'IBM EBCDIC (United Kingdom)' \ + --webname IBM285 --bodyname IBM285 \ + --headername IBM285 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-285.ucm >Rare/CP20285.cs + +${UCM2CP} --region Rare --page 20290 --wpage 932 \ + --name 'IBM EBCDIC (Japanese Katakana Extended)' \ + --webname IBM290 --bodyname IBM290 \ + --headername IBM290 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-290.ucm >Rare/CP20290.cs + +${UCM2CP} --region Rare --page 20297 --wpage 1252 \ + --name 'IBM EBCDIC (France)' \ + --webname IBM297 --bodyname IBM297 \ + --headername IBM297 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-297.ucm >Rare/CP20297.cs + +${UCM2CP} --region Rare --page 20420 --wpage 1256 \ + --name 'IBM EBCDIC (Arabic)' \ + --webname IBM420 --bodyname IBM420 \ + --headername IBM420 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-420.ucm >Rare/CP20420.cs + +${UCM2CP} --region Rare --page 20424 --wpage 1255 \ + --name 'IBM EBCDIC (Hebrew)' \ + --webname IBM424 --bodyname IBM424 \ + --headername IBM424 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-424.ucm >Rare/CP20424.cs + +${UCM2CP} --region Other --page 20866 --wpage 1251 \ + --name 'Cyrillic (KOI8-R)' \ + --webname koi8-r --bodyname koi8-r \ + --headername koi8-r Other/ibm-878.ucm >Other/CP20866.cs + +${UCM2CP} --region Rare --page 20871 --wpage 1252 \ + --name 'IBM EBCDIC (Icelandic)' \ + --webname IBM871 --bodyname IBM871 \ + --headername IBM871 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-871.ucm >Rare/CP20871.cs + +${UCM2CP} --region Rare --page 21025 --wpage 1257 \ + --name 'IBM EBCDIC (Cyrillic - Serbian, Bulgarian)' \ + --webname IBM1025 --bodyname IBM1025 \ + --headername IBM1025 --no-browser-display \ + --no-browser-save --no-mailnews-display \ + --no-mailnews-save Rare/ibm-1025.ucm >Rare/CP21025.cs + +${UCM2CP} --region Other --page 21866 --wpage 1251 \ + --name 'Ukrainian (KOI8-U)' \ + --webname koi8-u --bodyname koi8-u \ + --headername koi8-u Other/koi8-u.ucm >Other/CP21866.cs + +${UCM2CP} --region West --page 28592 --wpage 1250 \ + --name 'Central European (ISO)' \ + --webname iso-8859-2 --bodyname iso-8859-2 \ + --headername iso-8859-2 West/ibm-912.ucm >West/CP28592.cs + +${UCM2CP} --region West --page 28593 --wpage 28593 \ + --name 'Latin 3 (ISO)' \ + --webname iso-8859-3 --bodyname iso-8859-3 \ + --headername iso-8859-3 West/ibm-913.ucm >West/CP28593.cs + +${UCM2CP} --region Other --page 28594 --wpage 1257 \ + --name 'Baltic (ISO)' \ + --webname iso-8859-4 --bodyname iso-8859-4 \ + --headername iso-8859-4 Other/ibm-914.ucm >Other/CP28594.cs + +${UCM2CP} --region Other --page 28595 --wpage 1251 \ + --name 'Cyrillic (ISO)' \ + --webname iso-8859-5 --bodyname iso-8859-5 \ + --headername iso-8859-5 Other/ibm-915.ucm >Other/CP28595.cs + +${UCM2CP} --region MidEast --page 28596 --wpage 1256 \ + --name 'Arabic (ISO)' \ + --webname iso-8859-6 --bodyname iso-8859-6 \ + --headername iso-8859-6 MidEast/ibm-1089.ucm >MidEast/CP28596.cs + +${UCM2CP} --region West --page 28597 --wpage 1253 \ + --name 'Greek (ISO)' \ + --webname iso-8859-7 --bodyname iso-8859-7 \ + --headername iso-8859-7 West/ibm-4909.ucm >West/CP28597.cs + +${UCM2CP} --region MidEast --page 28598 --wpage 1255 \ + --name 'Hebrew (ISO)' \ + --webname iso-8859-8 --bodyname iso-8859-8 \ + --headername iso-8859-8 MidEast/ibm-916.ucm >MidEast/CP28598.cs + +${UCM2CP} --region MidEast --page 28599 --wpage 1254 \ + --name 'Latin 5 (ISO)' \ + --webname iso-8859-9 --bodyname iso-8859-9 \ + --headername iso-8859-9 MidEast/ibm-920.ucm >MidEast/CP28599.cs + +${UCM2CP} --region West --page 28605 --wpage 1252 \ + --name 'Latin 9 (ISO)' \ + --webname iso-8859-15 --bodyname iso-8859-15 \ + --headername iso-8859-15 --no-browser-display \ + West/ibm-923.ucm >West/CP28605.cs + +${UCM2CP} --region MidEast --page 38598 --wpage 1255 \ + --name 'Hebrew (ISO Alternative)' \ + --webname windows-38598 --bodyname iso-8859-8 \ + --headername windows-38598 MidEast/ibm-916.ucm >MidEast/CP38598.cs + +exit 0 + +# Windows code pages that are handled internally by "Encoding": +# +# 1200 Unicode +# 1201 Unicode (Big-Endian) +# 20127 US-ASCII +# 28591 Western European (ISO) +# 65000 Unicode (UTF-7) +# 65001 Unicode (UTF-8) +# +# Other Windows code pages that aren't done yet: +# +# 709 Arabic - ASMO 449+, BCON V4 +# 710 Arabic - Transparent Arabic +# 720 Arabic - Transparent ASMO +# 737 OEM - Greek (formerly 437G) +# 775 OEM - Baltic +# 936 Chinese Simplified (GB2312) +# 949 Korean +# 950 Chinese Traditional (Big5) +# 1361 Korean (Johab) +# 10001 MAC - Japanese +# 10002 MAC - Traditional Chinese (Big5) +# 10003 MAC - Korean +# 10004 MAC - Arabic +# 10005 MAC - Hebrew +# 10006 MAC - Greek I +# 10007 MAC - Cyrillic +# 10008 MAC - Simplified Chinese (GB 2312) +# 10010 MAC - Romania +# 10017 MAC - Ukraine +# 10021 MAC - Thai +# 10029 MAC - Latin II +# 10081 MAC - Turkish +# 10082 MAC - Croatia +# 12000 Unicode UCS-4 Little-Endian +# 12001 Unicode UCS-4 Big-Endian +# 20000 CNS - Taiwan +# 20001 TCA - Taiwan +# 20002 Eten - Taiwan +# 20003 IBM5550 - Taiwan +# 20004 TeleText - Taiwan +# 20005 Wang - Taiwan +# 20105 IA5 IRV International Alphabet No. 5 (7-bit) +# 20106 IA5 German (7-bit) +# 20107 IA5 Swedish (7-bit) +# 20108 IA5 Norwegian (7-bit) +# 20261 T.61 +# 20269 ISO 6937 Non-Spacing Accent +# 20423 IBM EBCDIC - Greek +# 20833 IBM EBCDIC - Korean Extended +# 20838 IBM EBCDIC - Thai +# 20880 IBM EBCDIC - Cyrillic (Russian) +# 20905 IBM EBCDIC - Turkish +# 20924 IBM EBCDIC - Latin-1/Open System (1047 + Euro symbol) +# 20932 JIX X 0208-1990 & 0212-1990 +# 20936 Simplified Chinese (GB2312) +# 21027 Extended Alpha Lowercase +# 21866 Ukrainian (KOI8-U) +# 29001 Europa 3 +# 50220 Japanese (JIS) +# 50221 Japanese (JIS-Allow 1 byte Kana) +# 50222 Japanese (JIS-Allow 1 byte Kana - SO/SI) +# 50225 Korean (ISO) +# 50227 ISO-2022 Simplified Chinese +# 50229 ISO-2022 Traditional Chinese +# 50930 Japanese (Katakana) Extended +# 50931 US/Canada and Japanese +# 50933 Korean Extended and Korean +# 50935 Simplified Chinese Extended and Simplified Chinese +# 50936 Simplified Chinese +# 50937 US/Canada and Traditional Chinese +# 50939 Japanese (Latin) Extended and Japanese +# 51932 Japanese (EUC) +# 51936 Chinese Simplified (EUC) +# 51949 Korean (EUC) +# 51950 Traditional Chinese (EUC) +# 52936 Chinese Simplified (HZ) +# 54936 GB 18030-2000 Simplified Chinese diff --git a/mcs/class/I18N/tools/ucm2cp.c b/mcs/class/I18N/tools/ucm2cp.c new file mode 100644 index 00000000000..fa43452b078 --- /dev/null +++ b/mcs/class/I18N/tools/ucm2cp.c @@ -0,0 +1,599 @@ +/* + * ucm2cp.c - Convert IBM ".ucm" files into code page handling classes. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +/* + +Usage: ucm2cp [options] file + + --region name I18N region name + --page num Code page number + --wpage num Windows code page number (optional) + --name str Human-readable encoding name + --webname str Web name of the encoding + --headername str Header name of the encoding (optional) + --bodyname str Body name of the encoding (optional) + --no-browser-display Set browser display value to false (optional) + --no-browser-save Set browser save value to false (optional) + --no-mailnews-display Set mail/news display value to false (optional) + --no-mailnews-save Set mail/news save value to false (optional) + +*/ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +/* + * Option values. + */ +static char *region = 0; +static int codePage = 0; +static int windowsCodePage = 0; +static char *name = 0; +static char *webName = 0; +static char *headerName = 0; +static char *bodyName = 0; +static int isBrowserDisplay = 1; +static int isBrowserSave = 1; +static int isMailNewsDisplay = 1; +static int isMailNewsSave = 1; +static const char *filename = 0; + +/* + * Forward declarations. + */ +static void usage(char *progname); +static void loadCharMaps(FILE *file); +static void printHeader(void); +static void printFooter(void); +static void printByteToChar(void); +static void printCharToByte(void); + +int main(int argc, char *argv[]) +{ + char *progname = argv[0]; + FILE *file; + int len; + + /* Process the command-line options */ + while(argc > 1 && argv[1][0] == '-') + { + if(!strcmp(argv[1], "--page") && argc > 2) + { + codePage = atoi(argv[2]); + ++argv; + --argc; + } + else if(!strcmp(argv[1], "--wpage") && argc > 2) + { + windowsCodePage = atoi(argv[2]); + ++argv; + --argc; + } + else if(!strcmp(argv[1], "--region") && argc > 2) + { + region = argv[2]; + ++argv; + --argc; + } + else if(!strcmp(argv[1], "--name") && argc > 2) + { + name = argv[2]; + ++argv; + --argc; + } + else if(!strcmp(argv[1], "--webname") && argc > 2) + { + webName = argv[2]; + ++argv; + --argc; + } + else if(!strcmp(argv[1], "--headername") && argc > 2) + { + headerName = argv[2]; + ++argv; + --argc; + } + else if(!strcmp(argv[1], "--bodyname") && argc > 2) + { + bodyName = argv[2]; + ++argv; + --argc; + } + else if(!strcmp(argv[1], "--no-browser-display")) + { + isBrowserDisplay = 0; + } + else if(!strcmp(argv[1], "--no-browser-save")) + { + isBrowserSave = 0; + } + else if(!strcmp(argv[1], "--no-mailnews-display")) + { + isMailNewsDisplay = 0; + } + else if(!strcmp(argv[1], "--no-mailnews-save")) + { + isMailNewsSave = 0; + } + ++argv; + --argc; + } + + /* Make sure that we have sufficient options */ + if(!region || !codePage || !name || !webName || argc != 2) + { + usage(progname); + return 1; + } + + /* Set defaults for unspecified options */ + if(!headerName) + { + headerName = webName; + } + if(!bodyName) + { + bodyName = webName; + } + if(!windowsCodePage) + { + windowsCodePage = codePage; + } + + /* Open the UCM file */ + file = fopen(argv[1], "r"); + if(!file) + { + perror(argv[1]); + return 1; + } + filename = argv[1]; + len = strlen(filename); + while(len > 0 && filename[len - 1] != '/' && filename[len - 1] != '\\') + { + --len; + } + filename += len; + + /* Load the character maps from the input file */ + loadCharMaps(file); + + /* Print the output header */ + printHeader(); + + /* Print the byte->char conversion table */ + printByteToChar(); + + /* Output the char->byte conversion methods */ + printCharToByte(); + + /* Print the output footer */ + printFooter(); + + /* Clean up and exit */ + fclose(file); + return 0; +} + +static void usage(char *progname) +{ + fprintf(stderr, "Usage: %s [options] file\n\n", progname); + fprintf(stderr, " --region name I18N region name\n"); + fprintf(stderr, " --page num Code page number\n"); + fprintf(stderr, " --wpage num Windows code page number (optional)\n"); + fprintf(stderr, " --name str Human-readable encoding name\n"); + fprintf(stderr, " --webname str Web name of the encoding\n"); + fprintf(stderr, " --headername str Header name of the encoding (optional)\n"); + fprintf(stderr, " --bodyname str Body name of the encoding (optional)\n"); + fprintf(stderr, " --no-browser-display Set browser display value to false (optional)\n"); + fprintf(stderr, " --no-browser-save Set browser save value to false (optional)\n"); + fprintf(stderr, " --no-mailnews-display Set mail/news display value to false (optional)\n"); + fprintf(stderr, " --no-mailnews-save Set mail/news save value to false (optional)\n"); +} + +/* + * Map bytes to characters. The level value is used to determine + * which char mapping is the most likely if there is more than one. + */ +static unsigned byteToChar[256]; +static int byteToCharLevel[256]; + +/* + * Map characters to bytes. + */ +static int charToByte[65536]; + +/* + * Parse a hexadecimal value. Returns the length + * of the value that was parsed. + */ +static int parseHex(const char *buf, unsigned long *value) +{ + int len = 0; + char ch; + *value = 0; + while((ch = buf[len]) != '\0') + { + if(ch >= '0' && ch <= '9') + { + *value = *value * 16 + (unsigned long)(ch - '0'); + } + else if(ch >= 'A' && ch <= 'F') + { + *value = *value * 16 + (unsigned long)(ch - 'A' + 10); + } + else if(ch >= 'a' && ch <= 'f') + { + *value = *value * 16 + (unsigned long)(ch - 'a' + 10); + } + else + { + break; + } + ++len; + } + return len; +} + +/* + * Load the character mapping information from a UCM file. + */ +static void loadCharMaps(FILE *file) +{ + unsigned long posn; + unsigned long byteValue; + int level; + char buffer[BUFSIZ]; + const char *buf; + + /* Initialize the mapping tables */ + for(posn = 0; posn < 256; ++posn) + { + byteToChar[posn] = (unsigned)'?'; + byteToCharLevel[posn] = 100; + } + for(posn = 0; posn < 65536; ++posn) + { + charToByte[posn] = -1; + } + + /* Read the contents of the file */ + while(fgets(buffer, BUFSIZ, file)) + { + /* Lines of interest begin with "<U" */ + if(buffer[0] != '<' || buffer[1] != 'U') + { + continue; + } + + /* Parse the fields on the line */ + buf = buffer + 2; + buf += parseHex(buf, &posn); + if(posn >= 65536) + { + continue; + } + while(*buf != '\0' && *buf != '\\') + { + ++buf; + } + if(*buf != '\\' || buf[1] != 'x') + { + continue; + } + buf += 2; + buf += parseHex(buf, &byteValue); + if(byteValue >= 256) + { + continue; + } + while(*buf != '\0' && *buf != '|') + { + ++buf; + } + if(*buf != '|') + { + continue; + } + level = (int)(buf[1] - '0'); + + /* Update the byte->char mapping table */ + if(level < byteToCharLevel[byteValue]) + { + byteToCharLevel[byteValue] = level; + byteToChar[byteValue] = (unsigned)posn; + } + + /* Update the char->byte mapping table */ + charToByte[posn] = (int)byteValue; + } +} + +#define COPYRIGHT_MSG \ +" *\n" \ +" * Copyright (c) 2002 Southern Storm Software, Pty Ltd\n" \ +" *\n" \ +" * Permission is hereby granted, free of charge, to any person obtaining\n" \ +" * a copy of this software and associated documentation files (the \"Software\"),\n" \ +" * to deal in the Software without restriction, including without limitation\n" \ +" * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n" \ +" * and/or sell copies of the Software, and to permit persons to whom the\n" \ +" * Software is furnished to do so, subject to the following conditions:\n" \ +" *\n" \ +" * The above copyright notice and this permission notice shall be included\n" \ +" * in all copies or substantial portions of the Software.\n" \ +" *\n" \ +" * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n" \ +" * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n" \ +" * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n" \ +" * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR\n" \ +" * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\n" \ +" * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n" \ +" * OTHER DEALINGS IN THE SOFTWARE.\n" \ +" */\n\n" + +/* + * Print the header for the current code page definition. + */ +static void printHeader(void) +{ + printf("/*\n * CP%d.cs - %s code page.\n", codePage, name); + fputs(COPYRIGHT_MSG, stdout); + printf("// Generated from \"%s\".\n\n", filename); + printf("namespace I18N.%s\n{\n\n", region); + printf("using System;\n"); + printf("using I18N.Common;\n\n"); + printf("public class CP%d : ByteEncoding\n{\n", codePage); + printf("\tpublic CP%d()\n", codePage); + printf("\t\t: base(%d, ToChars, \"%s\",\n", codePage, name); + printf("\t\t \"%s\", \"%s\", \"%s\",\n", + bodyName, headerName, webName); + printf("\t\t %s, %s, %s, %s, %d)\n", + (isBrowserDisplay ? "true" : "false"), + (isBrowserSave ? "true" : "false"), + (isMailNewsDisplay ? "true" : "false"), + (isMailNewsSave ? "true" : "false"), + windowsCodePage); + printf("\t{}\n\n"); +} + +/* + * Print an encoding name, adjusted to look like a type name. + */ +static void printEncodingName(const char *name) +{ + while(*name != '\0') + { + if(*name >= 'A' && *name <= 'Z') + { + putc(*name - 'A' + 'a', stdout); + } + else if(*name == '-') + { + putc('_', stdout); + } + else + { + putc(*name, stdout); + } + ++name; + } +} + +/* + * Print the footer for the current code page definition. + */ +static void printFooter(void) +{ + printf("}; // class CP%d\n\n", codePage); + printf("public class ENC"); + printEncodingName(webName); + printf(" : CP%d\n{\n", codePage); + printf("\tpublic ENC"); + printEncodingName(webName); + printf("() : base() {}\n\n"); + printf("}; // class ENC"); + printEncodingName(webName); + printf("\n\n}; // namespace I18N.%s\n", region); +} + +/* + * Print the byte->char conversion table. + */ +static void printByteToChar(void) +{ + int posn; + printf("\tprivate static readonly char[] ToChars = {"); + for(posn = 0; posn < 256; ++posn) + { + if((posn % 6) == 0) + { + printf("\n\t\t"); + } + printf("'\\u%04X', ", byteToChar[posn]); + } + printf("\n\t};\n\n"); +} + +/* + * Print a "switch" statement that converts "ch" from + * a character value into a byte value. + */ +static void printConvertSwitch(void) +{ + unsigned long directLimit; + unsigned long posn; + unsigned long posn2; + unsigned long rangeSize; + int haveDirect; + int haveFullWidth; + + /* Find the limit of direct byte mappings */ + directLimit = 0; + while(directLimit < 256 && charToByte[directLimit] == (int)directLimit) + { + ++directLimit; + } + + /* Determine if we have the full-width Latin1 mappings, which + we can optimise in the default case of the switch */ + haveFullWidth = 1; + for(posn = 0xFF01; posn <= 0xFF5E; ++posn) + { + if((charToByte[posn] - 0x21) != (int)(posn - 0xFF01)) + { + haveFullWidth = 0; + } + } + + /* Print the switch header. The "if" is an optimisation + to ignore the common case of direct ASCII mappings */ + printf("\t\t\tif(ch >= %lu) switch(ch)\n", directLimit); + printf("\t\t\t{\n"); + + /* Handle all direct byte mappings above the direct limit */ + haveDirect = 0; + for(posn = directLimit; posn < 256; ++posn) + { + if(charToByte[posn] == (int)posn) + { + haveDirect = 1; + printf("\t\t\t\tcase 0x%04lX:\n", posn); + } + } + if(haveDirect) + { + printf("\t\t\t\t\tbreak;\n"); + } + + /* Handle the indirect mappings */ + for(posn = 0; posn < 65536; ++posn) + { + if(haveFullWidth && posn >= 0xFF01 && posn <= 0xFF5E) + { + /* Handle full-width Latin1 conversions later */ + continue; + } + if(charToByte[posn] != (int)posn && + charToByte[posn] != -1) + { + /* See if we have a run of 4 or more characters that + can be mapped algorithmically to some other range */ + rangeSize = 1; + for(posn2 = posn + 1; posn2 < 65536; ++posn2) + { + if(charToByte[posn2] == (int)posn2 || + charToByte[posn2] == -1) + { + break; + } + if((charToByte[posn2] - charToByte[posn]) != + (int)(posn2 - posn)) + { + break; + } + ++rangeSize; + } + if(rangeSize >= 4) + { + /* Output a range mapping for the characters */ + for(posn2 = posn; posn2 < (posn + rangeSize); ++posn2) + { + printf("\t\t\t\tcase 0x%04lX:\n", posn2); + } + posn += rangeSize - 1; + if(((long)posn) >= (long)(charToByte[posn])) + { + printf("\t\t\t\t\tch -= 0x%04lX;\n", + (long)(posn - charToByte[posn])); + } + else + { + printf("\t\t\t\t\tch += 0x%04lX;\n", + (long)(charToByte[posn] - posn)); + } + printf("\t\t\t\t\tbreak;\n"); + } + else + { + /* Use a simple non-algorithmic mapping */ + printf("\t\t\t\tcase 0x%04lX: ch = 0x%02X; break;\n", + posn, (unsigned)(charToByte[posn])); + } + } + } + + /* Print the switch footer */ + if(!haveFullWidth) + { + printf("\t\t\t\tdefault: ch = 0x3F; break;\n"); + } + else + { + printf("\t\t\t\tdefault:\n"); + printf("\t\t\t\t{\n"); + printf("\t\t\t\t\tif(ch >= 0xFF01 && ch <= 0xFF5E)\n"); + printf("\t\t\t\t\t\tch -= 0xFEE0;\n"); + printf("\t\t\t\t\telse\n"); + printf("\t\t\t\t\t\tch = 0x3F;\n"); + printf("\t\t\t\t}\n"); + printf("\t\t\t\tbreak;\n"); + } + printf("\t\t\t}\n"); +} + +/* + * Print the char->byte conversion methods. + */ +static void printCharToByte(void) +{ + /* Print the conversion method for character buffers */ + printf("\tprotected override void ToBytes(char[] chars, int charIndex, int charCount,\n"); + printf("\t byte[] bytes, int byteIndex)\n"); + printf("\t{\n"); + printf("\t\tint ch;\n"); + printf("\t\twhile(charCount > 0)\n"); + printf("\t\t{\n"); + printf("\t\t\tch = (int)(chars[charIndex++]);\n"); + printConvertSwitch(); + printf("\t\t\tbytes[byteIndex++] = (byte)ch;\n"); + printf("\t\t\t--charCount;\n"); + printf("\t\t}\n"); + printf("\t}\n\n"); + + /* Print the conversion method for string buffers */ + printf("\tprotected override void ToBytes(String s, int charIndex, int charCount,\n"); + printf("\t byte[] bytes, int byteIndex)\n"); + printf("\t{\n"); + printf("\t\tint ch;\n"); + printf("\t\twhile(charCount > 0)\n"); + printf("\t\t{\n"); + printf("\t\t\tch = (int)(s[charIndex++]);\n"); + printConvertSwitch(); + printf("\t\t\tbytes[byteIndex++] = (byte)ch;\n"); + printf("\t\t\t--charCount;\n"); + printf("\t\t}\n"); + printf("\t}\n\n"); +} diff --git a/mcs/class/I18N/tools/uni2tab.c b/mcs/class/I18N/tools/uni2tab.c new file mode 100644 index 00000000000..5a6e1134b19 --- /dev/null +++ b/mcs/class/I18N/tools/uni2tab.c @@ -0,0 +1,411 @@ +/* + * uni2tab.c - Convert Unicode data files into CJK conversion tables. + * + * Copyright (c) 2002 Southern Storm Software, Pty Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +/* + +Usage: uni2tab + +Required files from ftp.unicode.org: Unihan.txt, shiftjis.txt + +*/ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +/* + * Forward declarations. + */ +static void convertLine(char *buf); +static void convertSJISLine(char *buf); +static int createTables(void); + +int main(int argc, char *argv[]) +{ + FILE *file; + char buffer[BUFSIZ]; + int error; + + /* Load the relevant contents from the Unihan.txt file */ + if((file = fopen("Unihan.txt", "r")) == NULL) + { + perror("Unihan.txt"); + return 1; + } + while(fgets(buffer, sizeof(buffer), file)) + { + if(buffer[0] == 'U' && buffer[1] == '+') + { + convertLine(buffer + 2); + } + } + fclose(file); + + /* Load the relevant contents from the shiftjis.txt file, + to get mappings for non-CJK characters */ + if((file = fopen("shiftjis.txt", "r")) == NULL) + { + perror("shiftjis.txt"); + return 1; + } + while(fgets(buffer, sizeof(buffer), file)) + { + if(buffer[0] == '0' && buffer[1] == 'x') + { + convertSJISLine(buffer + 2); + } + } + fclose(file); + + /* Create the output tables */ + error = createTables(); + + /* Clean up and exit */ + return error; +} + +/* + * Parse a hexadecimal value. Returns the length + * of the value that was parsed. + */ +static int parseHex(const char *buf, unsigned long *value) +{ + int len = 0; + char ch; + *value = 0; + while((ch = buf[len]) != '\0') + { + if(ch >= '0' && ch <= '9') + { + *value = *value * 16 + (unsigned long)(ch - '0'); + } + else if(ch >= 'A' && ch <= 'F') + { + *value = *value * 16 + (unsigned long)(ch - 'A' + 10); + } + else if(ch >= 'a' && ch <= 'f') + { + *value = *value * 16 + (unsigned long)(ch - 'a' + 10); + } + else + { + break; + } + ++len; + } + return len; +} + +/* + * Parse "ku" and "ten" values from a buffer. + */ +static void parseKuTen(const char *buf, int *ku, int *ten) +{ + int value = 0; + while(*buf >= '0' && *buf <= '9') + { + value = value * 10 + (*buf++ - '0'); + } + *ku = value / 100; + *ten = value % 100; +} + +/* + * Tables. + */ +static unsigned short jisx0208ToUnicode[94*94]; +static unsigned short jisx0212ToUnicode[94*94]; +static unsigned short unicodeToJis[65536]; +static unsigned short greekToJis[0x451 - 0x0391 + 1]; +static unsigned short extraToJis[0xFFEF - 0xFF01 + 1]; +static unsigned long lowJis = 0xFFFF; +static unsigned long highJis = 0x0000; + +/* + * Process a JIS X 0208 sequence by ku and ten values. + */ +static void processJis0208(unsigned long code, int ku, int ten) +{ + int offset = (ku - 1) * 94 + (ten - 1); + jisx0208ToUnicode[offset] = (unsigned short)code; + unicodeToJis[code] = (unsigned short)(offset + 0x0100); + if(code < lowJis) + { + lowJis = code; + } + if(code > highJis) + { + highJis = code; + } +} + +/* + * Process a JIS X 0212 sequence by ku and ten values. + */ +static void processJis0212(unsigned long code, int ku, int ten) +{ + int offset = (ku - 1) * 94 + (ten - 1); + jisx0212ToUnicode[offset] = (unsigned short)code; + unicodeToJis[code] = (unsigned short)(offset + 0x8000); + if(code < lowJis) + { + lowJis = code; + } + if(code > highJis) + { + highJis = code; + } +} + +/* + * Convert an input line into table entries. + */ +static void convertLine(char *buf) +{ + unsigned long code; + const char *key; + int ku, ten; + + /* Parse the hex name of the Unicode character */ + buf += parseHex(buf, &code); + if(code >= 0x10000) + { + /* Cannot handle surrogate-based CJK characters yet */ + return; + } + + /* Skip to the key name */ + while(*buf != '\0' && *buf != 'k') + { + ++buf; + } + if(*buf == '\0') + { + return; + } + + /* Extract the key name from the buffer */ + key = buf; + while(*buf != '\0' && *buf != ' ' && *buf != '\t') + { + ++buf; + } + if(*buf == '\0') + { + return; + } + *buf++ = '\0'; + + /* Skip to the value field */ + while(*buf != '\0' && (*buf == ' ' || *buf == '\t' || + *buf == '\r' || *buf == '\n')) + { + ++buf; + } + if(*buf == '\0') + { + return; + } + + /* Determine what to do based on the key */ + if(!strcmp(key, "kJis0")) + { + parseKuTen(buf, &ku, &ten); + processJis0208(code, ku, ten); + } + else if(!strcmp(key, "kJis1")) + { + parseKuTen(buf, &ku, &ten); + processJis0212(code, ku, ten); + } +} + +/* + * Convert a line from the "shiftjis.txt" file. + */ +static void convertSJISLine(char *buf) +{ + unsigned long sjis; + unsigned long code; + int ch1, ch2; + int offset; + + /* Read the Shift-JIS code point */ + buf += parseHex(buf, &sjis); + if(sjis < 0x8000) + { + return; + } + while(*buf != '\0' && (*buf == ' ' || *buf == '\t' || + *buf == '\r' || *buf == '\n')) + { + ++buf; + } + if(*buf != '0' || buf[1] != 'x') + { + return; + } + buf += 2; + + /* Read the Unicode code point */ + buf += parseHex(buf, &code); + + /* Convert the Shift-JIS code point into a JIS kuten value */ + ch1 = (int)(sjis >> 8); + ch2 = (int)(sjis & 0xFF); + if(ch1 >= 0x81 && ch1 <= 0x9F) + { + offset = (ch1 - 0x81) * 0xBC; + } + else if(ch1 >= 0xE0 && ch1 <= 0xEF) + { + offset = (ch1 - 0xE0 + (0xA0 - 0x81)) * 0xBC; + } + else + { + /* Invalid first byte */ + return; + } + if(ch2 >= 0x40 && ch2 <= 0x7E) + { + offset += (ch2 - 0x40); + } + else if(ch2 >= 0x80 && ch2 <= 0xFC) + { + offset += (ch2 - 0x80 + 0x3F); + } + else + { + /* Invalid second byte */ + return; + } + + /* Process the kuten value */ + if(code >= 0x0391 && code <= 0x0451) + { + /* Greek subset */ + greekToJis[code - 0x0391] = (unsigned short)(offset + 0x0100); + } + else if(code >= 0xFF01 && code <= 0xFFEF) + { + /* Extra subset */ + extraToJis[code - 0xFF01] = (unsigned short)(offset + 0x0100); + } + else if(code >= 0x0100 && code < 0x4E00) + { + /* Non-CJK characters within JIS */ + processJis0208(code, (offset / 94) + 1, (offset % 94) + 1); + } +} + +/* + * Write a section header. + */ +static void writeSection(FILE *file, unsigned long num, unsigned long size) +{ + putc((int)(num & 0xFF), file); + putc((int)((num >> 8) & 0xFF), file); + putc((int)((num >> 16) & 0xFF), file); + putc((int)((num >> 24) & 0xFF), file); + putc((int)(size & 0xFF), file); + putc((int)((size >> 8) & 0xFF), file); + putc((int)((size >> 16) & 0xFF), file); + putc((int)((size >> 24) & 0xFF), file); +} + +/* + * Write an array of 16-bit data values. + */ +static void writeData(FILE *file, unsigned short *data, unsigned long size) +{ + while(size > 0) + { + putc((int)(*data & 0xFF), file); + putc((int)((*data >> 8) & 0xFF), file); + ++data; + --size; + } +} + +/* + * Section numbers for the JIS table. + */ +#define JISX0208_To_Unicode 1 +#define JISX0212_To_Unicode 2 +#define CJK_To_JIS 3 +#define Greek_To_JIS 4 +#define Extra_To_JIS 5 + +/* + * Write the JIS table file. + */ +static void writeJis(FILE *file) +{ + unsigned long size; + + /* Write the JIS X 0208 to Unicode conversion table */ + writeSection(file, JISX0208_To_Unicode, 94 * 94 * 2); + writeData(file, jisx0208ToUnicode, 94 * 94); + + /* Write the JIS X 0212 to Unicode conversion table */ + writeSection(file, JISX0212_To_Unicode, 94 * 94 * 2); + writeData(file, jisx0212ToUnicode, 94 * 94); + + /* Write the Unicode to JIS conversion table */ + size = highJis - lowJis + 1; + writeSection(file, CJK_To_JIS, size * 2); + writeData(file, unicodeToJis + lowJis, size); + printf("JIS: U+%04lX to U+%04lX\n", lowJis, highJis); + + /* Write the Greek to JIS conversion table */ + writeSection(file, Greek_To_JIS, sizeof(greekToJis)); + writeData(file, greekToJis, sizeof(greekToJis) / 2); + + /* Write the Extra to JIS conversion table */ + writeSection(file, Extra_To_JIS, sizeof(extraToJis)); + writeData(file, extraToJis, sizeof(extraToJis) / 2); +} + +/* + * Create all of the tables that we need based on the Unihan.txt file. + */ +static int createTables(void) +{ + FILE *file; + + /* Create the JIS conversion table */ + if((file = fopen("jis.table", "wb")) == NULL) + { + if((file = fopen("jis.table", "wb")) == NULL) + { + perror("jis.table"); + return 1; + } + } + writeJis(file); + fclose(file); + + /* Done */ + return 0; +} |