[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnetlib/I18N/MidEast CP10004.cs, NONE, 1.1 CP
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnetlib/I18N/MidEast CP10004.cs, NONE, 1.1 CP10005.cs, NONE, 1.1 CP10081.cs, NONE, 1.1 mac-10004.ucm, NONE, 1.1 mac-10005.ucm, NONE, 1.1 mac-10081.ucm, NONE, 1.1 |
Date: |
Fri, 15 Aug 2003 00:38:48 -0400 |
Update of /cvsroot/dotgnu-pnet/pnetlib/I18N/MidEast
In directory subversions:/tmp/cvs-serv31592/I18N/MidEast
Added Files:
CP10004.cs CP10005.cs CP10081.cs mac-10004.ucm mac-10005.ucm
mac-10081.ucm
Log Message:
Add some Mac-related code pages to I18N.
--- NEW FILE ---
/*
* CP10004.cs - MAC - Arabic code page.
*
* Copyright (c) 2002 Southern Storm Software, Pty Ltd
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// Generated from "mac-10004.ucm".
namespace I18N.MidEast
{
using System;
using I18N.Common;
public class CP10004 : ByteEncoding
{
public CP10004()
: base(10004, ToChars, "MAC - Arabic",
"windows-10004", "windows-10004", "windows-10004",
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', '\u00C4', '\u00A0', '\u00C7', '\u00C9',
'\u00D1', '\u00D6', '\u00DC', '\u00E1', '\u00E0', '\u00E2',
'\u00E4', '\u06BA', '\u00AB', '\u00E7', '\u00E9', '\u00E8',
'\u00EA', '\u00EB', '\u00ED', '\u2026', '\u00EE', '\u00EF',
'\u00F1', '\u00F3', '\u00BB', '\u00F4', '\u00F6', '\u00F7',
'\u00FA', '\u00F9', '\u00FB', '\u00FC', '\u0020', '\u0021',
'\u0022', '\u0023', '\u0024', '\u066A', '\u0026', '\u0027',
'\u0028', '\u0029', '\u002A', '\u002B', '\u060C', '\u002D',
'\u002E', '\u002F', '\u0660', '\u0661', '\u0662', '\u0663',
'\u0664', '\u0665', '\u0666', '\u0667', '\u0668', '\u0669',
'\u003A', '\u061B', '\u003C', '\u003D', '\u003E', '\u061F',
'\u274A', '\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', '\u005B', '\u005C', '\u005D',
'\u005E', '\u005F', '\u0640', '\u0641', '\u0642', '\u0643',
'\u0644', '\u0645', '\u0646', '\u0647', '\u0648', '\u0649',
'\u064A', '\u064B', '\u064C', '\u064D', '\u064E', '\u064F',
'\u0650', '\u0651', '\u0652', '\u067E', '\u0679', '\u0686',
'\u06D5', '\u06A4', '\u06AF', '\u0688', '\u0691', '\u007B',
'\u007C', '\u007D', '\u0698', '\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 >= 0) switch(ch)
{
case 0x0025:
case 0x002C:
case 0x0030:
case 0x0031:
case 0x0032:
case 0x0033:
case 0x0034:
case 0x0035:
case 0x0036:
case 0x0037:
case 0x0038:
case 0x0039:
case 0x003B:
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 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 0x007E:
break;
case 0x0020:
case 0x0021:
case 0x0022:
case 0x0023:
case 0x0024:
ch += 0x0080;
break;
case 0x0026:
case 0x0027:
case 0x0028:
case 0x0029:
case 0x002A:
case 0x002B:
ch += 0x0080;
break;
case 0x002D: ch = 0xAD; break;
case 0x002E: ch = 0xAE; break;
case 0x002F: ch = 0xAF; break;
case 0x003A: ch = 0xBA; break;
case 0x003C: ch = 0xBC; break;
case 0x003D: ch = 0xBD; break;
case 0x003E: ch = 0xBE; break;
case 0x005B:
case 0x005C:
case 0x005D:
case 0x005E:
case 0x005F:
ch += 0x0080;
break;
case 0x007B: ch = 0xFB; break;
case 0x007C: ch = 0xFC; break;
case 0x007D: ch = 0xFD; break;
case 0x00A0: ch = 0x81; break;
case 0x00AB: ch = 0x8C; break;
case 0x00BB: ch = 0x98; break;
case 0x00C4: ch = 0x80; break;
case 0x00C7: ch = 0x82; break;
case 0x00C9: ch = 0x83; break;
case 0x00D1: ch = 0x84; break;
case 0x00D6: ch = 0x85; break;
case 0x00DC: ch = 0x86; break;
case 0x00E0: ch = 0x88; break;
case 0x00E1: ch = 0x87; break;
case 0x00E2: ch = 0x89; break;
case 0x00E4: ch = 0x8A; 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 0x00ED: ch = 0x92; break;
case 0x00EE: ch = 0x94; break;
case 0x00EF: ch = 0x95; break;
case 0x00F1: ch = 0x96; break;
case 0x00F3: ch = 0x97; break;
case 0x00F4: ch = 0x99; break;
case 0x00F6: ch = 0x9A; break;
case 0x00F7: ch = 0x9B; break;
case 0x00F9: ch = 0x9D; break;
case 0x00FA: ch = 0x9C; break;
case 0x00FB: ch = 0x9E; break;
case 0x00FC: ch = 0x9F; 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 -= 0x05B0;
break;
case 0x066A: ch = 0xA5; break;
case 0x0679: ch = 0xF4; break;
case 0x067E: ch = 0xF3; break;
case 0x0686: ch = 0xF5; break;
case 0x0688: ch = 0xF9; break;
case 0x0691: ch = 0xFA; break;
case 0x0698: ch = 0xFE; break;
case 0x06A4: ch = 0xF7; break;
case 0x06AF: ch = 0xF8; break;
case 0x06BA: ch = 0x8B; break;
case 0x06D2: ch = 0xFF; break;
case 0x06D5: ch = 0xF6; break;
case 0x2026: ch = 0x93; break;
case 0x274A: ch = 0xC0; 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 >= 0) switch(ch)
{
case 0x0025:
case 0x002C:
case 0x0030:
case 0x0031:
case 0x0032:
case 0x0033:
case 0x0034:
case 0x0035:
case 0x0036:
case 0x0037:
case 0x0038:
case 0x0039:
case 0x003B:
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 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 0x007E:
break;
case 0x0020:
case 0x0021:
case 0x0022:
case 0x0023:
case 0x0024:
ch += 0x0080;
break;
case 0x0026:
case 0x0027:
case 0x0028:
case 0x0029:
case 0x002A:
case 0x002B:
ch += 0x0080;
break;
case 0x002D: ch = 0xAD; break;
case 0x002E: ch = 0xAE; break;
case 0x002F: ch = 0xAF; break;
case 0x003A: ch = 0xBA; break;
case 0x003C: ch = 0xBC; break;
case 0x003D: ch = 0xBD; break;
case 0x003E: ch = 0xBE; break;
case 0x005B:
case 0x005C:
case 0x005D:
case 0x005E:
case 0x005F:
ch += 0x0080;
break;
case 0x007B: ch = 0xFB; break;
case 0x007C: ch = 0xFC; break;
case 0x007D: ch = 0xFD; break;
case 0x00A0: ch = 0x81; break;
case 0x00AB: ch = 0x8C; break;
case 0x00BB: ch = 0x98; break;
case 0x00C4: ch = 0x80; break;
case 0x00C7: ch = 0x82; break;
case 0x00C9: ch = 0x83; break;
case 0x00D1: ch = 0x84; break;
case 0x00D6: ch = 0x85; break;
case 0x00DC: ch = 0x86; break;
case 0x00E0: ch = 0x88; break;
case 0x00E1: ch = 0x87; break;
case 0x00E2: ch = 0x89; break;
case 0x00E4: ch = 0x8A; 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 0x00ED: ch = 0x92; break;
case 0x00EE: ch = 0x94; break;
case 0x00EF: ch = 0x95; break;
case 0x00F1: ch = 0x96; break;
case 0x00F3: ch = 0x97; break;
case 0x00F4: ch = 0x99; break;
case 0x00F6: ch = 0x9A; break;
case 0x00F7: ch = 0x9B; break;
case 0x00F9: ch = 0x9D; break;
case 0x00FA: ch = 0x9C; break;
case 0x00FB: ch = 0x9E; break;
case 0x00FC: ch = 0x9F; 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 -= 0x05B0;
break;
case 0x066A: ch = 0xA5; break;
case 0x0679: ch = 0xF4; break;
case 0x067E: ch = 0xF3; break;
case 0x0686: ch = 0xF5; break;
case 0x0688: ch = 0xF9; break;
case 0x0691: ch = 0xFA; break;
case 0x0698: ch = 0xFE; break;
case 0x06A4: ch = 0xF7; break;
case 0x06AF: ch = 0xF8; break;
case 0x06BA: ch = 0x8B; break;
case 0x06D2: ch = 0xFF; break;
case 0x06D5: ch = 0xF6; break;
case 0x2026: ch = 0x93; break;
case 0x274A: ch = 0xC0; break;
default: ch = 0x3F; break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
}; // class CP10004
public class ENCwindows_10004 : CP10004
{
public ENCwindows_10004() : base() {}
}; // class ENCwindows_10004
}; // namespace I18N.MidEast
--- NEW FILE ---
/*
* CP10005.cs - MAC - Hebrew code page.
*
* Copyright (c) 2002 Southern Storm Software, Pty Ltd
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// Generated from "mac-10005.ucm".
namespace I18N.MidEast
{
using System;
using I18N.Common;
public class CP10005 : ByteEncoding
{
public CP10005()
: base(10005, ToChars, "MAC - Hebrew",
"windows-10005", "windows-10005", "windows-10005",
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', '\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', '\u05F2', '\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', '\u0020', '\u0021',
'\u0022', '\u0023', '\u0024', '\u0025', '\u20AA', '\u0027',
'\u0029', '\u0028', '\u002A', '\u002B', '\u002C', '\u002D',
'\u002E', '\u002F', '\u0030', '\u0031', '\u0032', '\u0033',
'\u0034', '\u0035', '\u0036', '\u0037', '\u0038', '\u0039',
'\u003A', '\u003B', '\u003C', '\u003D', '\u003E', '\u003F',
'\uF86A', '\u201E', '\uF89B', '\uF89C', '\uF89D', '\uF89E',
'\u05BC', '\uFB4B', '\uFB35', '\u2026', '\u00A0', '\u05B8',
'\u05B7', '\u05B5', '\u05B6', '\u05B4', '\u2013', '\u2014',
'\u201C', '\u201D', '\u2018', '\u2019', '\uFB2A', '\uFB2B',
'\u05BF', '\u05B0', '\u05B2', '\u05B1', '\u05BB', '\u05B9',
'\u05B8', '\u05B3', '\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', '\u007D',
'\u005D', '\u007B', '\u005B', '\u007C',
};
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 >= 0) switch(ch)
{
case 0x0026:
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 0x005C:
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 0x007E:
break;
case 0x0020:
case 0x0021:
case 0x0022:
case 0x0023:
case 0x0024:
case 0x0025:
ch += 0x0080;
break;
case 0x0027: ch = 0xA7; break;
case 0x0028: ch = 0xA9; break;
case 0x0029: ch = 0xA8; break;
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:
ch += 0x0080;
break;
case 0x005B: ch = 0xFE; break;
case 0x005D: ch = 0xFC; break;
case 0x007B: ch = 0xFD; break;
case 0x007C: ch = 0xFF; break;
case 0x007D: ch = 0xFB; break;
case 0x00A0: ch = 0xCA; break;
case 0x00C4: ch = 0x80; break;
case 0x00C7: ch = 0x82; break;
case 0x00C9: ch = 0x83; break;
case 0x00D1: ch = 0x84; break;
case 0x00D6: ch = 0x85; break;
case 0x00DC: ch = 0x86; 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 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 0x00F9: ch = 0x9D; break;
case 0x00FA: ch = 0x9C; break;
case 0x00FB: ch = 0x9E; break;
case 0x00FC: ch = 0x9F; break;
case 0x05B0: ch = 0xD9; break;
case 0x05B1: ch = 0xDB; break;
case 0x05B2: ch = 0xDA; break;
case 0x05B3: ch = 0xDF; break;
case 0x05B4: ch = 0xCF; break;
case 0x05B5: ch = 0xCD; break;
case 0x05B6: ch = 0xCE; break;
case 0x05B7: ch = 0xCC; break;
case 0x05B8: ch = 0xDE; break;
case 0x05B9: ch = 0xDD; break;
case 0x05BB: ch = 0xDC; break;
case 0x05BC: ch = 0xC6; break;
case 0x05BF: ch = 0xD8; 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 0x05F2: ch = 0x81; break;
case 0x2013: ch = 0xD0; break;
case 0x2014: ch = 0xD1; break;
case 0x2018: ch = 0xD4; break;
case 0x2019: ch = 0xD5; break;
case 0x201C: ch = 0xD2; break;
case 0x201D: ch = 0xD3; break;
case 0x201E: ch = 0xC1; break;
case 0x2026: ch = 0xC9; break;
case 0x20AA: ch = 0xA6; break;
case 0xF86A: ch = 0xC0; break;
case 0xF89B:
case 0xF89C:
case 0xF89D:
case 0xF89E:
ch -= 0xF7D9;
break;
case 0xFB2A: ch = 0xD6; break;
case 0xFB2B: ch = 0xD7; break;
case 0xFB35: ch = 0xC8; break;
case 0xFB4B: ch = 0xC7; 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 >= 0) switch(ch)
{
case 0x0026:
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 0x005C:
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 0x007E:
break;
case 0x0020:
case 0x0021:
case 0x0022:
case 0x0023:
case 0x0024:
case 0x0025:
ch += 0x0080;
break;
case 0x0027: ch = 0xA7; break;
case 0x0028: ch = 0xA9; break;
case 0x0029: ch = 0xA8; break;
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:
ch += 0x0080;
break;
case 0x005B: ch = 0xFE; break;
case 0x005D: ch = 0xFC; break;
case 0x007B: ch = 0xFD; break;
case 0x007C: ch = 0xFF; break;
case 0x007D: ch = 0xFB; break;
case 0x00A0: ch = 0xCA; break;
case 0x00C4: ch = 0x80; break;
case 0x00C7: ch = 0x82; break;
case 0x00C9: ch = 0x83; break;
case 0x00D1: ch = 0x84; break;
case 0x00D6: ch = 0x85; break;
case 0x00DC: ch = 0x86; 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 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 0x00F9: ch = 0x9D; break;
case 0x00FA: ch = 0x9C; break;
case 0x00FB: ch = 0x9E; break;
case 0x00FC: ch = 0x9F; break;
case 0x05B0: ch = 0xD9; break;
case 0x05B1: ch = 0xDB; break;
case 0x05B2: ch = 0xDA; break;
case 0x05B3: ch = 0xDF; break;
case 0x05B4: ch = 0xCF; break;
case 0x05B5: ch = 0xCD; break;
case 0x05B6: ch = 0xCE; break;
case 0x05B7: ch = 0xCC; break;
case 0x05B8: ch = 0xDE; break;
case 0x05B9: ch = 0xDD; break;
case 0x05BB: ch = 0xDC; break;
case 0x05BC: ch = 0xC6; break;
case 0x05BF: ch = 0xD8; 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 0x05F2: ch = 0x81; break;
case 0x2013: ch = 0xD0; break;
case 0x2014: ch = 0xD1; break;
case 0x2018: ch = 0xD4; break;
case 0x2019: ch = 0xD5; break;
case 0x201C: ch = 0xD2; break;
case 0x201D: ch = 0xD3; break;
case 0x201E: ch = 0xC1; break;
case 0x2026: ch = 0xC9; break;
case 0x20AA: ch = 0xA6; break;
case 0xF86A: ch = 0xC0; break;
case 0xF89B:
case 0xF89C:
case 0xF89D:
case 0xF89E:
ch -= 0xF7D9;
break;
case 0xFB2A: ch = 0xD6; break;
case 0xFB2B: ch = 0xD7; break;
case 0xFB35: ch = 0xC8; break;
case 0xFB4B: ch = 0xC7; break;
default: ch = 0x3F; break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
}; // class CP10005
public class ENCwindows_10005 : CP10005
{
public ENCwindows_10005() : base() {}
}; // class ENCwindows_10005
}; // namespace I18N.MidEast
--- NEW FILE ---
/*
* CP10081.cs - MAC - Turkish code page.
*
* Copyright (c) 2002 Southern Storm Software, Pty Ltd
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// Generated from "mac-10081.ucm".
namespace I18N.MidEast
{
using System;
using I18N.Common;
public class CP10081 : ByteEncoding
{
public CP10081()
: base(10081, ToChars, "MAC - Turkish",
"windows-10005", "windows-10081", "windows-10081",
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', '\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',
'\u2206', '\u00AB', '\u00BB', '\u2026', '\u00A0', '\u00C0',
'\u00C3', '\u00D5', '\u0152', '\u0153', '\u2013', '\u2014',
'\u201C', '\u201D', '\u2018', '\u2019', '\u00F7', '\u25CA',
'\u00FF', '\u0178', '\u011E', '\u011F', '\u0130', '\u0131',
'\u015E', '\u015F', '\u2021', '\u00B7', '\u201A', '\u201E',
'\u2030', '\u00C2', '\u00CA', '\u00C1', '\u00CB', '\u00C8',
'\u00CD', '\u00CE', '\u00CF', '\u00CC', '\u00D3', '\u00D4',
'\uF8FF', '\u00D2', '\u00DA', '\u00DB', '\u00D9', '\uF8A0',
'\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 >= 0) switch(ch)
{
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 0x00A2:
case 0x00A3:
case 0x00A9:
case 0x00B1:
case 0x00B5:
break;
case 0x00A0: ch = 0xCA; break;
case 0x00A1: ch = 0xC1; 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 0x011E: ch = 0xDA; break;
case 0x011F: ch = 0xDB; break;
case 0x0130: ch = 0xDC; break;
case 0x0131: ch = 0xDD; break;
case 0x0152: ch = 0xCE; break;
case 0x0153: ch = 0xCF; break;
case 0x015E: ch = 0xDE; break;
case 0x015F: ch = 0xDF; 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 0x03A9: ch = 0xBD; 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 0x2122: ch = 0xAA; 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 0x25CA: ch = 0xD7; break;
case 0xF8A0: ch = 0xF5; break;
case 0xF8FF: 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 >= 0) switch(ch)
{
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 0x00A2:
case 0x00A3:
case 0x00A9:
case 0x00B1:
case 0x00B5:
break;
case 0x00A0: ch = 0xCA; break;
case 0x00A1: ch = 0xC1; 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 0x011E: ch = 0xDA; break;
case 0x011F: ch = 0xDB; break;
case 0x0130: ch = 0xDC; break;
case 0x0131: ch = 0xDD; break;
case 0x0152: ch = 0xCE; break;
case 0x0153: ch = 0xCF; break;
case 0x015E: ch = 0xDE; break;
case 0x015F: ch = 0xDF; 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 0x03A9: ch = 0xBD; 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 0x2122: ch = 0xAA; 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 0x25CA: ch = 0xD7; break;
case 0xF8A0: ch = 0xF5; break;
case 0xF8FF: ch = 0xF0; break;
default: ch = 0x3F; break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
}; // class CP10081
public class ENCwindows_10081 : CP10081
{
public ENCwindows_10081() : base() {}
}; // class ENCwindows_10081
}; // namespace I18N.MidEast
--- NEW FILE ---
#=======================================================================
# File name: ARABIC.TXT
#
# Contents: Map (external version) from Mac OS Arabic
# character set to Unicode 2.1 through Unicode 3.2.
#
# Copyright: (c) 1994-2002 by Apple Computer, Inc., all rights
# reserved.
#
# Contact: address@hidden
#
# Changes:
#
# b3,c1 2002-Dec-19 Add comments about character display and
# direction overrides. Update URLs, notes.
# Matches internal utom<b4>.
# b02 1999-Sep-22 Update contact e-mail address. Matches
# internal utom<b1>, ufrm<b1>, and Text
# Encoding Converter version 1.5.
# n10 1998-Feb-05 Show required Unicode character
# directionality in a different way. Matches
# internal utom<n4>, ufrm<n21>, and Text
# Encoding Converter version 1.3. Update
# header comments; include information on
# loose mapping of digits.
# n07 1997-Jul-17 Update to match internal utom<n2>, ufrm<n17>:
# Change standard mapping for 0xC0 from U+066D
# to U+274A. Add direction overrides to
# mappings for 0x25, 0x2C, 0x3B, 0x3F. Add
# information on variants.
# n03 1995-Apr-18 First version (after fixing some typos).
# Matches internal ufrm<n11>.
#
# Standard header:
# ----------------
#
# Apple, the Apple logo, and Macintosh are trademarks of Apple
# Computer, Inc., registered in the United States and other countries.
# Unicode is a trademark of Unicode Inc. For the sake of brevity,
# throughout this document, "Macintosh" can be used to refer to
# Macintosh computers and "Unicode" can be used to refer to the
# Unicode standard.
#
# Apple makes no warranty or representation, either express or
# implied, with respect to these tables, their quality, accuracy, or
# fitness for a particular purpose. In no event will Apple be liable
# for direct, indirect, special, incidental, or consequential damages
# resulting from any defect or inaccuracy in this document or the
# accompanying tables.
#
# These mapping tables and character lists are subject to change.
# The latest tables should be available from the following:
#
# <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
#
# For general information about Mac OS encodings and these mapping
# tables, see the file "README.TXT".
#
# Format:
# -------
#
# Three tab-separated columns;
# '#' begins a comment which continues to the end of the line.
# Column #1 is the Mac OS Arabic code (in hex as 0xNN).
# Column #2 is the corresponding Unicode (in hex as 0xNNNN),
# possibly preceded by a tag indicating required directionality
# (i.e. <LR>+0xNNNN or <RL>+0xNNNN).
# Column #3 is a comment containing the Unicode name.
#
# The entries are in Mac OS Arabic code order.
#
# Control character mappings are not shown in this table, following
# the conventions of the standard UTC mapping tables. However, the
# Mac OS Roman character set uses the standard control characters at
# 0x00-0x1F and 0x7F.
#
# Notes on Mac OS Arabic:
# -----------------------
#
# 1. General
#
# The Mac OS Arabic character set is intended to cover Arabic as
# used in North Africa, the Arabian peninsula, and the Levant. It
# also contains several characters needed for Urdu and/or Farsi.
#
# The Mac OS Arabic character set is essentially a superset of ISO
# 8859-6. The 8859-6 code points that are interpreted differently
# in the Mac OS Arabic set are as follows:
# 0xA0 is NO-BREAK SPACE in 8859-6 and right-left SPACE in Mac OS
# Arabic; NO-BREAK is 0x81 in Mac OS Arabic.
# 0xA4 is CURRENCY SIGN in 8859-6 and right-left DOLLAR SIGN in
# Mac OS Arabic.
# 0xAD is SOFT HYPHEN in 8859-6 and right-left HYPHEN-MINUS in
# Mac OS Arabic.
# ISO 8859-6 specifies that codes 0x30-0x39 can be rendered either
# with European digit shapes or Arabic digit shapes. This is also
# true in Mac OS Arabic, which determines from context which digit
# shapes to use (see below).
#
# The Mac OS Arabic character set uses the C1 controls area and other
# code points which are undefined in ISO 8859-6 for additional
# graphic characters: additional Arabic letters for Farsi and Urdu,
# some accented Roman letters for European languages (such as French),
# and duplicates of some of the punctuation, symbols, and digits in
# the ASCII block. The duplicate punctuation, symbol, and digit
# characters have right-left directionality, while the ASCII versions
# have left-right directionality. See the next section for more
# information on this.
#
# Mac OS Arabic characters 0xEB-0xF2 are non-spacing/combining marks.
#
# 2. Directional characters and roundtrip fidelity
#
# The Mac OS Arabic character set was developed in 1986-1987. At that
# time the bidirectional line layout algorithm used in the Mac OS
# Arabic system was fairly simple; it used only a few direction
# classes (instead of the 19 now used in the Unicode bidirectional
# algorithm). In order to permit users to handle some tricky layout
# problems, certain punctuation and symbol characters were encoded
# twice, one with a left-right direction attribute and the other with
# a right-left direction attribute.
#
# For example, plus sign is encoded at 0x2B with a left-right
# attribute, and at 0xAB with a right-left attribute. However, there
# is only one PLUS SIGN character in Unicode. This leads to some
# interesting problems when mapping between Mac OS Arabic and Unicode;
# see below.
#
# A related problem is that even when a particular character is
# encoded only once in Mac OS Arabic, it may have a different
# direction attribute than the corresponding Unicode character.
#
# For example, the Mac OS Arabic character at 0x93 is HORIZONTAL
# ELLIPSIS with strong right-left direction. However, the Unicode
# character HORIZONTAL ELLIPSIS has direction class neutral.
#
# 3. Behavior of ASCII-range numbers in WorldScript
#
# Mac OS Arabic also has two sets of digit codes.
#
# The digits at 0x30-0x39 may be displayed using either European
# digit forms or Arabic digit forms, depending on context. If there
# is a "strong European" character such as a Latin letter on either
# side of a sequence consisting of digits 0x30-0x39 and possibly comma
# 0x2C or period 0x2E, then the characters will be displayed using
# European forms (This will happen even if there are neutral characters
# between the digits and the strong European character). Otherwise, the
# digits will be displayed using Arabic forms, the comma will be
# displayed as Arabic thousands separator, and the period as Arabic
# decimal separator. In any case, 0x2C, 0x2E, and 0x30-0x39 are always
# left-right.
#
# The digits at 0xB0-0xB9 are always displayed using Arabic digit
# shapes, and moreover, these digits always have strong right-left
# directionality. These are mainly intended for special layout
# purposes such as part numbers, etc.
#
# 4. Font variants
#
# The table in this file gives the Unicode mappings for the standard
# Mac OS Arabic encoding. This encoding is supported by the Cairo font
# (the system font for Arabic), and is the encoding supported by the
# text processing utilities. However, the other Arabic fonts actually
# implement slightly different encodings; this mainly affects the code
# points 0xAA and 0xC0. For these code points the standard Mac OS
# Arabic encoding has the following mappings:
# 0xAA -> <RL>+0x002A ASTERISK, right-left
# 0xC0 -> <RL>+0x274A EIGHT TEARDROP-SPOKED PROPELLER ASTERISK,
# right-left
# This mapping of 0xAA is consistent with the normal convention for
# Mac OS Arabic and Hebrew that the right-left duplicates have codes
# that are equal to the ASCII code of the left-right character plus
# 0x80. However, in all of the other fonts, 0xAA is MULTIPLY SIGN, and
# right-left ASTERISK may be at a different code point. The other
# variants are described below.
#
# The TrueType variant is used for most of the Arabic TrueType fonts:
# Baghdad, Geeza, Kufi, Nadeem. It differs from the standard variant
# in the following way:
# 0xAA -> <RL>+0x00D7 MULTIPLICATION SIGN, right-left
# 0xC0 -> <RL>+0x002A ASTERISK, right-left
#
# The Thuluth variant is used for the Arabic Postscript-only fonts:
# Thuluth and Thuluth bold. It differs from the standard variant in
# the following way:
# 0xAA -> <RL>+0x00D7 MULTIPLICATION SIGN, right-left
# 0xC0 -> 0x066D ARABIC FIVE POINTED STAR
#
# The AlBayan variant is used for the Arabic TrueType font Al Bayan.
# It differs from the standard variant in the following way:
# 0x81 -> no mapping (glyph just has authorship information, etc.)
# 0xA3 -> 0xFDFA ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
# 0xA4 -> 0xFDF2 ARABIC LIGATURE ALLAH ISOLATED FORM
# 0xAA -> <RL>+0x00D7 MULTIPLICATION SIGN, right-left
# 0xDC -> <RL>+0x25CF BLACK CIRCLE, right-left
# 0xFC -> <RL>+0x25A0 BLACK SQUARE, right-left
#
# Unicode mapping issues and notes:
# ---------------------------------
#
# 1. Matching the direction of Mac OS Arabic characters
#
# When Mac OS Arabic encodes a character twice but with different
# direction attributes for the two code points - as in the case of
# plus sign mentioned above - we need a way to map both Mac OS Arabic
# code points to Unicode and back again without loss of information.
# With the plus sign, for example, mapping one of the Mac OS Arabic
# characters to a code in the Unicode corporate use zone is
# undesirable, since both of the plus sign characters are likely to
# be used in text that is interchanged.
#
# The problem is solved with the use of direction override characters
# and direction-dependent mappings. When mapping from Mac OS Arabic
# to Unicode, we use direction overrides as necessary to force the
# direction of the resulting Unicode characters.
#
# The required direction is indicated by a direction tag in the
# mappings. A tag of <LR> means the corresponding Unicode character
# must have a strong left-right context, and a tag of <RL> indicates
# a right-left context.
#
# For example, the mapping of 0x2B is given as <LR>+0x002B; the
# mapping of 0xAB is given as <RL>+0x002B. If we map an isolated
# instance of 0x2B to Unicode, it should be mapped as follows (LRO
# indicates LEFT-RIGHT OVERRIDE, PDF indicates POP DIRECTION
# FORMATTING):
#
# 0x2B -> 0x202D (LRO) + 0x002B (PLUS SIGN) + 0x202C (PDF)
#
# When mapping several characters in a row that require direction
# forcing, the overrides need only be used at the beginning and end.
# For example:
#
# 0x24 0x20 0x28 0x29 -> 0x202D 0x0024 0x0020 0x0028 0x0029 0x202C
#
# If neutral characters that require direction forcing are already
# between strong-direction characters with matching directionality,
# then direction overrides need not be used. Direction overrides are
# always needed to map the right-left digits at 0xB0-0xB9.
#
# When mapping from Unicode to Mac OS Arabic, the Unicode
# bidirectional algorithm should be used to determine resolved
# direction of the Unicode characters. The mapping from Unicode to
# Mac OS Arabic can then be disambiguated by the use of the resolved
# direction:
#
# Unicode 0x002B -> Mac OS Arabic 0x2B (if L) or 0xAB (if R)
#
# However, this also means the direction override characters should
# be discarded when mapping from Unicode to Mac OS Arabic (after
# they have been used to determine resolved direction), since the
# direction override information is carried by the code point itself.
#
# Even when direction overrides are not needed for roundtrip
# fidelity, they are sometimes used when mapping Mac OS Arabic
# characters to Unicode in order to achieve similar text layout with
# the resulting Unicode text. For example, the single Mac OS Arabic
# ellipsis character has direction class right-left,and there is no
# left-right version. However, the Unicode HORIZONTAL ELLIPSIS
# character has direction class neutral (which means it may end up
# with a resolved direction of left-right if surrounded by left-right
# characters). When mapping the Mac OS Arabic ellipsis to Unicode, it
# is surrounded with a direction override to help preserve proper
# text layout. The resolved direction is not needed or used when
# mapping the Unicode HORIZONTAL ELLIPSIS back to Mac OS Arabic.
#
# 2. Mapping the Mac OS Arabic digits
#
# The main table below contains mappings that should be used when
# strict round-trip fidelity is required. However, for numeric
# values, the mappings in that table will produce Unicode characters
# that may appear different than the Mac OS Arabic text displayed on
# a Mac OS system using WorldScript. This is because WorldScript
# uses context-dependent display for the 0x30-0x39 digits.
#
# If roundtrip fidelity is not required, then the following
# alternate mappings should be used when a sequence of 0x30-0x39
# digits - possibly including 0x2C and 0x2E - occurs in an Arabic
# context (that is, when the first "strong" character on either side
# of the digit sequence is Arabic, or there is no strong character):
#
# 0x2C 0x066C # ARABIC THOUSANDS SEPARATOR
# 0x2E 0x066B # ARABIC DECIMAL SEPARATOR
# 0x30 0x0660 # ARABIC-INDIC DIGIT ZERO
# 0x31 0x0661 # ARABIC-INDIC DIGIT ONE
# 0x32 0x0662 # ARABIC-INDIC DIGIT TWO
# 0x33 0x0663 # ARABIC-INDIC DIGIT THREE
# 0x34 0x0664 # ARABIC-INDIC DIGIT FOUR
# 0x35 0x0665 # ARABIC-INDIC DIGIT FIVE
# 0x36 0x0666 # ARABIC-INDIC DIGIT SIX
# 0x37 0x0667 # ARABIC-INDIC DIGIT SEVEN
# 0x38 0x0668 # ARABIC-INDIC DIGIT EIGHT
# 0x39 0x0669 # ARABIC-INDIC DIGIT NINE
#
# Details of mapping changes in each version:
# -------------------------------------------
#
# Changes from version n03 to version n07:
#
# - Change mapping for 0xC0 from U+066D to U+274A.
#
# - Add direction overrides (required directionality) to mappings
# for 0x25, 0x2C, 0x3B, 0x3F.
#
##################
0x20 <LR>+0x0020 # SPACE, left-right
0x21 <LR>+0x0021 # EXCLAMATION MARK, left-right
0x22 <LR>+0x0022 # QUOTATION MARK, left-right
0x23 <LR>+0x0023 # NUMBER SIGN, left-right
0x24 <LR>+0x0024 # DOLLAR SIGN, left-right
0x25 <LR>+0x0025 # PERCENT SIGN, left-right
0x26 <LR>+0x0026 # AMPERSAND, left-right
0x27 <LR>+0x0027 # APOSTROPHE, left-right
0x28 <LR>+0x0028 # LEFT PARENTHESIS, left-right
0x29 <LR>+0x0029 # RIGHT PARENTHESIS, left-right
0x2A <LR>+0x002A # ASTERISK, left-right
0x2B <LR>+0x002B # PLUS SIGN, left-right
0x2C <LR>+0x002C # COMMA, left-right; in Arabic-script context,
displayed as 0x066C ARABIC THOUSANDS SEPARATOR
0x2D <LR>+0x002D # HYPHEN-MINUS, left-right
0x2E <LR>+0x002E # FULL STOP, left-right; in Arabic-script context,
displayed as 0x066B ARABIC DECIMAL SEPARATOR
0x2F <LR>+0x002F # SOLIDUS, left-right
0x30 0x0030 # DIGIT ZERO; in Arabic-script context, displayed as 0x0660
ARABIC-INDIC DIGIT ZERO
0x31 0x0031 # DIGIT ONE; in Arabic-script context, displayed as 0x0661
ARABIC-INDIC DIGIT ONE
0x32 0x0032 # DIGIT TWO; in Arabic-script context, displayed as 0x0662
ARABIC-INDIC DIGIT TWO
0x33 0x0033 # DIGIT THREE; in Arabic-script context, displayed as 0x0663
ARABIC-INDIC DIGIT THREE
0x34 0x0034 # DIGIT FOUR; in Arabic-script context, displayed as 0x0664
ARABIC-INDIC DIGIT FOUR
0x35 0x0035 # DIGIT FIVE; in Arabic-script context, displayed as 0x0665
ARABIC-INDIC DIGIT FIVE
0x36 0x0036 # DIGIT SIX; in Arabic-script context, displayed as 0x0666
ARABIC-INDIC DIGIT SIX
0x37 0x0037 # DIGIT SEVEN; in Arabic-script context, displayed as 0x0667
ARABIC-INDIC DIGIT SEVEN
0x38 0x0038 # DIGIT EIGHT; in Arabic-script context, displayed as 0x0668
ARABIC-INDIC DIGIT EIGHT
0x39 0x0039 # DIGIT NINE; in Arabic-script context, displayed as 0x0669
ARABIC-INDIC DIGIT NINE
0x3A <LR>+0x003A # COLON, left-right
0x3B <LR>+0x003B # SEMICOLON, left-right
0x3C <LR>+0x003C # LESS-THAN SIGN, left-right
0x3D <LR>+0x003D # EQUALS SIGN, left-right
0x3E <LR>+0x003E # GREATER-THAN SIGN, left-right
0x3F <LR>+0x003F # QUESTION MARK, left-right
0x40 0x0040 # COMMERCIAL AT
0x41 0x0041 # LATIN CAPITAL LETTER A
0x42 0x0042 # LATIN CAPITAL LETTER B
0x43 0x0043 # LATIN CAPITAL LETTER C
0x44 0x0044 # LATIN CAPITAL LETTER D
0x45 0x0045 # LATIN CAPITAL LETTER E
0x46 0x0046 # LATIN CAPITAL LETTER F
0x47 0x0047 # LATIN CAPITAL LETTER G
0x48 0x0048 # LATIN CAPITAL LETTER H
0x49 0x0049 # LATIN CAPITAL LETTER I
0x4A 0x004A # LATIN CAPITAL LETTER J
0x4B 0x004B # LATIN CAPITAL LETTER K
0x4C 0x004C # LATIN CAPITAL LETTER L
0x4D 0x004D # LATIN CAPITAL LETTER M
0x4E 0x004E # LATIN CAPITAL LETTER N
0x4F 0x004F # LATIN CAPITAL LETTER O
0x50 0x0050 # LATIN CAPITAL LETTER P
0x51 0x0051 # LATIN CAPITAL LETTER Q
0x52 0x0052 # LATIN CAPITAL LETTER R
0x53 0x0053 # LATIN CAPITAL LETTER S
0x54 0x0054 # LATIN CAPITAL LETTER T
0x55 0x0055 # LATIN CAPITAL LETTER U
0x56 0x0056 # LATIN CAPITAL LETTER V
0x57 0x0057 # LATIN CAPITAL LETTER W
0x58 0x0058 # LATIN CAPITAL LETTER X
0x59 0x0059 # LATIN CAPITAL LETTER Y
0x5A 0x005A # LATIN CAPITAL LETTER Z
0x5B <LR>+0x005B # LEFT SQUARE BRACKET, left-right
0x5C <LR>+0x005C # REVERSE SOLIDUS, left-right
0x5D <LR>+0x005D # RIGHT SQUARE BRACKET, left-right
0x5E <LR>+0x005E # CIRCUMFLEX ACCENT, left-right
0x5F <LR>+0x005F # LOW LINE, left-right
0x60 0x0060 # GRAVE ACCENT
0x61 0x0061 # LATIN SMALL LETTER A
0x62 0x0062 # LATIN SMALL LETTER B
0x63 0x0063 # LATIN SMALL LETTER C
0x64 0x0064 # LATIN SMALL LETTER D
0x65 0x0065 # LATIN SMALL LETTER E
0x66 0x0066 # LATIN SMALL LETTER F
0x67 0x0067 # LATIN SMALL LETTER G
0x68 0x0068 # LATIN SMALL LETTER H
0x69 0x0069 # LATIN SMALL LETTER I
0x6A 0x006A # LATIN SMALL LETTER J
0x6B 0x006B # LATIN SMALL LETTER K
0x6C 0x006C # LATIN SMALL LETTER L
0x6D 0x006D # LATIN SMALL LETTER M
0x6E 0x006E # LATIN SMALL LETTER N
0x6F 0x006F # LATIN SMALL LETTER O
0x70 0x0070 # LATIN SMALL LETTER P
0x71 0x0071 # LATIN SMALL LETTER Q
0x72 0x0072 # LATIN SMALL LETTER R
0x73 0x0073 # LATIN SMALL LETTER S
0x74 0x0074 # LATIN SMALL LETTER T
0x75 0x0075 # LATIN SMALL LETTER U
0x76 0x0076 # LATIN SMALL LETTER V
0x77 0x0077 # LATIN SMALL LETTER W
0x78 0x0078 # LATIN SMALL LETTER X
0x79 0x0079 # LATIN SMALL LETTER Y
0x7A 0x007A # LATIN SMALL LETTER Z
0x7B <LR>+0x007B # LEFT CURLY BRACKET, left-right
0x7C <LR>+0x007C # VERTICAL LINE, left-right
0x7D <LR>+0x007D # RIGHT CURLY BRACKET, left-right
0x7E 0x007E # TILDE
#
0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
0x81 <RL>+0x00A0 # NO-BREAK SPACE, right-left
0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
0x8B 0x06BA # ARABIC LETTER NOON GHUNNA
0x8C <RL>+0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
0x93 <RL>+0x2026 # HORIZONTAL ELLIPSIS, right-left
0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
0x98 <RL>+0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
0x9B <RL>+0x00F7 # DIVISION SIGN, right-left
0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
0xA0 <RL>+0x0020 # SPACE, right-left
0xA1 <RL>+0x0021 # EXCLAMATION MARK, right-left
0xA2 <RL>+0x0022 # QUOTATION MARK, right-left
0xA3 <RL>+0x0023 # NUMBER SIGN, right-left
0xA4 <RL>+0x0024 # DOLLAR SIGN, right-left
0xA5 0x066A # ARABIC PERCENT SIGN
0xA6 <RL>+0x0026 # AMPERSAND, right-left
0xA7 <RL>+0x0027 # APOSTROPHE, right-left
0xA8 <RL>+0x0028 # LEFT PARENTHESIS, right-left
0xA9 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
0xAA <RL>+0x002A # ASTERISK, right-left
0xAB <RL>+0x002B # PLUS SIGN, right-left
0xAC 0x060C # ARABIC COMMA
0xAD <RL>+0x002D # HYPHEN-MINUS, right-left
0xAE <RL>+0x002E # FULL STOP, right-left
0xAF <RL>+0x002F # SOLIDUS, right-left
0xB0 <RL>+0x0660 # ARABIC-INDIC DIGIT ZERO, right-left (need override)
0xB1 <RL>+0x0661 # ARABIC-INDIC DIGIT ONE, right-left (need override)
0xB2 <RL>+0x0662 # ARABIC-INDIC DIGIT TWO, right-left (need override)
0xB3 <RL>+0x0663 # ARABIC-INDIC DIGIT THREE, right-left (need override)
0xB4 <RL>+0x0664 # ARABIC-INDIC DIGIT FOUR, right-left (need override)
0xB5 <RL>+0x0665 # ARABIC-INDIC DIGIT FIVE, right-left (need override)
0xB6 <RL>+0x0666 # ARABIC-INDIC DIGIT SIX, right-left (need override)
0xB7 <RL>+0x0667 # ARABIC-INDIC DIGIT SEVEN, right-left (need override)
0xB8 <RL>+0x0668 # ARABIC-INDIC DIGIT EIGHT, right-left (need override)
0xB9 <RL>+0x0669 # ARABIC-INDIC DIGIT NINE, right-left (need override)
0xBA <RL>+0x003A # COLON, right-left
0xBB 0x061B # ARABIC SEMICOLON
0xBC <RL>+0x003C # LESS-THAN SIGN, right-left
0xBD <RL>+0x003D # EQUALS SIGN, right-left
0xBE <RL>+0x003E # GREATER-THAN SIGN, right-left
0xBF 0x061F # ARABIC QUESTION MARK
0xC0 <RL>+0x274A # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
0xC1 0x0621 # ARABIC LETTER HAMZA
0xC2 0x0622 # ARABIC LETTER ALEF WITH MADDA ABOVE
0xC3 0x0623 # ARABIC LETTER ALEF WITH HAMZA ABOVE
0xC4 0x0624 # ARABIC LETTER WAW WITH HAMZA ABOVE
0xC5 0x0625 # ARABIC LETTER ALEF WITH HAMZA BELOW
0xC6 0x0626 # ARABIC LETTER YEH WITH HAMZA ABOVE
0xC7 0x0627 # ARABIC LETTER ALEF
0xC8 0x0628 # ARABIC LETTER BEH
0xC9 0x0629 # ARABIC LETTER TEH MARBUTA
0xCA 0x062A # ARABIC LETTER TEH
0xCB 0x062B # ARABIC LETTER THEH
0xCC 0x062C # ARABIC LETTER JEEM
0xCD 0x062D # ARABIC LETTER HAH
0xCE 0x062E # ARABIC LETTER KHAH
0xCF 0x062F # ARABIC LETTER DAL
0xD0 0x0630 # ARABIC LETTER THAL
0xD1 0x0631 # ARABIC LETTER REH
0xD2 0x0632 # ARABIC LETTER ZAIN
0xD3 0x0633 # ARABIC LETTER SEEN
0xD4 0x0634 # ARABIC LETTER SHEEN
0xD5 0x0635 # ARABIC LETTER SAD
0xD6 0x0636 # ARABIC LETTER DAD
0xD7 0x0637 # ARABIC LETTER TAH
0xD8 0x0638 # ARABIC LETTER ZAH
0xD9 0x0639 # ARABIC LETTER AIN
0xDA 0x063A # ARABIC LETTER GHAIN
0xDB <RL>+0x005B # LEFT SQUARE BRACKET, right-left
0xDC <RL>+0x005C # REVERSE SOLIDUS, right-left
0xDD <RL>+0x005D # RIGHT SQUARE BRACKET, right-left
0xDE <RL>+0x005E # CIRCUMFLEX ACCENT, right-left
0xDF <RL>+0x005F # LOW LINE, right-left
0xE0 0x0640 # ARABIC TATWEEL
0xE1 0x0641 # ARABIC LETTER FEH
0xE2 0x0642 # ARABIC LETTER QAF
0xE3 0x0643 # ARABIC LETTER KAF
0xE4 0x0644 # ARABIC LETTER LAM
0xE5 0x0645 # ARABIC LETTER MEEM
0xE6 0x0646 # ARABIC LETTER NOON
0xE7 0x0647 # ARABIC LETTER HEH
0xE8 0x0648 # ARABIC LETTER WAW
0xE9 0x0649 # ARABIC LETTER ALEF MAKSURA
0xEA 0x064A # ARABIC LETTER YEH
0xEB 0x064B # ARABIC FATHATAN
0xEC 0x064C # ARABIC DAMMATAN
0xED 0x064D # ARABIC KASRATAN
0xEE 0x064E # ARABIC FATHA
0xEF 0x064F # ARABIC DAMMA
0xF0 0x0650 # ARABIC KASRA
0xF1 0x0651 # ARABIC SHADDA
0xF2 0x0652 # ARABIC SUKUN
0xF3 0x067E # ARABIC LETTER PEH
0xF4 0x0679 # ARABIC LETTER TTEH
0xF5 0x0686 # ARABIC LETTER TCHEH
0xF6 0x06D5 # ARABIC LETTER AE
0xF7 0x06A4 # ARABIC LETTER VEH
0xF8 0x06AF # ARABIC LETTER GAF
0xF9 0x0688 # ARABIC LETTER DDAL
0xFA 0x0691 # ARABIC LETTER RREH
0xFB <RL>+0x007B # LEFT CURLY BRACKET, right-left
0xFC <RL>+0x007C # VERTICAL LINE, right-left
0xFD <RL>+0x007D # RIGHT CURLY BRACKET, right-left
0xFE 0x0698 # ARABIC LETTER JEH
0xFF 0x06D2 # ARABIC LETTER YEH BARREE
--- NEW FILE ---
#=======================================================================
# File name: HEBREW.TXT
#
# Contents: Map (external version) from Mac OS Hebrew
# character set to Unicode 2.1 through Unicode 3.2.
#
# Copyright: (c) 1995-2002 by Apple Computer, Inc., all rights
# reserved.
#
# Contact: address@hidden
#
# Changes:
#
# b3,c1 2002-Dec-19 Don't require left-right context for digits
# 0x30-0x39. Change
mapping of 0x81 to use
# decomposition. Reverse the mappings of 0xA8,
# 0xA9. Update URLs, notes. Matches internal
# utom<b7>.
# b02 1999-Sep-22 Update contact e-mail address. Matches
# internal utom<b1>, ufrm<b1>, and Text
# Encoding Converter version 1.5.
# n03 1998-Feb-05 Show required Unicode character
# directionality in a different way. Update
# mappings for 0xC0 and 0xDE to use
# transcoding hints; matches internal utom<n6>,
# ufrm<n20>, and Text Encoding Converter
# version 1.3. Rewrite header comments.
# n01 1995-Nov-15 First version. Matches internal ufrm<n8>.
#
# Standard header:
# ----------------
#
# Apple, the Apple logo, and Macintosh are trademarks of Apple
# Computer, Inc., registered in the United States and other countries.
# Unicode is a trademark of Unicode Inc. For the sake of brevity,
# throughout this document, "Macintosh" can be used to refer to
# Macintosh computers and "Unicode" can be used to refer to the
# Unicode standard.
#
# Apple makes no warranty or representation, either express or
# implied, with respect to these tables, their quality, accuracy, or
# fitness for a particular purpose. In no event will Apple be liable
# for direct, indirect, special, incidental, or consequential damages
# resulting from any defect or inaccuracy in this document or the
# accompanying tables.
#
# These mapping tables and character lists are subject to change.
# The latest tables should be available from the following:
#
# <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
#
# For general information about Mac OS encodings and these mapping
# tables, see the file "README.TXT".
#
# Format:
# -------
#
# Three tab-separated columns;
# '#' begins a comment which continues to the end of the line.
# Column #1 is the Mac OS Hebrew code (in hex as 0xNN).
# Column #2 is the corresponding Unicode or Unicode sequence (in
# hex as 0xNNNN, 0xNNNN+0xNNNN, etc.). Sequences of up to 5
# Unicode characters are used here. A single Unicode character
# may be preceded by a tag indicating required directionality
# (i.e. <LR>+0xNNNN or <RL>+0xNNNN).
# Column #3 is a comment containing the Unicode name.
#
# The entries are in Mac OS Hebrew code order.
#
# Some of these mappings require the use of corporate characters.
# See the file "CORPCHAR.TXT" and notes below.
#
# Control character mappings are not shown in this table, following
# the conventions of the standard UTC mapping tables. However, the
# Mac OS Roman character set uses the standard control characters at
# 0x00-0x1F and 0x7F.
#
# Notes on Mac OS Hebrew:
# -----------------------
#
# 1. General
#
# The Mac OS Hebrew character set supports the Hebrew and Yiddish
# languages. It incorporates the Hebrew letter repertoire of
# ISO 8859-8, and uses the same code points for them, 0xE0-0xFA.
# It also incorporates the ASCII character set. In addition, the
# Mac OS Hebrew character set includes the following:
#
# - Hebrew points (nikud marks) at 0xC6, 0xCB-0xCF and 0xD8-0xDF.
# These are non-spacing combining marks. Note that the RAFE point
# at 0xD8 is not displayed correctly in some fonts, and cannot be
# typed using the keyboard layouts in the current Hebrew localized
# systems. Also note: The character given in Unicode as QAMATS
# (U+05B8) actually refers to two different sounds, depending on
# context. For example, when ALEF is followed by QAMATS, the QAMATS
# can actually refer to two different sounds depending on the
# following letters. The Mac OS Hebrew character set separately
# encodes these two sounds for the same graphic shape, as "qamats"
# (0xCB) and "qamats qatan" (0xDE). The "qamats" character is more
# common, so it is mapped to the Unicode QAMATS; "qamats qatan" can
# only be used with a limited number of characters, and it is
# mapped using a corporate-zone variant tag (see below).
#
# - Various Hebrew ligatures at 0x81, 0xC0, 0xC7, 0xC8, 0xD6, and
# 0xD7. Also note that the Yiddish YOD YOD PATAH ligature at 0x81
# is missing in some fonts.
#
# - The NEW SHEQEL SIGN at 0xA6.
#
# - Latin characters with diacritics at 0x80 and 0x82-0x9F. However,
# most of these cannot be typed using the keyboard layouts in the
# Hebrew localized systems.
#
# - Right-left versions of certain ASCII punctuation, symbols and
# digits: 0xA0-0xA5, 0xA7-0xBF, 0xFB-0xFF. See below.
#
# - Miscellaneous additional punctuation at 0xC1, 0xC9, 0xCA, and
# 0xD0-0xD5. There is a variant of the Hebrew encoding in which
# the LEFT SINGLE QUOTATION MARK at 0xD4 is replaced by FIGURE
# SPACE. The glyphs for some of the other punctuation characters
# are missing in some fonts.
#
# - Four obsolete characters at 0xC2-0xC5 known as canorals (not to
# be confused with cantillation marks!). These were used for
# manual positioning of nikud marks before System 7.1 (at which
# point nikud positioning became automatic with WorldScript.).
#
# 2. Directional characters and roundtrip fidelity
#
# The Mac OS Hebrew character set was developed around 1987. At that
# time the bidirectional line line layout algorithm used in the Mac OS
# Hebrew system was fairly simple; it used only a few direction
# classes (instead of the 19 now used in the Unicode bidirectional
# algorithm). In order to permit users to handle some tricky layou
# problems, certain punctuation, symbol, and digit characters have
# duplicate code points, one with a left-right direction attribute and
# the other with a right-left direction attribute.
#
# For example, plus sign is encoded at 0x2B with a left-right
# attribute, and at 0xAB with a right-left attribute. However, there
# is only one PLUS SIGN character in Unicode. This leads to some
# interesting problems when mapping between Mac OS Hebrew and Unicode;
# see below.
#
# A related problem is that even when a particular character is
# encoded only once in Mac OS Hebrew, it may have a different
# direction attribute than the corresponding Unicode character.
#
# For example, the Mac OS Hebrew character at 0xC9 is HORIZONTAL
# ELLIPSIS with strong right-left direction. However, the Unicode
# character HORIZONTAL ELLIPSIS has direction class neutral.
#
# 3. Font variants
#
# The table in this file gives the Unicode mappings for the standard
# Mac OS Hebrew encoding. This encoding is supported by many of the
# Apple fonts (including all of the fonts in the Hebrew Language Kit),
# and is the encoding supported by the text processing utilities.
# However, some TrueType fonts provided with the localized Hebrew
# system implement a slightly different encoding; the difference is
# only in one code point, 0xD4. For the standard variant, this is:
# 0xD4 -> <RL>+0x2018 LEFT SINGLE QUOTATION MARK, right-left
#
# The TrueType variant is used by the following TrueType fonts from
# the localized system: Caesarea, Carmel Book, Gilboa, Ramat Sharon,
# and Sinai Book. For these, 0xD4 is as follows:
# 0xD4 -> <RL>+0x2007 FIGURE SPACE, right-left
#
# Unicode mapping issues and notes:
# ---------------------------------
#
# 1. Matching the direction of Mac OS Hebrew characters
#
# When Mac OS Hebrew encodes a character twice but with different
# direction attributes for the two code points - as in the case of
# plus sign mentioned above - we need a way to map both Mac OS Hebrew
# code points to Unicode and back again without loss of information.
# With the plus sign, for example, mapping one of the Mac OS Hebrew
# characters to a code in the Unicode corporate use zone is
# undesirable, since both of the plus sign characters are likely to
# be used in text that is interchanged.
#
# The problem is solved with the use of direction override characters
# and direction-dependent mappings. When mapping from Mac OS Hebrew
# to Unicode, we use direction overrides as necessary to force the
# direction of the resulting Unicode characters.
#
# The required direction is indicated by a direction tag in the
# mappings. A tag of <LR> means the corresponding Unicode character
# must have a strong left-right context, and a tag of <RL> indicates
# a right-left context.
#
# For example, the mapping of 0x2B is given as <LR>+0x002B; the
# mapping of 0xAB is given as <RL>+0x002B. If we map an isolated
# instance of 0x2B to Unicode, it should be mapped as follows (LRO
# indicates LEFT-RIGHT OVERRIDE, PDF indicates POP DIRECTION
# FORMATTING):
#
# 0x2B -> 0x202D (LRO) + 0x002B (PLUS SIGN) + 0x202C (PDF)
#
# When mapping several characters in a row that require direction
# forcing, the overrides need only be used at the beginning and end.
# For example:
#
# 0x24 0x20 0x28 0x29 -> 0x202D 0x0024 0x0020 0x0028 0x0029 0x202C
#
# If neutral characters that require direction forcing are already
# between strong-direction characters with matching directionality,
# then direction overrides need not be used. Direction overrides are
# always needed to map the right-left digits at 0xB0-0xB9.
#
# When mapping from Unicode to Mac OS Hebrew, the Unicode
# bidirectional algorithm should be used to determine resolved
# direction of the Unicode characters. The mapping from Unicode to
# Mac OS Hebrew can then be disambiguated by the use of the resolved
# direction:
#
# Unicode 0x002B -> Mac OS Hebrew 0x2B (if L) or 0xAB (if R)
#
# However, this also means the direction override characters should
# be discarded when mapping from Unicode to Mac OS Hebrew (after
# they have been used to determine resolved direction), since the
# direction override information is carried by the code point itself.
#
# Even when direction overrides are not needed for roundtrip
# fidelity, they are sometimes used when mapping Mac OS Hebrew
# characters to Unicode in order to achieve similar text layout with
# the resulting Unicode text. For example, the single Mac OS Hebrew
# ellipsis character has direction class right-left,and there is no
# left-right version. However, the Unicode HORIZONTAL ELLIPSIS
# character has direction class neutral (which means it may end up
# with a resolved direction of left-right if surrounded by left-right
# characters). When mapping the Mac OS Hebrew ellipsis to Unicode, it
# is surrounded with a direction override to help preserve proper
# text layout. The resolved direction is not needed or used when
# mapping the Unicode HORIZONTAL ELLIPSIS back to Mac OS Hebrew.
#
# 2. Use of corporate-zone Unicodes
#
# The goals in the mappings provided here are:
# - Ensure roundtrip mapping from every character in the Mac OS
# Hebrew character set to Unicode and back
# - Use standard Unicode characters as much as possible, to
# maximize interchangeability of the resulting Unicode text.
# Whenever possible, avoid having content carried by private-use
# characters.
#
# Some of the characters in the Mac OS Hebrew character set do not
# correspond to distinct, single Unicode characters. To map these
# and satisfy both goals above, we employ various strategies.
#
# a) If possible, use private use characters in combination with
# standard Unicode characters to mark variants of the standard
# Unicode character.
#
# Apple has defined a block of 32 corporate characters as "transcoding
# hints." These are used in combination with standard Unicode characters
# to force them to be treated in a special way for mapping to other
# encodings; they have no other effect. Sixteen of these transcoding
# hints are "grouping hints" - they indicate that the next 2-4 Unicode
# characters should be treated as a single entity for transcoding. The
# other sixteen transcoding hints are "variant tags" - they are like
# combining characters, and can follow a standard Unicode (or a sequence
# consisting of a base character and other combining characters) to
# cause it to be treated in a special way for transcoding. These always
# terminate a combining-character sequence.
#
# Two transcoding hints are used in this mapping table: a grouping hint
# and a variant tag:
# hint:
# 0xF86A group next 2 characters, right-left directionality
# 0xF87F variant tag
#
# In Mac OS Hebrew, 0xC0 is a ligature for lamed holam. This can also
# be represented in Mac OS Hebrew as 0xEC+0xDD, using separate
# characters for lamed and holam. The latter sequence is mapped to
# Unicode as 0x05DC+0x05B9, i.e. as the sequence HEBREW LETTER LAMED +
# HEBREW POINT HOLAM. We want to map the ligature 0xC0 using the same
# standard Unicode characters, but for round-trip fidelity we need to
# distinguish it from the mapping of the sequence 0xEC+0xDD. Thus for
# 0xC0 we use a grouping hint, and map as follows:
#
# 0xC0 -> 0xF86A+0x05DC+0x05B9
#
# The variant tag is used for "qamats qatan" to mark it as an alternate
# for HEBREW POINT QAMATS, as follows:
#
# 0xDE -> 0x05B8+0xF87F
#
# b) Otherwise, use private use characters by themselves to map Mac OS
# Hebrew characters which have no relationship to any standard Unicode
# character.
#
# The following additional corporate zone Unicode characters are used
# for this purpose here (to map the obsolete "canorals", see above):
#
# 0xF89B Hebrew canoral 1
# 0xF89C Hebrew canoral 2
# 0xF89D Hebrew canoral 3
# 0xF89E Hebrew canoral 4
#
# Details of mapping changes in each version:
# -------------------------------------------
#
# Changes from version b02 to version b03/c01:
#
# - Stop specifying left-right context for digits 0x30-0x39, since the
# corresponding Unicodes 0x0030-0x0039 already have left-right
# directionality.
#
# - Change mapping of 0x81 from 0xFB1F HEBREW LIGATURE YIDDISH YOD YOD
# PATAH to its canonical decomposition 0x05F2+0x05B7 to improve
# cross-platform compatibility (Windows doesn't handle 0xFB1F)
#
# - Interchange the mappings of 0xA8 and 0xA9 to obtain the correct
# open/close behavior; they work differently than in Mac Arabic.
# The old mapping was
# 0xA8 <RL>+0x0028 # LEFT PARENTHESIS, right-left
# 0xA9 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
# and the new mapping is
# 0xA8 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
# 0xA9 <RL>+0x0028 # LEFT PARENTHESIS, right-left
#
# Changes from version n01 to version n03:
#
# - Change mapping for 0xC0 from single corporate character to
# grouping hint plus standard Unicodes
#
# - Change mapping for 0xDE from single corporate character to
# standard Unicode plus variant tag
#
##################
0x20 <LR>+0x0020 # SPACE, left-right
0x21 <LR>+0x0021 # EXCLAMATION MARK, left-right
0x22 <LR>+0x0022 # QUOTATION MARK, left-right
0x23 <LR>+0x0023 # NUMBER SIGN, left-right
0x24 <LR>+0x0024 # DOLLAR SIGN, left-right
0x25 <LR>+0x0025 # PERCENT SIGN, left-right
0x26 0x0026 # AMPERSAND
0x27 <LR>+0x0027 # APOSTROPHE, left-right
0x28 <LR>+0x0028 # LEFT PARENTHESIS, left-right
0x29 <LR>+0x0029 # RIGHT PARENTHESIS, left-right
0x2A <LR>+0x002A # ASTERISK, left-right
0x2B <LR>+0x002B # PLUS SIGN, left-right
0x2C <LR>+0x002C # COMMA, left-right
0x2D <LR>+0x002D # HYPHEN-MINUS, left-right
0x2E <LR>+0x002E # FULL STOP, left-right
0x2F <LR>+0x002F # SOLIDUS, left-right
0x30 0x0030 # DIGIT ZERO
0x31 0x0031 # DIGIT ONE
0x32 0x0032 # DIGIT TWO
0x33 0x0033 # DIGIT THREE
0x34 0x0034 # DIGIT FOUR
0x35 0x0035 # DIGIT FIVE
0x36 0x0036 # DIGIT SIX
0x37 0x0037 # DIGIT SEVEN
0x38 0x0038 # DIGIT EIGHT
0x39 0x0039 # DIGIT NINE
0x3A <LR>+0x003A # COLON, left-right
0x3B <LR>+0x003B # SEMICOLON, left-right
0x3C <LR>+0x003C # LESS-THAN SIGN, left-right
0x3D <LR>+0x003D # EQUALS SIGN, left-right
0x3E <LR>+0x003E # GREATER-THAN SIGN, left-right
0x3F <LR>+0x003F # QUESTION MARK, left-right
0x40 0x0040 # COMMERCIAL AT
0x41 0x0041 # LATIN CAPITAL LETTER A
0x42 0x0042 # LATIN CAPITAL LETTER B
0x43 0x0043 # LATIN CAPITAL LETTER C
0x44 0x0044 # LATIN CAPITAL LETTER D
0x45 0x0045 # LATIN CAPITAL LETTER E
0x46 0x0046 # LATIN CAPITAL LETTER F
0x47 0x0047 # LATIN CAPITAL LETTER G
0x48 0x0048 # LATIN CAPITAL LETTER H
0x49 0x0049 # LATIN CAPITAL LETTER I
0x4A 0x004A # LATIN CAPITAL LETTER J
0x4B 0x004B # LATIN CAPITAL LETTER K
0x4C 0x004C # LATIN CAPITAL LETTER L
0x4D 0x004D # LATIN CAPITAL LETTER M
0x4E 0x004E # LATIN CAPITAL LETTER N
0x4F 0x004F # LATIN CAPITAL LETTER O
0x50 0x0050 # LATIN CAPITAL LETTER P
0x51 0x0051 # LATIN CAPITAL LETTER Q
0x52 0x0052 # LATIN CAPITAL LETTER R
0x53 0x0053 # LATIN CAPITAL LETTER S
0x54 0x0054 # LATIN CAPITAL LETTER T
0x55 0x0055 # LATIN CAPITAL LETTER U
0x56 0x0056 # LATIN CAPITAL LETTER V
0x57 0x0057 # LATIN CAPITAL LETTER W
0x58 0x0058 # LATIN CAPITAL LETTER X
0x59 0x0059 # LATIN CAPITAL LETTER Y
0x5A 0x005A # LATIN CAPITAL LETTER Z
0x5B <LR>+0x005B # LEFT SQUARE BRACKET, left-right
0x5C 0x005C # REVERSE SOLIDUS
0x5D <LR>+0x005D # RIGHT SQUARE BRACKET, left-right
0x5E 0x005E # CIRCUMFLEX ACCENT
0x5F 0x005F # LOW LINE
0x60 0x0060 # GRAVE ACCENT
0x61 0x0061 # LATIN SMALL LETTER A
0x62 0x0062 # LATIN SMALL LETTER B
0x63 0x0063 # LATIN SMALL LETTER C
0x64 0x0064 # LATIN SMALL LETTER D
0x65 0x0065 # LATIN SMALL LETTER E
0x66 0x0066 # LATIN SMALL LETTER F
0x67 0x0067 # LATIN SMALL LETTER G
0x68 0x0068 # LATIN SMALL LETTER H
0x69 0x0069 # LATIN SMALL LETTER I
0x6A 0x006A # LATIN SMALL LETTER J
0x6B 0x006B # LATIN SMALL LETTER K
0x6C 0x006C # LATIN SMALL LETTER L
0x6D 0x006D # LATIN SMALL LETTER M
0x6E 0x006E # LATIN SMALL LETTER N
0x6F 0x006F # LATIN SMALL LETTER O
0x70 0x0070 # LATIN SMALL LETTER P
0x71 0x0071 # LATIN SMALL LETTER Q
0x72 0x0072 # LATIN SMALL LETTER R
0x73 0x0073 # LATIN SMALL LETTER S
0x74 0x0074 # LATIN SMALL LETTER T
0x75 0x0075 # LATIN SMALL LETTER U
0x76 0x0076 # LATIN SMALL LETTER V
0x77 0x0077 # LATIN SMALL LETTER W
0x78 0x0078 # LATIN SMALL LETTER X
0x79 0x0079 # LATIN SMALL LETTER Y
0x7A 0x007A # LATIN SMALL LETTER Z
0x7B <LR>+0x007B # LEFT CURLY BRACKET, left-right
0x7C <LR>+0x007C # VERTICAL LINE, left-right
0x7D <LR>+0x007D # RIGHT CURLY BRACKET, left-right
0x7E 0x007E # TILDE
#
0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
0x81 0x05F2+0x05B7 # HEBREW LIGATURE YIDDISH YOD YOD PATAH
0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
0x8B 0x00E3 # LATIN SMALL LETTER A WITH TILDE
0x8C 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
0x93 0x00EC # LATIN SMALL LETTER I WITH GRAVE
0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
0x98 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
0x9B 0x00F5 # LATIN SMALL LETTER O WITH TILDE
0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
0xA0 <RL>+0x0020 # SPACE, right-left
0xA1 <RL>+0x0021 # EXCLAMATION MARK, right-left
0xA2 <RL>+0x0022 # QUOTATION MARK, right-left
0xA3 <RL>+0x0023 # NUMBER SIGN, right-left
0xA4 <RL>+0x0024 # DOLLAR SIGN, right-left
0xA5 <RL>+0x0025 # PERCENT SIGN, right-left
0xA6 0x20AA # NEW SHEQEL SIGN
0xA7 <RL>+0x0027 # APOSTROPHE, right-left
0xA8 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
0xA9 <RL>+0x0028 # LEFT PARENTHESIS, right-left
0xAA <RL>+0x002A # ASTERISK, right-left
0xAB <RL>+0x002B # PLUS SIGN, right-left
0xAC <RL>+0x002C # COMMA, right-left
0xAD <RL>+0x002D # HYPHEN-MINUS, right-left
0xAE <RL>+0x002E # FULL STOP, right-left
0xAF <RL>+0x002F # SOLIDUS, right-left
0xB0 <RL>+0x0030 # DIGIT ZERO, right-left (need override)
0xB1 <RL>+0x0031 # DIGIT ONE, right-left (need override)
0xB2 <RL>+0x0032 # DIGIT TWO, right-left (need override)
0xB3 <RL>+0x0033 # DIGIT THREE, right-left (need override)
0xB4 <RL>+0x0034 # DIGIT FOUR, right-left (need override)
0xB5 <RL>+0x0035 # DIGIT FIVE, right-left (need override)
0xB6 <RL>+0x0036 # DIGIT SIX, right-left (need override)
0xB7 <RL>+0x0037 # DIGIT SEVEN, right-left (need override)
0xB8 <RL>+0x0038 # DIGIT EIGHT, right-left (need override)
0xB9 <RL>+0x0039 # DIGIT NINE, right-left (need override)
0xBA <RL>+0x003A # COLON, right-left
0xBB <RL>+0x003B # SEMICOLON, right-left
0xBC <RL>+0x003C # LESS-THAN SIGN, right-left
0xBD <RL>+0x003D # EQUALS SIGN, right-left
0xBE <RL>+0x003E # GREATER-THAN SIGN, right-left
0xBF <RL>+0x003F # QUESTION MARK, right-left
0xC0 0xF86A+0x05DC+0x05B9 # Hebrew ligature lamed holam
0xC1 <RL>+0x201E # DOUBLE LOW-9 QUOTATION MARK, right-left
0xC2 0xF89B # Hebrew canoral 1
0xC3 0xF89C # Hebrew canoral 2
0xC4 0xF89D # Hebrew canoral 3
0xC5 0xF89E # Hebrew canoral 4
0xC6 0x05BC # HEBREW POINT DAGESH OR MAPIQ
0xC7 0xFB4B # HEBREW LETTER VAV WITH HOLAM
0xC8 0xFB35 # HEBREW LETTER VAV WITH DAGESH
0xC9 <RL>+0x2026 # HORIZONTAL ELLIPSIS, right-left
0xCA <RL>+0x00A0 # NO-BREAK SPACE, right-left
0xCB 0x05B8 # HEBREW POINT QAMATS
0xCC 0x05B7 # HEBREW POINT PATAH
0xCD 0x05B5 # HEBREW POINT TSERE
0xCE 0x05B6 # HEBREW POINT SEGOL
0xCF 0x05B4 # HEBREW POINT HIRIQ
0xD0 <RL>+0x2013 # EN DASH, right-left
0xD1 <RL>+0x2014 # EM DASH, right-left
0xD2 <RL>+0x201C # LEFT DOUBLE QUOTATION MARK, right-left
0xD3 <RL>+0x201D # RIGHT DOUBLE QUOTATION MARK, right-left
0xD4 <RL>+0x2018 # LEFT SINGLE QUOTATION MARK, right-left
0xD5 <RL>+0x2019 # RIGHT SINGLE QUOTATION MARK, right-left
0xD6 0xFB2A # HEBREW LETTER SHIN WITH SHIN DOT
0xD7 0xFB2B # HEBREW LETTER SHIN WITH SIN DOT
0xD8 0x05BF # HEBREW POINT RAFE
0xD9 0x05B0 # HEBREW POINT SHEVA
0xDA 0x05B2 # HEBREW POINT HATAF PATAH
0xDB 0x05B1 # HEBREW POINT HATAF SEGOL
0xDC 0x05BB # HEBREW POINT QUBUTS
0xDD 0x05B9 # HEBREW POINT HOLAM
0xDE 0x05B8+0xF87F # HEBREW POINT QAMATS, alternate form "qamats qatan"
0xDF 0x05B3 # HEBREW POINT HATAF QAMATS
0xE0 0x05D0 # HEBREW LETTER ALEF
0xE1 0x05D1 # HEBREW LETTER BET
0xE2 0x05D2 # HEBREW LETTER GIMEL
0xE3 0x05D3 # HEBREW LETTER DALET
0xE4 0x05D4 # HEBREW LETTER HE
0xE5 0x05D5 # HEBREW LETTER VAV
0xE6 0x05D6 # HEBREW LETTER ZAYIN
0xE7 0x05D7 # HEBREW LETTER HET
0xE8 0x05D8 # HEBREW LETTER TET
0xE9 0x05D9 # HEBREW LETTER YOD
0xEA 0x05DA # HEBREW LETTER FINAL KAF
0xEB 0x05DB # HEBREW LETTER KAF
0xEC 0x05DC # HEBREW LETTER LAMED
0xED 0x05DD # HEBREW LETTER FINAL MEM
0xEE 0x05DE # HEBREW LETTER MEM
0xEF 0x05DF # HEBREW LETTER FINAL NUN
0xF0 0x05E0 # HEBREW LETTER NUN
0xF1 0x05E1 # HEBREW LETTER SAMEKH
0xF2 0x05E2 # HEBREW LETTER AYIN
0xF3 0x05E3 # HEBREW LETTER FINAL PE
0xF4 0x05E4 # HEBREW LETTER PE
0xF5 0x05E5 # HEBREW LETTER FINAL TSADI
0xF6 0x05E6 # HEBREW LETTER TSADI
0xF7 0x05E7 # HEBREW LETTER QOF
0xF8 0x05E8 # HEBREW LETTER RESH
0xF9 0x05E9 # HEBREW LETTER SHIN
0xFA 0x05EA # HEBREW LETTER TAV
0xFB <RL>+0x007D # RIGHT CURLY BRACKET, right-left
0xFC <RL>+0x005D # RIGHT SQUARE BRACKET, right-left
0xFD <RL>+0x007B # LEFT CURLY BRACKET, right-left
0xFE <RL>+0x005B # LEFT SQUARE BRACKET, right-left
0xFF <RL>+0x007C # VERTICAL LINE, right-left
--- NEW FILE ---
#=======================================================================
# File name: TURKISH.TXT
#
# Contents: Map (external version) from Mac OS Turkish
# character set to Unicode 2.1 through Unicode 3.2
#
# Copyright: (c) 1995-2002 by Apple Computer, Inc., all rights
# reserved.
#
# Contact: address@hidden
#
# Changes:
#
# b3,c1 2002-Dec-19 Update URLs, notes. Matches internal
# utom<b1>.
# b02 1999-Sep-22 Update contact e-mail address. Matches
# internal utom<b1>, ufrm<b1>, and Text
# Encoding Converter version 1.5.
# n05 1998-Feb-05 Minor update to header comments
# n03 1997-Dec-14 Update to match internal utom<n5>, ufrm<n15>:
# Change standard mapping for 0xBD from U+2126
# to its canonical decomposition, U+03A9.
# n02 1995-Apr-15 First version (after fixing some typos).
# Matches internal ufrm<n4>.
#
# Standard header:
# ----------------
#
# Apple, the Apple logo, and Macintosh are trademarks of Apple
# Computer, Inc., registered in the United States and other countries.
# Unicode is a trademark of Unicode Inc. For the sake of brevity,
# throughout this document, "Macintosh" can be used to refer to
# Macintosh computers and "Unicode" can be used to refer to the
# Unicode standard.
#
# Apple makes no warranty or representation, either express or
# implied, with respect to these tables, their quality, accuracy, or
# fitness for a particular purpose. In no event will Apple be liable
# for direct, indirect, special, incidental, or consequential damages
# resulting from any defect or inaccuracy in this document or the
# accompanying tables.
#
# These mapping tables and character lists are subject to change.
# The latest tables should be available from the following:
#
# <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
#
# For general information about Mac OS encodings and these mapping
# tables, see the file "README.TXT".
#
# Format:
# -------
#
# Three tab-separated columns;
# '#' begins a comment which continues to the end of the line.
# Column #1 is the Mac OS Turkish code (in hex as 0xNN)
# Column #2 is the corresponding Unicode (in hex as 0xNNNN)
# Column #3 is a comment containing the Unicode name
#
# The entries are in Mac OS Turkish code order.
#
# Two of these mappings requires the use of a corporate character.
# See the file "CORPCHAR.TXT" and notes below.
#
# Control character mappings are not shown in this table, following
# the conventions of the standard UTC mapping tables. However, the
# Mac OS Roman character set uses the standard control characters at
# 0x00-0x1F and 0x7F.
#
# Notes on Mac OS Turkish:
# ------------------------
#
# Mac OS Turkish is used for Turkish.
#
# The Mac OS Turkish encoding shares the script code smRoman
# (0) with the Mac OS Roman encoding. To determine if the Turkish
# encoding is being used, you must also check if the system region
# code is 24, verTurkey.
#
# This character set is a variant of standard Mac OS Roman. It adds
# upper & lower G with breve, upper & lower S with cedilla, upper I
# with dot, and moves the dotless lower i from its position at 0xF5
# in standard Mac OS Roman to a position at 0xDD here (leaving the
# 0xF5 code point undefined in Mac OS Turkish). This gives a total
# of 7 code point differences from standard Mac OS Roman.
#
# Unicode mapping issues and notes:
# ---------------------------------
#
# The following corporate zone Unicode characters are used in this
# mapping:
#
# 0xF8A0 undefined1, used to map the single undefined code point
# in Mac OS Turkish (to obtain roundtrip fidelity for all
# code points).
# 0xF8FF Apple logo
#
# NOTE: The graphic image associated with the Apple logo character
# is not authorized for use without permission of Apple, and
# unauthorized use might constitute trademark infringement.
#
# Details of mapping changes in each version:
# -------------------------------------------
#
# Changes from version n02 to version n03:
#
# - Change mapping of 0xBD from U+2126 to its canonical
# decomposition, U+03A9.
#
##################
0x20 0x0020 # SPACE
0x21 0x0021 # EXCLAMATION MARK
0x22 0x0022 # QUOTATION MARK
0x23 0x0023 # NUMBER SIGN
0x24 0x0024 # DOLLAR SIGN
0x25 0x0025 # PERCENT SIGN
0x26 0x0026 # AMPERSAND
0x27 0x0027 # APOSTROPHE
0x28 0x0028 # LEFT PARENTHESIS
0x29 0x0029 # RIGHT PARENTHESIS
0x2A 0x002A # ASTERISK
0x2B 0x002B # PLUS SIGN
0x2C 0x002C # COMMA
0x2D 0x002D # HYPHEN-MINUS
0x2E 0x002E # FULL STOP
0x2F 0x002F # SOLIDUS
0x30 0x0030 # DIGIT ZERO
0x31 0x0031 # DIGIT ONE
0x32 0x0032 # DIGIT TWO
0x33 0x0033 # DIGIT THREE
0x34 0x0034 # DIGIT FOUR
0x35 0x0035 # DIGIT FIVE
0x36 0x0036 # DIGIT SIX
0x37 0x0037 # DIGIT SEVEN
0x38 0x0038 # DIGIT EIGHT
0x39 0x0039 # DIGIT NINE
0x3A 0x003A # COLON
0x3B 0x003B # SEMICOLON
0x3C 0x003C # LESS-THAN SIGN
0x3D 0x003D # EQUALS SIGN
0x3E 0x003E # GREATER-THAN SIGN
0x3F 0x003F # QUESTION MARK
0x40 0x0040 # COMMERCIAL AT
0x41 0x0041 # LATIN CAPITAL LETTER A
0x42 0x0042 # LATIN CAPITAL LETTER B
0x43 0x0043 # LATIN CAPITAL LETTER C
0x44 0x0044 # LATIN CAPITAL LETTER D
0x45 0x0045 # LATIN CAPITAL LETTER E
0x46 0x0046 # LATIN CAPITAL LETTER F
0x47 0x0047 # LATIN CAPITAL LETTER G
0x48 0x0048 # LATIN CAPITAL LETTER H
0x49 0x0049 # LATIN CAPITAL LETTER I
0x4A 0x004A # LATIN CAPITAL LETTER J
0x4B 0x004B # LATIN CAPITAL LETTER K
0x4C 0x004C # LATIN CAPITAL LETTER L
0x4D 0x004D # LATIN CAPITAL LETTER M
0x4E 0x004E # LATIN CAPITAL LETTER N
0x4F 0x004F # LATIN CAPITAL LETTER O
0x50 0x0050 # LATIN CAPITAL LETTER P
0x51 0x0051 # LATIN CAPITAL LETTER Q
0x52 0x0052 # LATIN CAPITAL LETTER R
0x53 0x0053 # LATIN CAPITAL LETTER S
0x54 0x0054 # LATIN CAPITAL LETTER T
0x55 0x0055 # LATIN CAPITAL LETTER U
0x56 0x0056 # LATIN CAPITAL LETTER V
0x57 0x0057 # LATIN CAPITAL LETTER W
0x58 0x0058 # LATIN CAPITAL LETTER X
0x59 0x0059 # LATIN CAPITAL LETTER Y
0x5A 0x005A # LATIN CAPITAL LETTER Z
0x5B 0x005B # LEFT SQUARE BRACKET
0x5C 0x005C # REVERSE SOLIDUS
0x5D 0x005D # RIGHT SQUARE BRACKET
0x5E 0x005E # CIRCUMFLEX ACCENT
0x5F 0x005F # LOW LINE
0x60 0x0060 # GRAVE ACCENT
0x61 0x0061 # LATIN SMALL LETTER A
0x62 0x0062 # LATIN SMALL LETTER B
0x63 0x0063 # LATIN SMALL LETTER C
0x64 0x0064 # LATIN SMALL LETTER D
0x65 0x0065 # LATIN SMALL LETTER E
0x66 0x0066 # LATIN SMALL LETTER F
0x67 0x0067 # LATIN SMALL LETTER G
0x68 0x0068 # LATIN SMALL LETTER H
0x69 0x0069 # LATIN SMALL LETTER I
0x6A 0x006A # LATIN SMALL LETTER J
0x6B 0x006B # LATIN SMALL LETTER K
0x6C 0x006C # LATIN SMALL LETTER L
0x6D 0x006D # LATIN SMALL LETTER M
0x6E 0x006E # LATIN SMALL LETTER N
0x6F 0x006F # LATIN SMALL LETTER O
0x70 0x0070 # LATIN SMALL LETTER P
0x71 0x0071 # LATIN SMALL LETTER Q
0x72 0x0072 # LATIN SMALL LETTER R
0x73 0x0073 # LATIN SMALL LETTER S
0x74 0x0074 # LATIN SMALL LETTER T
0x75 0x0075 # LATIN SMALL LETTER U
0x76 0x0076 # LATIN SMALL LETTER V
0x77 0x0077 # LATIN SMALL LETTER W
0x78 0x0078 # LATIN SMALL LETTER X
0x79 0x0079 # LATIN SMALL LETTER Y
0x7A 0x007A # LATIN SMALL LETTER Z
0x7B 0x007B # LEFT CURLY BRACKET
0x7C 0x007C # VERTICAL LINE
0x7D 0x007D # RIGHT CURLY BRACKET
0x7E 0x007E # TILDE
#
0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
0x81 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
0x8B 0x00E3 # LATIN SMALL LETTER A WITH TILDE
0x8C 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
0x93 0x00EC # LATIN SMALL LETTER I WITH GRAVE
0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
0x98 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
0x9B 0x00F5 # LATIN SMALL LETTER O WITH TILDE
0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
0xA0 0x2020 # DAGGER
0xA1 0x00B0 # DEGREE SIGN
0xA2 0x00A2 # CENT SIGN
0xA3 0x00A3 # POUND SIGN
0xA4 0x00A7 # SECTION SIGN
0xA5 0x2022 # BULLET
0xA6 0x00B6 # PILCROW SIGN
0xA7 0x00DF # LATIN SMALL LETTER SHARP S
0xA8 0x00AE # REGISTERED SIGN
0xA9 0x00A9 # COPYRIGHT SIGN
0xAA 0x2122 # TRADE MARK SIGN
0xAB 0x00B4 # ACUTE ACCENT
0xAC 0x00A8 # DIAERESIS
0xAD 0x2260 # NOT EQUAL TO
0xAE 0x00C6 # LATIN CAPITAL LETTER AE
0xAF 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
0xB0 0x221E # INFINITY
0xB1 0x00B1 # PLUS-MINUS SIGN
0xB2 0x2264 # LESS-THAN OR EQUAL TO
0xB3 0x2265 # GREATER-THAN OR EQUAL TO
0xB4 0x00A5 # YEN SIGN
0xB5 0x00B5 # MICRO SIGN
0xB6 0x2202 # PARTIAL DIFFERENTIAL
0xB7 0x2211 # N-ARY SUMMATION
0xB8 0x220F # N-ARY PRODUCT
0xB9 0x03C0 # GREEK SMALL LETTER PI
0xBA 0x222B # INTEGRAL
0xBB 0x00AA # FEMININE ORDINAL INDICATOR
0xBC 0x00BA # MASCULINE ORDINAL INDICATOR
0xBD 0x03A9 # GREEK CAPITAL LETTER OMEGA
0xBE 0x00E6 # LATIN SMALL LETTER AE
0xBF 0x00F8 # LATIN SMALL LETTER O WITH STROKE
0xC0 0x00BF # INVERTED QUESTION MARK
0xC1 0x00A1 # INVERTED EXCLAMATION MARK
0xC2 0x00AC # NOT SIGN
0xC3 0x221A # SQUARE ROOT
0xC4 0x0192 # LATIN SMALL LETTER F WITH HOOK
0xC5 0x2248 # ALMOST EQUAL TO
0xC6 0x2206 # INCREMENT
0xC7 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
0xC8 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
0xC9 0x2026 # HORIZONTAL ELLIPSIS
0xCA 0x00A0 # NO-BREAK SPACE
0xCB 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
0xCC 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
0xCD 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
0xCE 0x0152 # LATIN CAPITAL LIGATURE OE
0xCF 0x0153 # LATIN SMALL LIGATURE OE
0xD0 0x2013 # EN DASH
0xD1 0x2014 # EM DASH
0xD2 0x201C # LEFT DOUBLE QUOTATION MARK
0xD3 0x201D # RIGHT DOUBLE QUOTATION MARK
0xD4 0x2018 # LEFT SINGLE QUOTATION MARK
0xD5 0x2019 # RIGHT SINGLE QUOTATION MARK
0xD6 0x00F7 # DIVISION SIGN
0xD7 0x25CA # LOZENGE
0xD8 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
0xD9 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
0xDA 0x011E # LATIN CAPITAL LETTER G WITH BREVE
0xDB 0x011F # LATIN SMALL LETTER G WITH BREVE
0xDC 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE
0xDD 0x0131 # LATIN SMALL LETTER DOTLESS I
0xDE 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA
0xDF 0x015F # LATIN SMALL LETTER S WITH CEDILLA
0xE0 0x2021 # DOUBLE DAGGER
0xE1 0x00B7 # MIDDLE DOT
0xE2 0x201A # SINGLE LOW-9 QUOTATION MARK
0xE3 0x201E # DOUBLE LOW-9 QUOTATION MARK
0xE4 0x2030 # PER MILLE SIGN
0xE5 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
0xE6 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
0xE7 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
0xE8 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
0xE9 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
0xEA 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
0xEB 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
0xEC 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
0xED 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
0xEE 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
0xEF 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
0xF0 0xF8FF # Apple logo
0xF1 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
0xF2 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
0xF3 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
0xF4 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
0xF5 0xF8A0 # undefined1
0xF6 0x02C6 # MODIFIER LETTER CIRCUMFLEX ACCENT
0xF7 0x02DC # SMALL TILDE
0xF8 0x00AF # MACRON
0xF9 0x02D8 # BREVE
0xFA 0x02D9 # DOT ABOVE
0xFB 0x02DA # RING ABOVE
0xFC 0x00B8 # CEDILLA
0xFD 0x02DD # DOUBLE ACUTE ACCENT
0xFE 0x02DB # OGONEK
0xFF 0x02C7 # CARON
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnetlib/I18N/MidEast CP10004.cs, NONE, 1.1 CP10005.cs, NONE, 1.1 CP10081.cs, NONE, 1.1 mac-10004.ucm, NONE, 1.1 mac-10005.ucm, NONE, 1.1 mac-10081.ucm, NONE, 1.1,
Rhys Weatherley <address@hidden> <=
- Prev by Date:
[Dotgnu-pnet-commits] CVS: pnetlib/I18N/West CP10006.cs, NONE, 1.1 CP10010.cs, NONE, 1.1 CP10029.cs, NONE, 1.1 CP10082.cs, NONE, 1.1 mac-10006.ucm, NONE, 1.1 mac-10010.ucm, NONE, 1.1 mac-10029.ucm, NONE, 1.1 mac-10082.ucm, NONE, 1.1
- Next by Date:
[Dotgnu-pnet-commits] CVS: pnetlib/I18N/Other CP10007.cs, NONE, 1.1 CP10017.cs, NONE, 1.1 CP10021.cs, NONE, 1.1 mac-10007.ucm, NONE, 1.1 mac-10021.ucm, NONE, 1.1
- Previous by thread:
[Dotgnu-pnet-commits] CVS: pnetlib/I18N/West CP10006.cs, NONE, 1.1 CP10010.cs, NONE, 1.1 CP10029.cs, NONE, 1.1 CP10082.cs, NONE, 1.1 mac-10006.ucm, NONE, 1.1 mac-10010.ucm, NONE, 1.1 mac-10029.ucm, NONE, 1.1 mac-10082.ucm, NONE, 1.1
- Next by thread:
[Dotgnu-pnet-commits] CVS: pnetlib/I18N/Other CP10007.cs, NONE, 1.1 CP10017.cs, NONE, 1.1 CP10021.cs, NONE, 1.1 mac-10007.ucm, NONE, 1.1 mac-10021.ucm, NONE, 1.1
- Index(es):