[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnetlib/I18N/Rare CP709.cs, NONE, 1.1 iso-903
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnetlib/I18N/Rare CP709.cs, NONE, 1.1 iso-9036.ucm, NONE, 1.1 |
Date: |
Sat, 30 Aug 2003 02:38:01 -0400 |
Update of /cvsroot/dotgnu-pnet/pnetlib/I18N/Rare
In directory subversions:/tmp/cvs-serv24571/I18N/Rare
Added Files:
CP709.cs iso-9036.ucm
Log Message:
Add code page 709 (ASMO 449).
--- NEW FILE ---
/*
* CP709.cs - Arabic - ASMO 449+, BCON V4 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 "iso-9036.ucm".
namespace I18N.Rare
{
using System;
using I18N.Common;
public class CP709 : ByteEncoding
{
public CP709()
: base(709, ToChars, "Arabic - ASMO 449+, BCON V4",
"windows-709", "windows-709", "windows-709",
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',
'\u00A4', '\u0025', '\u0026', '\u0027', '\u0028', '\u0029',
'\u002A', '\u002B', '\u060C', '\u002D', '\u002E', '\u002F',
'\u0030', '\u0031', '\u0032', '\u0033', '\u0034', '\u0035',
'\u0036', '\u0037', '\u0038', '\u0039', '\u003A', '\u061B',
'\u003C', '\u003D', '\u003E', '\u061F', '\u0040', '\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', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u007B', '\u007C', '\u007D',
'\u203E', '\u007F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F', '\u003F', '\u003F',
'\u003F', '\u003F', '\u003F', '\u003F',
};
protected override void ToBytes(char[] chars, int charIndex, int
charCount,
byte[] bytes, int byteIndex)
{
int ch;
while(charCount > 0)
{
ch = (int)(chars[charIndex++]);
if(ch >= 36) switch(ch)
{
case 0x0025:
case 0x0026:
case 0x0027:
case 0x0028:
case 0x0029:
case 0x002A:
case 0x002B:
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 0x003C:
case 0x003D:
case 0x003E:
case 0x0040:
case 0x005B:
case 0x005C:
case 0x005D:
case 0x005E:
case 0x005F:
case 0x007B:
case 0x007C:
case 0x007D:
case 0x007F:
break;
case 0x00A4: ch = 0x24; break;
case 0x060C: ch = 0x2C; break;
case 0x061B: ch = 0x3B; break;
case 0x061F: ch = 0x3F; 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 -= 0x05E0;
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 -= 0x05E0;
break;
case 0x203E: ch = 0x7E; break;
default: ch = 0x3F; break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
protected override void ToBytes(String s, int charIndex, int charCount,
byte[] bytes, int byteIndex)
{
int ch;
while(charCount > 0)
{
ch = (int)(s[charIndex++]);
if(ch >= 36) switch(ch)
{
case 0x0025:
case 0x0026:
case 0x0027:
case 0x0028:
case 0x0029:
case 0x002A:
case 0x002B:
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 0x003C:
case 0x003D:
case 0x003E:
case 0x0040:
case 0x005B:
case 0x005C:
case 0x005D:
case 0x005E:
case 0x005F:
case 0x007B:
case 0x007C:
case 0x007D:
case 0x007F:
break;
case 0x00A4: ch = 0x24; break;
case 0x060C: ch = 0x2C; break;
case 0x061B: ch = 0x3B; break;
case 0x061F: ch = 0x3F; 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 -= 0x05E0;
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 -= 0x05E0;
break;
case 0x203E: ch = 0x7E; break;
default: ch = 0x3F; break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
}; // class CP709
public class ENCwindows_709 : CP709
{
public ENCwindows_709() : base() {}
}; // class ENCwindows_709
}; // namespace I18N.Rare
--- NEW FILE ---
# Code page 709 - ASMO 449 (ISO-9036)
<U0000> \x00 |0
0x01 0x0001 # START OF HEADING (SOH)
0x02 0x0002 # START OF TEXT (STX)
0x03 0x0003 # END OF TEXT (ETX)
0x04 0x0004 # END OF TRANSMISSION (EOT)
0x05 0x0005 # ENQUIRY (ENQ)
0x06 0x0006 # ACKNOWLEDGE (ACK)
0x07 0x0007 # BELL (BEL)
0x08 0x0008 # BACKSPACE (BS)
0x09 0x0009 # CHARACTER TABULATION (HT)
0x0A 0x000A # LINE FEED (LF)
0x0B 0x000B # LINE TABULATION (VT)
0x0C 0x000C # FORM FEED (FF)
0x0D 0x000D # CARRIAGE RETURN (CR)
0x0E 0x000E # SHIFT OUT (SO)
0x0F 0x000F # SHIFT IN (SI)
0x10 0x0010 # DATALINK ESCAPE (DLE)
0x11 0x0011 # DEVICE CONTROL ONE (DC1)
0x12 0x0012 # DEVICE CONTROL TWO (DC2)
0x13 0x0013 # DEVICE CONTROL THREE (DC3)
0x14 0x0014 # DEVICE CONTROL FOUR (DC4)
0x15 0x0015 # NEGATIVE ACKNOWLEDGE (NAK)
0x16 0x0016 # SYNCHRONOUS IDLE (SYN)
0x17 0x0017 # END OF TRANSMISSION BLOCK (ETB)
0x18 0x0018 # CANCEL (CAN)
0x19 0x0019 # END OF MEDIUM (EM)
0x1A 0x001A # SUBSTITUTE (SUB)
0x1B 0x001B # ESCAPE (ESC)
0x1C 0x001C # FILE SEPARATOR (IS4)
0x1D 0x001D # GROUP SEPARATOR (IS3)
0x1E 0x001E # RECORD SEPARATOR (IS2)
0x1F 0x001F # UNIT SEPARATOR (IS1)
0x20 0x0020 # SPACE
0x21 0x0021 # EXCLAMATION MARK
0x22 0x0022 # QUOTATION MARK
0x23 0x0023 # NUMBER SIGN
0x24 0x00A4 # CURRENCY 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 0x060C # ARABIC 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 0x061B # ARABIC SEMICOLON
0x3C 0x003C # LESS-THAN SIGN
0x3D 0x003D # EQUALS SIGN
0x3E 0x003E # GREATER-THAN SIGN
0x3F 0x061F # ARABIC QUESTION MARK
0x40 0x0040 # COMMERCIAL AT
0x41 0x0621 # ARABIC LETTER HAMZA
0x42 0x0622 # ARABIC LETTER ALEF WITH MADDA ABOVE
0x43 0x0623 # ARABIC LETTER ALEF WITH HAMZA ABOVE
0x44 0x0624 # ARABIC LETTER WAW WITH HAMZA ABOVE
0x45 0x0625 # ARABIC LETTER ALEF WITH HAMZA BELOW
0x46 0x0626 # ARABIC LETTER YEH WITH HAMZA ABOVE
0x47 0x0627 # ARABIC LETTER ALEF
0x48 0x0628 # ARABIC LETTER BEH
0x49 0x0629 # ARABIC LETTER TEH MARBUTA
0x4A 0x062A # ARABIC LETTER TEH
0x4B 0x062B # ARABIC LETTER THEH
0x4C 0x062C # ARABIC LETTER JEEM
0x4D 0x062D # ARABIC LETTER HAH
0x4E 0x062E # ARABIC LETTER KHAH
0x4F 0x062F # ARABIC LETTER DAL
0x50 0x0630 # ARABIC LETTER THAL
0x51 0x0631 # ARABIC LETTER REH
0x52 0x0632 # ARABIC LETTER ZAIN
0x53 0x0633 # ARABIC LETTER SEEN
0x54 0x0634 # ARABIC LETTER SHEEN
0x55 0x0635 # ARABIC LETTER SAD
0x56 0x0636 # ARABIC LETTER DAD
0x57 0x0637 # ARABIC LETTER TAH
0x58 0x0638 # ARABIC LETTER ZAH
0x59 0x0639 # ARABIC LETTER AIN
0x5A 0x063A # ARABIC LETTER GHAIN
0x5B 0x005B # LEFT SQUARE BRACKET
0x5C 0x005C # REVERSE SOLIDUS
0x5D 0x005D # RIGHT SQUARE BRACKET
0x5E 0x005E # CIRCUMFLEX ACCENT
0x5F 0x005F # LOW LINE
0x60 0x0640 # ARABIC TATWEEL
0x61 0x0641 # ARABIC LETTER FEH
0x62 0x0642 # ARABIC LETTER QAF
0x63 0x0643 # ARABIC LETTER KAF
0x64 0x0644 # ARABIC LETTER LAM
0x65 0x0645 # ARABIC LETTER MEEM
0x66 0x0646 # ARABIC LETTER NOON
0x67 0x0647 # ARABIC LETTER HEH
0x68 0x0648 # ARABIC LETTER WAW
0x69 0x0649 # ARABIC LETTER ALEF MAKSURA
0x6A 0x064A # ARABIC LETTER YEH
0x6B 0x064B # ARABIC FATHATAN
0x6C 0x064C # ARABIC DAMMATAN
0x6D 0x064D # ARABIC KASRATAN
0x6E 0x064E # ARABIC FATHA
0x6F 0x064F # ARABIC DAMMA
0x70 0x0650 # ARABIC KASRA
0x71 0x0651 # ARABIC SHADDA
0x72 0x0652 # ARABIC SUKUN
0x7B 0x007B # LEFT CURLY BRACKET
0x7C 0x007C # VERTICAL LINE
0x7D 0x007D # RIGHT CURLY BRACKET
0x7E 0x203E # OVERLINE
0x7F 0x007F # DELETE (DEL)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnetlib/I18N/Rare CP709.cs, NONE, 1.1 iso-9036.ucm, NONE, 1.1,
Rhys Weatherley <address@hidden> <=
- Prev by Date:
[Dotgnu-pnet-commits] CVS: pnetlib ChangeLog,1.1310,1.1311
- Next by Date:
[Dotgnu-pnet-commits] CVS: pnetlib/I18N/tools cvt.sh, 1.7, 1.8 ucm2cp.c, 1.4, 1.5
- Previous by thread:
[Dotgnu-pnet-commits] CVS: pnetlib ChangeLog,1.1310,1.1311
- Next by thread:
[Dotgnu-pnet-commits] CVS: pnetlib/I18N/tools cvt.sh, 1.7, 1.8 ucm2cp.c, 1.4, 1.5
- Index(es):