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) 2000 by Sun Microsystems, Inc. 60// All rights reserved. 61// 62// 63// This file originally came from IBM-871+UTF-8.src file and the only 64// significant change is re-mapping of International Currency Symbol mapping 65// to euro mapping. 66// 67 68IBM-1149%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...0x4a; 237 } map { 238 0x41 0xc2a0 // U+00A0 239 0x42 0xc3a2 // U+00E2 240 0x43 0xc3a4 // U+00E4 241 0x44 0xc3a0 // U+00E0 242 0x45 0xc3a1 // U+00E1 243 0x46 0xc3a3 // U+00E3 244 0x47 0xc3a5 // U+00E5 245 0x48 0xc3a7 // U+00E7 246 0x49 0xc3b1 // U+00F1 247 0x4a 0xc39e // U+00DE 248 }; 249 condition { 250 between 0x4b...0x50; 251 } map { 252 0x4b 0x2e // U+002E 253 0x4c 0x3c // U+003C 254 0x4d 0x28 // U+0028 255 0x4e 0x2b // U+002B 256 0x4f 0x21 // U+0021 257 0x50 0x26 // U+0026 258 }; 259 condition { 260 between 0x51...0x5a; 261 } map { 262 0x51 0xc3a9 // U+00E9 263 0x52 0xc3aa // U+00EA 264 0x53 0xc3ab // U+00EB 265 0x54 0xc3a8 // U+00E8 266 0x55 0xc3ad // U+00ED 267 0x56 0xc3ae // U+00EE 268 0x57 0xc3af // U+00EF 269 0x58 0xc3ac // U+00EC 270 0x59 0xc39f // U+00DF 271 0x5a 0xc386 // U+00C6 272 }; 273 condition { 274 between 0x5b...0x5e; 275 } map { 276 0x5b 0x24 // U+0024 277 0x5c 0x2a // U+002A 278 0x5d 0x29 // U+0029 279 0x5e 0x3b // U+003B 280 }; 281 condition { 282 between 0x5f...0x5f; 283 } map { 284 0x5f 0xc396 // U+00D6 285 }; 286 condition { 287 between 0x60...0x61; 288 } map { 289 0x60 0x2d // U+002D 290 0x61 0x2f // U+002F 291 }; 292 condition { 293 between 0x62...0x6a; 294 } map { 295 0x62 0xc382 // U+00C2 296 0x63 0xc384 // U+00C4 297 0x64 0xc380 // U+00C0 298 0x65 0xc381 // U+00C1 299 0x66 0xc383 // U+00C3 300 0x67 0xc385 // U+00C5 301 0x68 0xc387 // U+00C7 302 0x69 0xc391 // U+00D1 303 0x6a 0xc2a6 // U+00A6 304 }; 305 condition { 306 between 0x6b...0x6f; 307 } map { 308 0x6b 0x2c // U+002C 309 0x6c 0x25 // U+0025 310 0x6d 0x5f // U+005F 311 0x6e 0x3e // U+003E 312 0x6f 0x3f // U+003F 313 }; 314 condition { 315 between 0x70...0x79; 316 } map { 317 0x70 0xc3b8 // U+00F8 318 0x71 0xc389 // U+00C9 319 0x72 0xc38a // U+00CA 320 0x73 0xc38b // U+00CB 321 0x74 0xc388 // U+00C8 322 0x75 0xc38d // U+00CD 323 0x76 0xc38e // U+00CE 324 0x77 0xc38f // U+00CF 325 0x78 0xc38c // U+00CC 326 0x79 0xc3b0 // U+00F0 327 }; 328 condition { 329 between 0x7a...0x7b; 330 } map { 331 0x7a 0x3a // U+003A 332 0x7b 0x23 // U+0023 333 }; 334 condition { 335 between 0x7c...0x7c; 336 } map { 337 0x7c 0xc390 // U+00D0 338 }; 339 condition { 340 between 0x7d...0x7f; 341 } map { 342 0x7d 0x27 // U+0027 343 0x7e 0x3d // U+003D 344 0x7f 0x22 // U+0022 345 }; 346 condition { 347 between 0x80...0x80; 348 } map { 349 0x80 0xc398 // U+00D8 350 }; 351 condition { 352 between 0x81...0x89; 353 } map { 354 0x81 0x61 // U+0061 355 0x82 0x62 // U+0062 356 0x83 0x63 // U+0063 357 0x84 0x64 // U+0064 358 0x85 0x65 // U+0065 359 0x86 0x66 // U+0066 360 0x87 0x67 // U+0067 361 0x88 0x68 // U+0068 362 0x89 0x69 // U+0069 363 }; 364 condition { 365 between 0x8a...0x8b; 366 } map { 367 0x8a 0xc2ab // U+00AB 368 0x8b 0xc2bb // U+00BB 369 }; 370 condition { 371 between 0x8c...0x8c; 372 } map { 373 0x8c 0x60 // U+0060 374 }; 375 condition { 376 between 0x8d...0x8d; 377 } map { 378 0x8d 0xc3bd // U+00FD 379 }; 380 condition { 381 between 0x8e...0x8e; 382 } map { 383 0x8e 0x7b // U+007B 384 }; 385 condition { 386 between 0x8f...0x90; 387 } map { 388 0x8f 0xc2b1 // U+00B1 389 0x90 0xc2b0 // U+00B0 390 }; 391 condition { 392 between 0x91...0x99; 393 } map { 394 0x91 0x6a // U+006A 395 0x92 0x6b // U+006B 396 0x93 0x6c // U+006C 397 0x94 0x6d // U+006D 398 0x95 0x6e // U+006E 399 0x96 0x6f // U+006F 400 0x97 0x70 // U+0070 401 0x98 0x71 // U+0071 402 0x99 0x72 // U+0072 403 }; 404 condition { 405 between 0x9a...0x9b; 406 } map { 407 0x9a 0xc2aa // U+00AA 408 0x9b 0xc2ba // U+00BA 409 }; 410 condition { 411 between 0x9c...0x9c; 412 } map { 413 0x9c 0x7d // U+007D 414 }; 415 condition { 416 between 0x9d...0x9d; 417 } map { 418 0x9d 0xc2b8 // U+00B8 419 }; 420 condition { 421 between 0x9e...0x9e; 422 } map { 423 0x9e 0x5d // U+005D 424 }; 425 condition { 426 between 0x9f...0x9f; 427 } map { 428 0x9f 0xe282ac // U+20AC 429 }; 430 condition { 431 between 0xa0...0xa1; 432 } map { 433 0xa0 0xc2b5 // U+00B5 434 0xa1 0xc3b6 // U+00F6 435 }; 436 condition { 437 between 0xa2...0xa9; 438 } map { 439 0xa2 0x73 // U+0073 440 0xa3 0x74 // U+0074 441 0xa4 0x75 // U+0075 442 0xa5 0x76 // U+0076 443 0xa6 0x77 // U+0077 444 0xa7 0x78 // U+0078 445 0xa8 0x79 // U+0079 446 0xa9 0x7a // U+007A 447 }; 448 condition { 449 between 0xaa...0xab; 450 } map { 451 0xaa 0xc2a1 // U+00A1 452 0xab 0xc2bf // U+00BF 453 }; 454 condition { 455 between 0xac...0xac; 456 } map { 457 0xac 0x40 // U+0040 458 }; 459 condition { 460 between 0xad...0xad; 461 } map { 462 0xad 0xc39d // U+00DD 463 }; 464 condition { 465 between 0xae...0xae; 466 } map { 467 0xae 0x5b // U+005B 468 }; 469 condition { 470 between 0xaf...0xba; 471 } map { 472 0xaf 0xc2ae // U+00AE 473 0xb0 0xc2a2 // U+00A2 474 0xb1 0xc2a3 // U+00A3 475 0xb2 0xc2a5 // U+00A5 476 0xb3 0xc2b7 // U+00B7 477 0xb4 0xc2a9 // U+00A9 478 0xb5 0xc2a7 // U+00A7 479 0xb6 0xc2b6 // U+00B6 480 0xb7 0xc2bc // U+00BC 481 0xb8 0xc2bd // U+00BD 482 0xb9 0xc2be // U+00BE 483 0xba 0xc2ac // U+00AC 484 }; 485 condition { 486 between 0xbb...0xbb; 487 } map { 488 0xbb 0x7c // U+007C 489 }; 490 condition { 491 between 0xbc...0xbd; 492 } map { 493 0xbc 0xc2af // U+00AF 494 0xbd 0xc2a8 // U+00A8 495 }; 496 condition { 497 between 0xbe...0xbe; 498 } map { 499 0xbe 0x5c // U+005c 500 }; 501 condition { 502 between 0xbf...0xc0; 503 } map { 504 0xbf 0xc397 // U+00D7 505 0xc0 0xc3be // U+00FE 506 }; 507 condition { 508 between 0xc1...0xc9; 509 } map { 510 0xc1 0x41 // U+0041 511 0xc2 0x42 // U+0042 512 0xc3 0x43 // U+0043 513 0xc4 0x44 // U+0044 514 0xc5 0x45 // U+0045 515 0xc6 0x46 // U+0046 516 0xc7 0x47 // U+0047 517 0xc8 0x48 // U+0048 518 0xc9 0x49 // U+0049 519 }; 520 condition { 521 between 0xca...0xcb; 522 } map { 523 0xca 0xc2ad // U+00AD 524 0xcb 0xc3b4 // U+00F4 525 }; 526 condition { 527 between 0xcc...0xcc; 528 } map { 529 0xcc 0x7e // U+007E 530 }; 531 condition { 532 between 0xcd...0xd0; 533 } map { 534 0xcd 0xc3b2 // U+00F2 535 0xce 0xc3b3 // U+00F3 536 0xcf 0xc3b5 // U+00F5 537 0xd0 0xc3a6 // U+00E6 538 }; 539 condition { 540 between 0xd1...0xd9; 541 } map { 542 0xd1 0x4a // U+004A 543 0xd2 0x4b // U+004B 544 0xd3 0x4c // U+004C 545 0xd4 0x4d // U+004D 546 0xd5 0x4e // U+004E 547 0xd6 0x4f // U+004F 548 0xd7 0x50 // U+0050 549 0xd8 0x51 // U+0051 550 0xd9 0x52 // U+0052 551 }; 552 condition { 553 between 0xda...0xe1; 554 } map { 555 0xda 0xc2b9 // U+00B9 556 0xdb 0xc3bb // U+00FB 557 0xdc 0xc3bc // U+00FC 558 0xdd 0xc3b9 // U+00F9 559 0xde 0xc3ba // U+00FA 560 0xdf 0xc3bf // U+00FF 561 0xe0 0xc2b4 // U+00B4 562 0xe1 0xc3b7 // U+00F7 563 }; 564 condition { 565 between 0xe2...0xe9; 566 } map { 567 0xe2 0x53 // U+0053 568 0xe3 0x54 // U+0054 569 0xe4 0x55 // U+0055 570 0xe5 0x56 // U+0056 571 0xe6 0x57 // U+0057 572 0xe7 0x58 // U+0058 573 0xe8 0x59 // U+0059 574 0xe9 0x5a // U+005A 575 }; 576 condition { 577 between 0xea...0xeb; 578 } map { 579 0xea 0xc2b2 // U+00B2 580 0xeb 0xc394 // U+00D4 581 }; 582 condition { 583 between 0xec...0xec; 584 } map { 585 0xec 0x5e // U+005E 586 }; 587 condition { 588 between 0xed...0xef; 589 } map { 590 0xed 0xc392 // U+00D2 591 0xee 0xc393 // U+00D3 592 0xef 0xc395 // U+00D5 593 }; 594 condition { 595 between 0xf0...0xf9; 596 } map { 597 0xf0 0x30 // U+0030 598 0xf1 0x31 // U+0031 599 0xf2 0x32 // U+0032 600 0xf3 0x33 // U+0033 601 0xf4 0x34 // U+0034 602 0xf5 0x35 // U+0035 603 0xf6 0x36 // U+0036 604 0xf7 0x37 // U+0037 605 0xf8 0x38 // U+0038 606 0xf9 0x39 // U+0039 607 }; 608 condition { 609 between 0xfa...0xff; 610 } map { 611 0xfa 0xc2b3 // U+00B3 612 0xfb 0xc39b // U+00DB 613 0xfc 0xc39c // U+00DC 614 0xfd 0xc399 // U+00D9 615 0xfe 0xc39a // U+00DA 616 0xff 0xc29f // U+009F 617 }; 618 }; 619} 620