1 jls.loader.provide('jls.io.cs.ISO_8859_1'); 2 3 jls.loader.require('jls.io.cs.Charset'); 4 jls.loader.require('jls.io.cs.SingleByteDecoder'); 5 jls.loader.require('jls.io.cs.SingleByteEncoder'); 6 7 jls.io.cs.ISO_8859_1 = jls.lang.Class.create(jls.io.cs.Charset, 8 { 9 initialize : function($super) { 10 $super('ISO-8859-1'); 11 }, 12 newDecoder : function() { 13 return new jls.io.cs.SingleByteDecoder(this, jls.io.cs.ISO_8859_1.byteToCharCode); 14 }, 15 newEncoder : function() { 16 return new jls.io.cs.SingleByteEncoder(this, jls.io.cs.ISO_8859_1.charCodeToByte); 17 } 18 }); 19 20 21 Object.extend(jls.io.cs.ISO_8859_1, 22 { 23 byteToCharCode : [ 24 0x0000, // NULL 25 0x0001, // START OF HEADING 26 0x0002, // START OF TEXT 27 0x0003, // END OF TEXT 28 0x0004, // END OF TRANSMISSION 29 0x0005, // ENQUIRY 30 0x0006, // ACKNOWLEDGE 31 0x0007, // BELL 32 0x0008, // BACKSPACE 33 0x0009, // HORIZONTAL TABULATION 34 0x000A, // LINE FEED 35 0x000B, // VERTICAL TABULATION 36 0x000C, // FORM FEED 37 0x000D, // CARRIAGE RETURN 38 0x000E, // SHIFT OUT 39 0x000F, // SHIFT IN 40 0x0010, // DATA LINK ESCAPE 41 0x0011, // DEVICE CONTROL ONE 42 0x0012, // DEVICE CONTROL TWO 43 0x0013, // DEVICE CONTROL THREE 44 0x0014, // DEVICE CONTROL FOUR 45 0x0015, // NEGATIVE ACKNOWLEDGE 46 0x0016, // SYNCHRONOUS IDLE 47 0x0017, // END OF TRANSMISSION BLOCK 48 0x0018, // CANCEL 49 0x0019, // END OF MEDIUM 50 0x001A, // SUBSTITUTE 51 0x001B, // ESCAPE 52 0x001C, // FILE SEPARATOR 53 0x001D, // GROUP SEPARATOR 54 0x001E, // RECORD SEPARATOR 55 0x001F, // UNIT SEPARATOR 56 0x0020, // SPACE 57 0x0021, // EXCLAMATION MARK 58 0x0022, // QUOTATION MARK 59 0x0023, // NUMBER SIGN 60 0x0024, // DOLLAR SIGN 61 0x0025, // PERCENT SIGN 62 0x0026, // AMPERSAND 63 0x0027, // APOSTROPHE 64 0x0028, // LEFT PARENTHESIS 65 0x0029, // RIGHT PARENTHESIS 66 0x002A, // ASTERISK 67 0x002B, // PLUS SIGN 68 0x002C, // COMMA 69 0x002D, // HYPHEN-MINUS 70 0x002E, // FULL STOP 71 0x002F, // SOLIDUS 72 0x0030, // DIGIT ZERO 73 0x0031, // DIGIT ONE 74 0x0032, // DIGIT TWO 75 0x0033, // DIGIT THREE 76 0x0034, // DIGIT FOUR 77 0x0035, // DIGIT FIVE 78 0x0036, // DIGIT SIX 79 0x0037, // DIGIT SEVEN 80 0x0038, // DIGIT EIGHT 81 0x0039, // DIGIT NINE 82 0x003A, // COLON 83 0x003B, // SEMICOLON 84 0x003C, // LESS-THAN SIGN 85 0x003D, // EQUALS SIGN 86 0x003E, // GREATER-THAN SIGN 87 0x003F, // QUESTION MARK 88 0x0040, // COMMERCIAL AT 89 0x0041, // LATIN CAPITAL LETTER A 90 0x0042, // LATIN CAPITAL LETTER B 91 0x0043, // LATIN CAPITAL LETTER C 92 0x0044, // LATIN CAPITAL LETTER D 93 0x0045, // LATIN CAPITAL LETTER E 94 0x0046, // LATIN CAPITAL LETTER F 95 0x0047, // LATIN CAPITAL LETTER G 96 0x0048, // LATIN CAPITAL LETTER H 97 0x0049, // LATIN CAPITAL LETTER I 98 0x004A, // LATIN CAPITAL LETTER J 99 0x004B, // LATIN CAPITAL LETTER K 100 0x004C, // LATIN CAPITAL LETTER L 101 0x004D, // LATIN CAPITAL LETTER M 102 0x004E, // LATIN CAPITAL LETTER N 103 0x004F, // LATIN CAPITAL LETTER O 104 0x0050, // LATIN CAPITAL LETTER P 105 0x0051, // LATIN CAPITAL LETTER Q 106 0x0052, // LATIN CAPITAL LETTER R 107 0x0053, // LATIN CAPITAL LETTER S 108 0x0054, // LATIN CAPITAL LETTER T 109 0x0055, // LATIN CAPITAL LETTER U 110 0x0056, // LATIN CAPITAL LETTER V 111 0x0057, // LATIN CAPITAL LETTER W 112 0x0058, // LATIN CAPITAL LETTER X 113 0x0059, // LATIN CAPITAL LETTER Y 114 0x005A, // LATIN CAPITAL LETTER Z 115 0x005B, // LEFT SQUARE BRACKET 116 0x005C, // REVERSE SOLIDUS 117 0x005D, // RIGHT SQUARE BRACKET 118 0x005E, // CIRCUMFLEX ACCENT 119 0x005F, // LOW LINE 120 0x0060, // GRAVE ACCENT 121 0x0061, // LATIN SMALL LETTER A 122 0x0062, // LATIN SMALL LETTER B 123 0x0063, // LATIN SMALL LETTER C 124 0x0064, // LATIN SMALL LETTER D 125 0x0065, // LATIN SMALL LETTER E 126 0x0066, // LATIN SMALL LETTER F 127 0x0067, // LATIN SMALL LETTER G 128 0x0068, // LATIN SMALL LETTER H 129 0x0069, // LATIN SMALL LETTER I 130 0x006A, // LATIN SMALL LETTER J 131 0x006B, // LATIN SMALL LETTER K 132 0x006C, // LATIN SMALL LETTER L 133 0x006D, // LATIN SMALL LETTER M 134 0x006E, // LATIN SMALL LETTER N 135 0x006F, // LATIN SMALL LETTER O 136 0x0070, // LATIN SMALL LETTER P 137 0x0071, // LATIN SMALL LETTER Q 138 0x0072, // LATIN SMALL LETTER R 139 0x0073, // LATIN SMALL LETTER S 140 0x0074, // LATIN SMALL LETTER T 141 0x0075, // LATIN SMALL LETTER U 142 0x0076, // LATIN SMALL LETTER V 143 0x0077, // LATIN SMALL LETTER W 144 0x0078, // LATIN SMALL LETTER X 145 0x0079, // LATIN SMALL LETTER Y 146 0x007A, // LATIN SMALL LETTER Z 147 0x007B, // LEFT CURLY BRACKET 148 0x007C, // VERTICAL LINE 149 0x007D, // RIGHT CURLY BRACKET 150 0x007E, // TILDE 151 0x007F, // DELETE 152 null, 153 null, 154 null, 155 null, 156 null, 157 null, 158 null, 159 null, 160 null, 161 null, 162 null, 163 null, 164 null, 165 null, 166 null, 167 null, 168 null, 169 null, 170 null, 171 null, 172 null, 173 null, 174 null, 175 null, 176 null, 177 null, 178 null, 179 null, 180 null, 181 null, 182 null, 183 null, 184 0x00A0, // NO-BREAK SPACE 185 0x00A1, // INVERTED EXCLAMATION MARK 186 0x00A2, // CENT SIGN 187 0x00A3, // POUND SIGN 188 0x00A4, // CURRENCY SIGN 189 0x00A5, // YEN SIGN 190 0x00A6, // BROKEN BAR 191 0x00A7, // SECTION SIGN 192 0x00A8, // DIAERESIS 193 0x00A9, // COPYRIGHT SIGN 194 0x00AA, // FEMININE ORDINAL INDICATOR 195 0x00AB, // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 196 0x00AC, // NOT SIGN 197 0x00AD, // SOFT HYPHEN 198 0x00AE, // REGISTERED SIGN 199 0x00AF, // MACRON 200 0x00B0, // DEGREE SIGN 201 0x00B1, // PLUS-MINUS SIGN 202 0x00B2, // SUPERSCRIPT TWO 203 0x00B3, // SUPERSCRIPT THREE 204 0x00B4, // ACUTE ACCENT 205 0x00B5, // MICRO SIGN 206 0x00B6, // PILCROW SIGN 207 0x00B7, // MIDDLE DOT 208 0x00B8, // CEDILLA 209 0x00B9, // SUPERSCRIPT ONE 210 0x00BA, // MASCULINE ORDINAL INDICATOR 211 0x00BB, // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 212 0x00BC, // VULGAR FRACTION ONE QUARTER 213 0x00BD, // VULGAR FRACTION ONE HALF 214 0x00BE, // VULGAR FRACTION THREE QUARTERS 215 0x00BF, // INVERTED QUESTION MARK 216 0x00C0, // LATIN CAPITAL LETTER A WITH GRAVE 217 0x00C1, // LATIN CAPITAL LETTER A WITH ACUTE 218 0x00C2, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX 219 0x00C3, // LATIN CAPITAL LETTER A WITH TILDE 220 0x00C4, // LATIN CAPITAL LETTER A WITH DIAERESIS 221 0x00C5, // LATIN CAPITAL LETTER A WITH RING ABOVE 222 0x00C6, // LATIN CAPITAL LETTER AE 223 0x00C7, // LATIN CAPITAL LETTER C WITH CEDILLA 224 0x00C8, // LATIN CAPITAL LETTER E WITH GRAVE 225 0x00C9, // LATIN CAPITAL LETTER E WITH ACUTE 226 0x00CA, // LATIN CAPITAL LETTER E WITH CIRCUMFLEX 227 0x00CB, // LATIN CAPITAL LETTER E WITH DIAERESIS 228 0x00CC, // LATIN CAPITAL LETTER I WITH GRAVE 229 0x00CD, // LATIN CAPITAL LETTER I WITH ACUTE 230 0x00CE, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX 231 0x00CF, // LATIN CAPITAL LETTER I WITH DIAERESIS 232 0x00D0, // LATIN CAPITAL LETTER ETH 233 0x00D1, // LATIN CAPITAL LETTER N WITH TILDE 234 0x00D2, // LATIN CAPITAL LETTER O WITH GRAVE 235 0x00D3, // LATIN CAPITAL LETTER O WITH ACUTE 236 0x00D4, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX 237 0x00D5, // LATIN CAPITAL LETTER O WITH TILDE 238 0x00D6, // LATIN CAPITAL LETTER O WITH DIAERESIS 239 0x00D7, // MULTIPLICATION SIGN 240 0x00D8, // LATIN CAPITAL LETTER O WITH STROKE 241 0x00D9, // LATIN CAPITAL LETTER U WITH GRAVE 242 0x00DA, // LATIN CAPITAL LETTER U WITH ACUTE 243 0x00DB, // LATIN CAPITAL LETTER U WITH CIRCUMFLEX 244 0x00DC, // LATIN CAPITAL LETTER U WITH DIAERESIS 245 0x00DD, // LATIN CAPITAL LETTER Y WITH ACUTE 246 0x00DE, // LATIN CAPITAL LETTER THORN 247 0x00DF, // LATIN SMALL LETTER SHARP S 248 0x00E0, // LATIN SMALL LETTER A WITH GRAVE 249 0x00E1, // LATIN SMALL LETTER A WITH ACUTE 250 0x00E2, // LATIN SMALL LETTER A WITH CIRCUMFLEX 251 0x00E3, // LATIN SMALL LETTER A WITH TILDE 252 0x00E4, // LATIN SMALL LETTER A WITH DIAERESIS 253 0x00E5, // LATIN SMALL LETTER A WITH RING ABOVE 254 0x00E6, // LATIN SMALL LETTER AE 255 0x00E7, // LATIN SMALL LETTER C WITH CEDILLA 256 0x00E8, // LATIN SMALL LETTER E WITH GRAVE 257 0x00E9, // LATIN SMALL LETTER E WITH ACUTE 258 0x00EA, // LATIN SMALL LETTER E WITH CIRCUMFLEX 259 0x00EB, // LATIN SMALL LETTER E WITH DIAERESIS 260 0x00EC, // LATIN SMALL LETTER I WITH GRAVE 261 0x00ED, // LATIN SMALL LETTER I WITH ACUTE 262 0x00EE, // LATIN SMALL LETTER I WITH CIRCUMFLEX 263 0x00EF, // LATIN SMALL LETTER I WITH DIAERESIS 264 0x00F0, // LATIN SMALL LETTER ETH 265 0x00F1, // LATIN SMALL LETTER N WITH TILDE 266 0x00F2, // LATIN SMALL LETTER O WITH GRAVE 267 0x00F3, // LATIN SMALL LETTER O WITH ACUTE 268 0x00F4, // LATIN SMALL LETTER O WITH CIRCUMFLEX 269 0x00F5, // LATIN SMALL LETTER O WITH TILDE 270 0x00F6, // LATIN SMALL LETTER O WITH DIAERESIS 271 0x00F7, // DIVISION SIGN 272 0x00F8, // LATIN SMALL LETTER O WITH STROKE 273 0x00F9, // LATIN SMALL LETTER U WITH GRAVE 274 0x00FA, // LATIN SMALL LETTER U WITH ACUTE 275 0x00FB, // LATIN SMALL LETTER U WITH CIRCUMFLEX 276 0x00FC, // LATIN SMALL LETTER U WITH DIAERESIS 277 0x00FD, // LATIN SMALL LETTER Y WITH ACUTE 278 0x00FE, // LATIN SMALL LETTER THORN 279 0x00FF // LATIN SMALL LETTER Y WITH DIAERESIS 280 ], 281 charCodeToByte : [] 282 }); 283 284 // static 285 jls.io.cs.ISO_8859_1.charCodeToByte = jls.io.cs.SingleByteEncoder.reverseMapping(jls.io.cs.ISO_8859_1.byteToCharCode); 286 jls.io.cs.Charset.addCharset(new jls.io.cs.ISO_8859_1()); 287 288