1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21/* 22 * ICU License - ICU 1.8.1 and later 23 * 24 * COPYRIGHT AND PERMISSION NOTICE 25 * 26 * Copyright (c) 1995-2005 International Business Machines Corporation and others 27 * All rights reserved. 28 * 29 * Permission is hereby granted, free of charge, to any person obtaining a 30 * copy of this software and associated documentation files (the 31 * "Software"), to deal in the Software without restriction, including 32 * without limitation the rights to use, copy, modify, merge, publish, 33 * distribute, and/or sell copies of the Software, and to permit persons 34 * to whom the Software is furnished to do so, provided that the above 35 * copyright notice(s) and this permission notice appear in all copies of 36 * the Software and that both the above copyright notice(s) and this 37 * permission notice appear in supporting documentation. 38 * 39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 40 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 41 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 42 * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 43 * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL 44 * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING 45 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, 46 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 47 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 48 * 49 * Except as contained in this notice, the name of a copyright holder 50 * shall not be used in advertising or otherwise to promote the sale, use 51 * or other dealings in this Software without prior written authorization 52 * of the copyright holder. 53 * 54 * -------------------------------------------------------------------------- 55 * All trademarks and registered trademarks mentioned herein are the property 56 * of their respective owners. 57 */ 58// 59// Copyright (c) 1999-2000 by Sun Microsystems, Inc. 60// All rights reserved. 61// 62// 63// This file orginally came from IBM-278+UTF-8.src. The only significant 64// thing changed is the replacement of mapping from Intl Currency Symbol to 65// euro symbol. 66// 67 68IBM-1143%UTF-8 { 69 direction { 70 condition { 71 between 0x0...0x3; 72 } map { 73 0x00 0x00 // U+0000 74 0x01 0x01 // U+0001 75 0x02 0x02 // U+0002 76 0x03 0x03 // U+0003 77 }; 78 condition { 79 between 0x4...0x4; 80 } map { 81 0x04 0xC29C // U+009C 82 }; 83 condition { 84 between 0x5...0x5; 85 } map { 86 0x05 0x09 // U+0009 87 }; 88 condition { 89 between 0x6...0x6; 90 } map { 91 0x06 0xC286 // U+0086 92 }; 93 condition { 94 between 0x7...0x7; 95 } map { 96 0x07 0x7F // U+007F 97 }; 98 condition { 99 between 0x8...0xA; 100 } map { 101 0x08 0xC297 // U+0097 102 0x09 0xC28D // U+008D 103 0x0A 0xC28E // U+008E 104 }; 105 condition { 106 between 0xB...0x13; 107 } map { 108 0x0B 0x0B // U+000B 109 0x0C 0x0C // U+000C 110 0x0D 0x0D // U+000D 111 0x0E 0x0E // U+000E 112 0x0F 0x0F // U+000F 113 0x10 0x10 // U+0010 114 0x11 0x11 // U+0011 115 0x12 0x12 // U+0012 116 0x13 0x13 // U+0013 117 }; 118 condition { 119 between 0x14...0x15; 120 } map { 121 0x14 0xC29D // U+009D 122 0x15 0xC285 // U+0085 123 }; 124 condition { 125 between 0x16...0x16; 126 } map { 127 0x16 0x08 // U+0008 128 }; 129 condition { 130 between 0x17...0x17; 131 } map { 132 0x17 0xC287 // U+0087 133 }; 134 condition { 135 between 0x18...0x19; 136 } map { 137 0x18 0x18 // U+0018 138 0x19 0x19 // U+0019 139 }; 140 condition { 141 between 0x1A...0x1B; 142 } map { 143 0x1A 0xC292 // U+0092 144 0x1B 0xC28F // U+008F 145 }; 146 condition { 147 between 0x1C...0x1F; 148 } map { 149 0x1C 0x1C // U+001C 150 0x1D 0x1D // U+001D 151 0x1E 0x1E // U+001E 152 0x1F 0x1F // U+001F 153 }; 154 condition { 155 between 0x20...0x24; 156 } map { 157 0x20 0xC280 // U+0080 158 0x21 0xC281 // U+0081 159 0x22 0xC282 // U+0082 160 0x23 0xC283 // U+0083 161 0x24 0xC284 // U+0084 162 }; 163 condition { 164 between 0x25...0x27; 165 } map { 166 0x25 0x0A // U+000A 167 0x26 0x17 // U+0017 168 0x27 0x1B // U+001B 169 }; 170 condition { 171 between 0x28...0x2C; 172 } map { 173 0x28 0xC288 // U+0088 174 0x29 0xC289 // U+0089 175 0x2A 0xC28A // U+008A 176 0x2B 0xC28B // U+008B 177 0x2C 0xC28C // U+008C 178 }; 179 condition { 180 between 0x2D...0x2F; 181 } map { 182 0x2D 0x05 // U+0005 183 0x2E 0x06 // U+0006 184 0x2F 0x07 // U+0007 185 }; 186 condition { 187 between 0x30...0x31; 188 } map { 189 0x30 0xC290 // U+0090 190 0x31 0xC291 // U+0091 191 }; 192 condition { 193 between 0x32...0x32; 194 } map { 195 0x32 0x16 // U+0016 196 }; 197 condition { 198 between 0x33...0x36; 199 } map { 200 0x33 0xC293 // U+0093 201 0x34 0xC294 // U+0094 202 0x35 0xC295 // U+0095 203 0x36 0xC296 // U+0096 204 }; 205 condition { 206 between 0x37...0x37; 207 } map { 208 0x37 0x04 // U+0004 209 }; 210 condition { 211 between 0x38...0x3B; 212 } map { 213 0x38 0xC298 // U+0098 214 0x39 0xC299 // U+0099 215 0x3A 0xC29A // U+009A 216 0x3B 0xC29B // U+009B 217 }; 218 condition { 219 between 0x3C...0x3D; 220 } map { 221 0x3C 0x14 // U+0014 222 0x3D 0x15 // U+0015 223 }; 224 condition { 225 between 0x3E...0x3E; 226 } map { 227 0x3E 0xC29E // U+009E 228 }; 229 condition { 230 between 0x3F...0x40; 231 } map { 232 0x3F 0x1A // U+001A 233 0x40 0x20 // U+0020 234 }; 235 condition { 236 between 0x41...0x42; 237 } map { 238 0x41 0xC2A0 // U+00A0 239 0x42 0xC3A2 // U+00E2 240 }; 241 condition { 242 between 0x43...0x43; 243 } map { 244 0x43 0x7B // U+007B 245 }; 246 condition { 247 between 0x44...0x46; 248 } map { 249 0x44 0xC3A0 // U+00E0 250 0x45 0xC3A1 // U+00E1 251 0x46 0xC3A3 // U+00E3 252 }; 253 condition { 254 between 0x47...0x47; 255 } map { 256 0x47 0x7D // U+007D 257 }; 258 condition { 259 between 0x48...0x4A; 260 } map { 261 0x48 0xC3A7 // U+00E7 262 0x49 0xC3B1 // U+00F1 263 0x4A 0xC2A7 // U+00A7 264 }; 265 condition { 266 between 0x4B...0x51; 267 } map { 268 0x4B 0x2E // U+002E 269 0x4C 0x3C // U+003C 270 0x4D 0x28 // U+0028 271 0x4E 0x2B // U+002B 272 0x4F 0x21 // U+0021 273 0x50 0x26 // U+0026 274 0x51 0x60 // U+0060 275 }; 276 condition { 277 between 0x52...0x59; 278 } map { 279 0x52 0xC3AA // U+00EA 280 0x53 0xC3AB // U+00EB 281 0x54 0xC3A8 // U+00E8 282 0x55 0xC3AD // U+00ED 283 0x56 0xC3AE // U+00EE 284 0x57 0xC3AF // U+00EF 285 0x58 0xC3AC // U+00EC 286 0x59 0xC39F // U+00DF 287 }; 288 condition { 289 between 0x5a...0x5a; 290 } map { 291 0x5A 0xe282ac // U+20AC 292 }; 293 condition { 294 between 0x5b...0x5b; 295 } map { 296 0x5B 0xC385 // U+00C5 297 }; 298 condition { 299 between 0x5C...0x61; 300 } map { 301 0x5C 0x2A // U+002A 302 0x5D 0x29 // U+0029 303 0x5E 0x3B // U+003B 304 0x5F 0x5E // U+005E 305 0x60 0x2D // U+002D 306 0x61 0x2F // U+002F 307 }; 308 condition { 309 between 0x62...0x62; 310 } map { 311 0x62 0xC382 // U+00C2 312 }; 313 condition { 314 between 0x63...0x63; 315 } map { 316 0x63 0x23 // U+0023 317 }; 318 condition { 319 between 0x64...0x66; 320 } map { 321 0x64 0xC380 // U+00C0 322 0x65 0xC381 // U+00C1 323 0x66 0xC383 // U+00C3 324 }; 325 condition { 326 between 0x67...0x67; 327 } map { 328 0x67 0x24 // U+0024 329 }; 330 condition { 331 between 0x68...0x6A; 332 } map { 333 0x68 0xC387 // U+00C7 334 0x69 0xC391 // U+00D1 335 0x6A 0xC3B6 // U+00F6 336 }; 337 condition { 338 between 0x6B...0x6F; 339 } map { 340 0x6B 0x2C // U+002C 341 0x6C 0x25 // U+0025 342 0x6D 0x5F // U+005F 343 0x6E 0x3E // U+003E 344 0x6F 0x3F // U+003F 345 }; 346 condition { 347 between 0x70...0x70; 348 } map { 349 0x70 0xC3B8 // U+00F8 350 }; 351 condition { 352 between 0x71...0x71; 353 } map { 354 0x71 0x5C // U+005C 355 }; 356 condition { 357 between 0x72...0x79; 358 } map { 359 0x72 0xC38A // U+00CA 360 0x73 0xC38B // U+00CB 361 0x74 0xC388 // U+00C8 362 0x75 0xC38D // U+00CD 363 0x76 0xC38E // U+00CE 364 0x77 0xC38F // U+00CF 365 0x78 0xC38C // U+00CC 366 0x79 0xC3A9 // U+00E9 367 }; 368 condition { 369 between 0x7A...0x7A; 370 } map { 371 0x7A 0x3A // U+003A 372 }; 373 condition { 374 between 0x7B...0x7C; 375 } map { 376 0x7B 0xC384 // U+00C4 377 0x7C 0xC396 // U+00D6 378 }; 379 condition { 380 between 0x7D...0x7F; 381 } map { 382 0x7D 0x27 // U+0027 383 0x7E 0x3D // U+003D 384 0x7F 0x22 // U+0022 385 }; 386 condition { 387 between 0x80...0x80; 388 } map { 389 0x80 0xC398 // U+00D8 390 }; 391 condition { 392 between 0x81...0x89; 393 } map { 394 0x81 0x61 // U+0061 395 0x82 0x62 // U+0062 396 0x83 0x63 // U+0063 397 0x84 0x64 // U+0064 398 0x85 0x65 // U+0065 399 0x86 0x66 // U+0066 400 0x87 0x67 // U+0067 401 0x88 0x68 // U+0068 402 0x89 0x69 // U+0069 403 }; 404 condition { 405 between 0x8A...0x90; 406 } map { 407 0x8A 0xC2AB // U+00AB 408 0x8B 0xC2BB // U+00BB 409 0x8C 0xC3B0 // U+00F0 410 0x8D 0xC3BD // U+00FD 411 0x8E 0xC3BE // U+00FE 412 0x8F 0xC2B1 // U+00B1 413 0x90 0xC2B0 // U+00B0 414 }; 415 condition { 416 between 0x91...0x99; 417 } map { 418 0x91 0x6A // U+006A 419 0x92 0x6B // U+006B 420 0x93 0x6C // U+006C 421 0x94 0x6D // U+006D 422 0x95 0x6E // U+006E 423 0x96 0x6F // U+006F 424 0x97 0x70 // U+0070 425 0x98 0x71 // U+0071 426 0x99 0x72 // U+0072 427 }; 428 condition { 429 between 0x9A...0x9E; 430 } map { 431 0x9A 0xC2AA // U+00AA 432 0x9B 0xC2BA // U+00BA 433 0x9C 0xC3A6 // U+00E6 434 0x9D 0xC2B8 // U+00B8 435 0x9E 0xC386 // U+00C6 436 }; 437 condition { 438 between 0x9F...0x9F; 439 } map { 440 0x9F 0x5D // U+005D 441 }; 442 condition { 443 between 0xA0...0xA1; 444 } map { 445 0xA0 0xC2B5 // U+00B5 446 0xA1 0xC3BC // U+00FC 447 }; 448 condition { 449 between 0xA2...0xA9; 450 } map { 451 0xA2 0x73 // U+0073 452 0xA3 0x74 // U+0074 453 0xA4 0x75 // U+0075 454 0xA5 0x76 // U+0076 455 0xA6 0x77 // U+0077 456 0xA7 0x78 // U+0078 457 0xA8 0x79 // U+0079 458 0xA9 0x7A // U+007A 459 }; 460 condition { 461 between 0xAA...0xB4; 462 } map { 463 0xAA 0xC2A1 // U+00A1 464 0xAB 0xC2BF // U+00BF 465 0xAC 0xC390 // U+00D0 466 0xAD 0xC39D // U+00DD 467 0xAE 0xC39E // U+00DE 468 0xAF 0xC2AE // U+00AE 469 0xB0 0xC2A2 // U+00A2 470 0xB1 0xC2A3 // U+00A3 471 0xB2 0xC2A5 // U+00A5 472 0xB3 0xC2B7 // U+00B7 473 0xB4 0xC2A9 // U+00A9 474 }; 475 condition { 476 between 0xB5...0xB5; 477 } map { 478 0xB5 0x5B // U+005B 479 }; 480 condition { 481 between 0xB6...0xBA; 482 } map { 483 0xB6 0xC2B6 // U+00B6 484 0xB7 0xC2BC // U+00BC 485 0xB8 0xC2BD // U+00BD 486 0xB9 0xC2BE // U+00BE 487 0xBA 0xC2AC // U+00AC 488 }; 489 condition { 490 between 0xBB...0xBB; 491 } map { 492 0xBB 0x7C // U+007C 493 }; 494 condition { 495 between 0xBC...0xC0; 496 } map { 497 0xBC 0xC2AF // U+00AF 498 0xBD 0xC2A8 // U+00A8 499 0xBE 0xC2B4 // U+00B4 500 0xBF 0xC397 // U+00D7 501 0xC0 0xC3A4 // U+00E4 502 }; 503 condition { 504 between 0xC1...0xC9; 505 } map { 506 0xC1 0x41 // U+0041 507 0xC2 0x42 // U+0042 508 0xC3 0x43 // U+0043 509 0xC4 0x44 // U+0044 510 0xC5 0x45 // U+0045 511 0xC6 0x46 // U+0046 512 0xC7 0x47 // U+0047 513 0xC8 0x48 // U+0048 514 0xC9 0x49 // U+0049 515 }; 516 condition { 517 between 0xCA...0xD0; 518 } map { 519 0xCA 0xC2AD // U+00AD 520 0xCB 0xC3B4 // U+00F4 521 0xCC 0xC2A6 // U+00A6 522 0xCD 0xC3B2 // U+00F2 523 0xCE 0xC3B3 // U+00F3 524 0xCF 0xC3B5 // U+00F5 525 0xD0 0xC3A5 // U+00E5 526 }; 527 condition { 528 between 0xD1...0xD9; 529 } map { 530 0xD1 0x4A // U+004A 531 0xD2 0x4B // U+004B 532 0xD3 0x4C // U+004C 533 0xD4 0x4D // U+004D 534 0xD5 0x4E // U+004E 535 0xD6 0x4F // U+004F 536 0xD7 0x50 // U+0050 537 0xD8 0x51 // U+0051 538 0xD9 0x52 // U+0052 539 }; 540 condition { 541 between 0xDA...0xDB; 542 } map { 543 0xDA 0xC2B9 // U+00B9 544 0xDB 0xC3BB // U+00FB 545 }; 546 condition { 547 between 0xDC...0xDC; 548 } map { 549 0xDC 0x7E // U+007E 550 }; 551 condition { 552 between 0xDD...0xE1; 553 } map { 554 0xDD 0xC3B9 // U+00F9 555 0xDE 0xC3BA // U+00FA 556 0xDF 0xC3BF // U+00FF 557 0xE0 0xC389 // U+00C9 558 0xE1 0xC3B7 // U+00F7 559 }; 560 condition { 561 between 0xE2...0xE9; 562 } map { 563 0xE2 0x53 // U+0053 564 0xE3 0x54 // U+0054 565 0xE4 0x55 // U+0055 566 0xE5 0x56 // U+0056 567 0xE6 0x57 // U+0057 568 0xE7 0x58 // U+0058 569 0xE8 0x59 // U+0059 570 0xE9 0x5A // U+005A 571 }; 572 condition { 573 between 0xEA...0xEB; 574 } map { 575 0xEA 0xC2B2 // U+00B2 576 0xEB 0xC394 // U+00D4 577 }; 578 condition { 579 between 0xEC...0xEC; 580 } map { 581 0xEC 0x40 // U+0040 582 }; 583 condition { 584 between 0xED...0xEF; 585 } map { 586 0xED 0xC392 // U+00D2 587 0xEE 0xC393 // U+00D3 588 0xEF 0xC395 // U+00D5 589 }; 590 condition { 591 between 0xF0...0xF9; 592 } map { 593 0xF0 0x30 // U+0030 594 0xF1 0x31 // U+0031 595 0xF2 0x32 // U+0032 596 0xF3 0x33 // U+0033 597 0xF4 0x34 // U+0034 598 0xF5 0x35 // U+0035 599 0xF6 0x36 // U+0036 600 0xF7 0x37 // U+0037 601 0xF8 0x38 // U+0038 602 0xF9 0x39 // U+0039 603 }; 604 condition { 605 between 0xFA...0xFF; 606 } map { 607 0xFA 0xC2B3 // U+00B3 608 0xFB 0xC39B // U+00DB 609 0xFC 0xC39C // U+00DC 610 0xFD 0xC399 // U+00D9 611 0xFE 0xC39A // U+00DA 612 0xFF 0xC29F // U+009F 613 }; 614 }; 615} 616