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 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 23 * Use is subject to license terms. 24 */ 25/* 26 * ICU License - ICU 1.8.1 and later 27 * 28 * COPYRIGHT AND PERMISSION NOTICE 29 * 30 * Copyright (c) 1995-2005 International Business Machines Corporation and others 31 * All rights reserved. 32 * 33 * Permission is hereby granted, free of charge, to any person obtaining a 34 * copy of this software and associated documentation files (the 35 * "Software"), to deal in the Software without restriction, including 36 * without limitation the rights to use, copy, modify, merge, publish, 37 * distribute, and/or sell copies of the Software, and to permit persons 38 * to whom the Software is furnished to do so, provided that the above 39 * copyright notice(s) and this permission notice appear in all copies of 40 * the Software and that both the above copyright notice(s) and this 41 * permission notice appear in supporting documentation. 42 * 43 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 44 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 45 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 46 * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 47 * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL 48 * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING 49 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, 50 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 51 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 52 * 53 * Except as contained in this notice, the name of a copyright holder 54 * shall not be used in advertising or otherwise to promote the sale, use 55 * or other dealings in this Software without prior written authorization 56 * of the copyright holder. 57 * 58 * -------------------------------------------------------------------------- 59 * All trademarks and registered trademarks mentioned herein are the property 60 * of their respective owners. 61 */ 62 63system%utf8 { 64 direction { 65 @condition { 66 @between 0X0...0X3; 67 } @map { 68 0x00 0x00 // U+0000 69 0x01 0x01 // U+0001 70 0x02 0x02 // U+0002 71 0x03 0x03 // U+0003 72 }; 73 @condition { 74 @between 0X4...0X4; 75 } @map { 76 0x04 0xC29C // U+009C 77 }; 78 @condition { 79 @between 0X5...0X5; 80 } @map { 81 0x05 0x09 // U+0009 82 }; 83 @condition { 84 @between 0X6...0X6; 85 } @map { 86 0x06 0xC286 // U+0086 87 }; 88 @condition { 89 @between 0X7...0X7; 90 } @map { 91 0x07 0x7F // U+007F 92 }; 93 @condition { 94 @between 0X8...0XA; 95 } @map { 96 0x08 0xC297 // U+0097 97 0x09 0xC28D // U+008D 98 0x0A 0xC28E // U+008E 99 }; 100 @condition { 101 @between 0XB...0X13; 102 } @map { 103 0x0B 0x0B // U+000B 104 0x0C 0x0C // U+000C 105 0x0D 0x0D // U+000D 106 0x0E 0x0E // U+000E 107 0x0F 0x0F // U+000F 108 0x10 0x10 // U+0010 109 0x11 0x11 // U+0011 110 0x12 0x12 // U+0012 111 0x13 0x13 // U+0013 112 }; 113 @condition { 114 @between 0X14...0X15; 115 } @map { 116 0x14 0xC29D // U+009D 117 0x15 0xC285 // U+0085 118 }; 119 @condition { 120 @between 0X16...0X16; 121 } @map { 122 0x16 0x08 // U+0008 123 }; 124 @condition { 125 @between 0X17...0X17; 126 } @map { 127 0x17 0xC287 // U+0087 128 }; 129 @condition { 130 @between 0X18...0X19; 131 } @map { 132 0x18 0x18 // U+0018 133 0x19 0x19 // U+0019 134 }; 135 @condition { 136 @between 0X1A...0X1B; 137 } @map { 138 0x1A 0xC292 // U+0092 139 0x1B 0xC28F // U+008F 140 }; 141 @condition { 142 @between 0X1C...0X1F; 143 } @map { 144 0x1C 0x1C // U+001C 145 0x1D 0x1D // U+001D 146 0x1E 0x1E // U+001E 147 0x1F 0x1F // U+001F 148 }; 149 @condition { 150 @between 0X20...0X24; 151 } @map { 152 0x20 0xC280 // U+0080 153 0x21 0xC281 // U+0081 154 0x22 0xC282 // U+0082 155 0x23 0xC283 // U+0083 156 0x24 0xC284 // U+0084 157 }; 158 @condition { 159 @between 0X25...0X27; 160 } @map { 161 0x25 0x0A // U+000A 162 0x26 0x17 // U+0017 163 0x27 0x1B // U+001B 164 }; 165 @condition { 166 @between 0X28...0X2C; 167 } @map { 168 0x28 0xC288 // U+0088 169 0x29 0xC289 // U+0089 170 0x2A 0xC28A // U+008A 171 0x2B 0xC28B // U+008B 172 0x2C 0xC28C // U+008C 173 }; 174 @condition { 175 @between 0X2D...0X2F; 176 } @map { 177 0x2D 0x05 // U+0005 178 0x2E 0x06 // U+0006 179 0x2F 0x07 // U+0007 180 }; 181 @condition { 182 @between 0X30...0X31; 183 } @map { 184 0x30 0xC290 // U+0090 185 0x31 0xC291 // U+0091 186 }; 187 @condition { 188 @between 0X32...0X32; 189 } @map { 190 0x32 0x16 // U+0016 191 }; 192 @condition { 193 @between 0X33...0X36; 194 } @map { 195 0x33 0xC293 // U+0093 196 0x34 0xC294 // U+0094 197 0x35 0xC295 // U+0095 198 0x36 0xC296 // U+0096 199 }; 200 @condition { 201 @between 0X37...0X37; 202 } @map { 203 0x37 0x04 // U+0004 204 }; 205 @condition { 206 @between 0X38...0X3B; 207 } @map { 208 0x38 0xC298 // U+0098 209 0x39 0xC299 // U+0099 210 0x3A 0xC29A // U+009A 211 0x3B 0xC29B // U+009B 212 }; 213 @condition { 214 @between 0X3C...0X3D; 215 } @map { 216 0x3C 0x14 // U+0014 217 0x3D 0x15 // U+0015 218 }; 219 @condition { 220 @between 0X3E...0X3E; 221 } @map { 222 0x3E 0xC29E // U+009E 223 }; 224 @condition { 225 @between 0X3F...0X40; 226 } @map { 227 0x3F 0x1A // U+001A 228 0x40 0x20 // U+0020 229 }; 230 @condition { 231 @between 0X41...0X41; 232 } @map { 233 0x41 0xC2A0 // U+00A0 234 }; 235 @condition { 236 @between 0X42...0X43; 237 } @map { 238 0x42 0xEFB9BC // U+FE7C 239 0x43 0xEFB9BD // U+FE7D 240 }; 241 @condition { 242 @between 0X44...0X44; 243 } @map { 244 0x44 0xD980 // U+0640 245 }; 246 @condition { 247 @between 0X45...0X49; 248 } @map { 249 0x45 0xEFA3BC // U+F8FC 250 0x46 0xEFBA80 // U+FE80 251 0x47 0xEFBA81 // U+FE81 252 0x48 0xEFBA82 // U+FE82 253 0x49 0xEFBA83 // U+FE83 254 }; 255 @condition { 256 @between 0X4A...0X4A; 257 } @map { 258 0x4A 0xC2A2 // U+00A2 259 }; 260 @condition { 261 @between 0X4B...0X50; 262 } @map { 263 0x4B 0x2E // U+002E 264 0x4C 0x3C // U+003C 265 0x4D 0x28 // U+0028 266 0x4E 0x2B // U+002B 267 0x4F 0x7C // U+007C 268 0x50 0x26 // U+0026 269 }; 270 @condition { 271 @between 0X51...0X59; 272 } @map { 273 0x51 0xEFBA84 // U+FE84 274 0x52 0xEFBA85 // U+FE85 275 0x55 0xEFBA8B // U+FE8B 276 0x56 0xEFBA8D // U+FE8D 277 0x57 0xEFBA8E // U+FE8E 278 0x58 0xEFBA8F // U+FE8F 279 0x59 0xEFBA91 // U+FE91 280 }; 281 @condition { 282 @between 0X5A...0X5E; 283 } @map { 284 0x5A 0x21 // U+0021 285 0x5B 0x24 // U+0024 286 0x5C 0x2A // U+002A 287 0x5D 0x29 // U+0029 288 0x5E 0x3B // U+003B 289 }; 290 @condition { 291 @between 0X5F...0X5F; 292 } @map { 293 0x5F 0xC2AC // U+00AC 294 }; 295 @condition { 296 @between 0X60...0X61; 297 } @map { 298 0x60 0x2D // U+002D 299 0x61 0x2F // U+002F 300 }; 301 @condition { 302 @between 0X62...0X69; 303 } @map { 304 0x62 0xEFBA93 // U+FE93 305 0x63 0xEFBA95 // U+FE95 306 0x64 0xEFBA97 // U+FE97 307 0x65 0xEFBA99 // U+FE99 308 0x66 0xEFBA9B // U+FE9B 309 0x67 0xEFBA9D // U+FE9D 310 0x68 0xEFBA9F // U+FE9F 311 0x69 0xEFBAA1 // U+FEA1 312 }; 313 @condition { 314 @between 0X6A...0X6A; 315 } @map { 316 0x6A 0xC2A6 // U+00A6 317 }; 318 @condition { 319 @between 0X6B...0X6F; 320 } @map { 321 0x6B 0x2C // U+002C 322 0x6C 0x25 // U+0025 323 0x6D 0x5F // U+005F 324 0x6E 0x3E // U+003E 325 0x6F 0x3F // U+003F 326 }; 327 @condition { 328 @between 0X70...0X78; 329 } @map { 330 0x70 0xEFBAA3 // U+FEA3 331 0x71 0xEFBAA5 // U+FEA5 332 0x72 0xEFBAA7 // U+FEA7 333 0x73 0xEFBAA9 // U+FEA9 334 0x74 0xEFBAAB // U+FEAB 335 0x75 0xEFBAAD // U+FEAD 336 0x76 0xEFBAAF // U+FEAF 337 0x77 0xEFA3B6 // U+F8F6 338 0x78 0xEFBAB3 // U+FEB3 339 }; 340 @condition { 341 @between 0X79...0X79; 342 } @map { 343 0x79 0xD88C // U+060C 344 }; 345 @condition { 346 @between 0X7A...0X7F; 347 } @map { 348 0x7A 0x3A // U+003A 349 0x7B 0x23 // U+0023 350 0x7C 0x40 // U+0040 351 0x7D 0x27 // U+0027 352 0x7E 0x3D // U+003D 353 0x7F 0x22 // U+0022 354 }; 355 @condition { 356 @between 0X80...0X80; 357 } @map { 358 0x80 0xEFA3B5 // U+F8F5 359 }; 360 @condition { 361 @between 0X81...0X89; 362 } @map { 363 0x81 0x61 // U+0061 364 0x82 0x62 // U+0062 365 0x83 0x63 // U+0063 366 0x84 0x64 // U+0064 367 0x85 0x65 // U+0065 368 0x86 0x66 // U+0066 369 0x87 0x67 // U+0067 370 0x88 0x68 // U+0068 371 0x89 0x69 // U+0069 372 }; 373 @condition { 374 @between 0X8A...0X90; 375 } @map { 376 0x8A 0xEFBAB7 // U+FEB7 377 0x8B 0xEFA3B4 // U+F8F4 378 0x8C 0xEFBABB // U+FEBB 379 0x8D 0xEFA3B7 // U+F8F7 380 0x8E 0xEFBABF // U+FEBF 381 0x8F 0xEFBB83 // U+FEC3 382 0x90 0xEFBB87 // U+FEC7 383 }; 384 @condition { 385 @between 0X91...0X99; 386 } @map { 387 0x91 0x6A // U+006A 388 0x92 0x6B // U+006B 389 0x93 0x6C // U+006C 390 0x94 0x6D // U+006D 391 0x95 0x6E // U+006E 392 0x96 0x6F // U+006F 393 0x97 0x70 // U+0070 394 0x98 0x71 // U+0071 395 0x99 0x72 // U+0072 396 }; 397 @condition { 398 @between 0X9A...0XA0; 399 } @map { 400 0x9A 0xEFBB89 // U+FEC9 401 0x9B 0xEFBB8A // U+FECA 402 0x9C 0xEFBB8B // U+FECB 403 0x9D 0xEFBB8C // U+FECC 404 0x9E 0xEFBB8D // U+FECD 405 0x9F 0xEFBB8E // U+FECE 406 0xA0 0xEFBB8F // U+FECF 407 }; 408 @condition { 409 @between 0XA1...0XA1; 410 } @map { 411 0xA1 0xC3B7 // U+00F7 412 }; 413 @condition { 414 @between 0XA2...0XA9; 415 } @map { 416 0xA2 0x73 // U+0073 417 0xA3 0x74 // U+0074 418 0xA4 0x75 // U+0075 419 0xA5 0x76 // U+0076 420 0xA6 0x77 // U+0077 421 0xA7 0x78 // U+0078 422 0xA8 0x79 // U+0079 423 0xA9 0x7A // U+007A 424 }; 425 @condition { 426 @between 0XAA...0XBF; 427 } @map { 428 0xAA 0xEFBB90 // U+FED0 429 0xAB 0xEFBB91 // U+FED1 430 0xAC 0xEFBB93 // U+FED3 431 0xAD 0xEFBB95 // U+FED5 432 0xAE 0xEFBB97 // U+FED7 433 0xAF 0xEFBB99 // U+FED9 434 0xB0 0xEFBB9B // U+FEDB 435 0xB1 0xEFBB9D // U+FEDD 436 0xB2 0xEFBBB5 // U+FEF5 437 0xB3 0xEFBBB6 // U+FEF6 438 0xB4 0xEFBBB7 // U+FEF7 439 0xB5 0xEFBBB8 // U+FEF8 440 0xB8 0xEFBBBB // U+FEFB 441 0xB9 0xEFBBBC // U+FEFC 442 0xBA 0xEFBB9F // U+FEDF 443 0xBB 0xEFBBA1 // U+FEE1 444 0xBC 0xEFBBA3 // U+FEE3 445 0xBD 0xEFBBA5 // U+FEE5 446 0xBE 0xEFBBA7 // U+FEE7 447 0xBF 0xEFBBA9 // U+FEE9 448 }; 449 @condition { 450 @between 0XC0...0XC0; 451 } @map { 452 0xC0 0xD89B // U+061B 453 }; 454 @condition { 455 @between 0XC1...0XC9; 456 } @map { 457 0xC1 0x41 // U+0041 458 0xC2 0x42 // U+0042 459 0xC3 0x43 // U+0043 460 0xC4 0x44 // U+0044 461 0xC5 0x45 // U+0045 462 0xC6 0x46 // U+0046 463 0xC7 0x47 // U+0047 464 0xC8 0x48 // U+0048 465 0xC9 0x49 // U+0049 466 }; 467 @condition { 468 @between 0XCA...0XCA; 469 } @map { 470 0xCA 0xC2AD // U+00AD 471 }; 472 @condition { 473 @between 0XCB...0XCF; 474 } @map { 475 0xCB 0xEFBBAB // U+FEEB 476 0xCD 0xEFBBAC // U+FEEC 477 0xCF 0xEFBBAD // U+FEED 478 }; 479 @condition { 480 @between 0XD0...0XD0; 481 } @map { 482 0xD0 0xD89F // U+061F 483 }; 484 @condition { 485 @between 0XD1...0XD9; 486 } @map { 487 0xD1 0x4A // U+004A 488 0xD2 0x4B // U+004B 489 0xD3 0x4C // U+004C 490 0xD4 0x4D // U+004D 491 0xD5 0x4E // U+004E 492 0xD6 0x4F // U+004F 493 0xD7 0x50 // U+0050 494 0xD8 0x51 // U+0051 495 0xD9 0x52 // U+0052 496 }; 497 @condition { 498 @between 0XDA...0XDE; 499 } @map { 500 0xDA 0xEFBBAF // U+FEEF 501 0xDB 0xEFBBB0 // U+FEF0 502 0xDC 0xEFBBB1 // U+FEF1 503 0xDD 0xEFBBB2 // U+FEF2 504 0xDE 0xEFBBB3 // U+FEF3 505 }; 506 @condition { 507 @between 0XDF...0XE0; 508 } @map { 509 0xDF 0xD9A0 // U+0660 510 0xE0 0xC397 // U+00D7 511 }; 512 @condition { 513 @between 0XE1...0XE1; 514 } @map { 515 0xE1 0xE28087 // U+2007 516 }; 517 @condition { 518 @between 0XE2...0XE9; 519 } @map { 520 0xE2 0x53 // U+0053 521 0xE3 0x54 // U+0054 522 0xE4 0x55 // U+0055 523 0xE5 0x56 // U+0056 524 0xE6 0x57 // U+0057 525 0xE7 0x58 // U+0058 526 0xE8 0x59 // U+0059 527 0xE9 0x5A // U+005A 528 }; 529 @condition { 530 @between 0XEA...0XEF; 531 } @map { 532 0xEA 0xD9A1 // U+0661 533 0xEB 0xD9A2 // U+0662 534 0xED 0xD9A3 // U+0663 535 0xEE 0xD9A4 // U+0664 536 0xEF 0xD9A5 // U+0665 537 }; 538 @condition { 539 @between 0XF0...0XFA; 540 } @map { 541 0xF0 0x30 // U+0030 542 0xF1 0x31 // U+0031 543 0xF2 0x32 // U+0032 544 0xF3 0x33 // U+0033 545 0xF4 0x34 // U+0034 546 0xF5 0x35 // U+0035 547 0xF6 0x36 // U+0036 548 0xF7 0x37 // U+0037 549 0xF8 0x38 // U+0038 550 0xF9 0x39 // U+0039 551 }; 552 @condition { 553 @between 0XFB...0XFF; 554 } @map { 555 0xFB 0xD9A6 // U+0666 556 0xFC 0xD9A7 // U+0667 557 0xFD 0xD9A8 // U+0668 558 0xFE 0xD9A9 // U+0669 559 0xFF 0xC29F // U+009F 560 }; // for last @map syntax 561 }; // for direction 562} // for conversion name 563