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 */ 62system%utf8 { 63 direction { 64 @condition { 65 @between 0X0...0X3; 66 } @map { 67 0x00 0x00 // U+0000 68 0x01 0x01 // U+0001 69 0x02 0x02 // U+0002 70 0x03 0x03 // U+0003 71 }; 72 @condition { 73 @between 0X4...0X4; 74 } @map { 75 0x04 0xC29C // U+009C 76 }; 77 @condition { 78 @between 0X5...0X5; 79 } @map { 80 0x05 0x09 // U+0009 81 }; 82 @condition { 83 @between 0X6...0X6; 84 } @map { 85 0x06 0xC286 // U+0086 86 }; 87 @condition { 88 @between 0X7...0X7; 89 } @map { 90 0x07 0x7F // U+007F 91 }; 92 @condition { 93 @between 0X8...0XA; 94 } @map { 95 0x08 0xC297 // U+0097 96 0x09 0xC28D // U+008D 97 0x0A 0xC28E // U+008E 98 }; 99 @condition { 100 @between 0XB...0X13; 101 } @map { 102 0x0B 0x0B // U+000B 103 0x0C 0x0C // U+000C 104 0x0D 0x0D // U+000D 105 0x0E 0x0E // U+000E 106 0x0F 0x0F // U+000F 107 0x10 0x10 // U+0010 108 0x11 0x11 // U+0011 109 0x12 0x12 // U+0012 110 0x13 0x13 // U+0013 111 }; 112 @condition { 113 @between 0X14...0X15; 114 } @map { 115 0x14 0xC29D // U+009D 116 0x15 0xC285 // U+0085 117 }; 118 @condition { 119 @between 0X16...0X16; 120 } @map { 121 0x16 0x08 // U+0008 122 }; 123 @condition { 124 @between 0X17...0X17; 125 } @map { 126 0x17 0xC287 // U+0087 127 }; 128 @condition { 129 @between 0X18...0X19; 130 } @map { 131 0x18 0x18 // U+0018 132 0x19 0x19 // U+0019 133 }; 134 @condition { 135 @between 0X1A...0X1B; 136 } @map { 137 0x1A 0xC292 // U+0092 138 0x1B 0xC28F // U+008F 139 }; 140 @condition { 141 @between 0X1C...0X1F; 142 } @map { 143 0x1C 0x1C // U+001C 144 0x1D 0x1D // U+001D 145 0x1E 0x1E // U+001E 146 0x1F 0x1F // U+001F 147 }; 148 @condition { 149 @between 0X20...0X24; 150 } @map { 151 0x20 0xC280 // U+0080 152 0x21 0xC281 // U+0081 153 0x22 0xC282 // U+0082 154 0x23 0xC283 // U+0083 155 0x24 0xC284 // U+0084 156 }; 157 @condition { 158 @between 0X25...0X27; 159 } @map { 160 0x25 0x0A // U+000A 161 0x26 0x17 // U+0017 162 0x27 0x1B // U+001B 163 }; 164 @condition { 165 @between 0X28...0X2C; 166 } @map { 167 0x28 0xC288 // U+0088 168 0x29 0xC289 // U+0089 169 0x2A 0xC28A // U+008A 170 0x2B 0xC28B // U+008B 171 0x2C 0xC28C // U+008C 172 }; 173 @condition { 174 @between 0X2D...0X2F; 175 } @map { 176 0x2D 0x05 // U+0005 177 0x2E 0x06 // U+0006 178 0x2F 0x07 // U+0007 179 }; 180 @condition { 181 @between 0X30...0X31; 182 } @map { 183 0x30 0xC290 // U+0090 184 0x31 0xC291 // U+0091 185 }; 186 @condition { 187 @between 0X32...0X32; 188 } @map { 189 0x32 0x16 // U+0016 190 }; 191 @condition { 192 @between 0X33...0X36; 193 } @map { 194 0x33 0xC293 // U+0093 195 0x34 0xC294 // U+0094 196 0x35 0xC295 // U+0095 197 0x36 0xC296 // U+0096 198 }; 199 @condition { 200 @between 0X37...0X37; 201 } @map { 202 0x37 0x04 // U+0004 203 }; 204 @condition { 205 @between 0X38...0X3B; 206 } @map { 207 0x38 0xC298 // U+0098 208 0x39 0xC299 // U+0099 209 0x3A 0xC29A // U+009A 210 0x3B 0xC29B // U+009B 211 }; 212 @condition { 213 @between 0X3C...0X3D; 214 } @map { 215 0x3C 0x14 // U+0014 216 0x3D 0x15 // U+0015 217 }; 218 @condition { 219 @between 0X3E...0X3E; 220 } @map { 221 0x3E 0xC29E // U+009E 222 }; 223 @condition { 224 @between 0X3F...0X40; 225 } @map { 226 0x3F 0x1A // U+001A 227 0x40 0x20 // U+0020 228 }; 229 @condition { 230 @between 0X41...0X4A; 231 } @map { 232 0x41 0xC2A0 // U+00A0 233 0x42 0xC5A1 // U+0161 234 0x43 0xC3A4 // U+00E4 235 0x44 0xC485 // U+0105 236 0x45 0xC4AF // U+012F 237 0x46 0xC5AB // U+016B 238 0x47 0xC3A5 // U+00E5 239 0x48 0xC493 // U+0113 240 0x49 0xC5BE // U+017E 241 0x4A 0xC2A2 // U+00A2 242 }; 243 @condition { 244 @between 0X4B...0X50; 245 } @map { 246 0x4B 0x2E // U+002E 247 0x4C 0x3C // U+003C 248 0x4D 0x28 // U+0028 249 0x4E 0x2B // U+002B 250 0x4F 0x7C // U+007C 251 0x50 0x26 // U+0026 252 }; 253 @condition { 254 @between 0X51...0X55; 255 } @map { 256 0x51 0xC3A9 // U+00E9 257 0x52 0xC499 // U+0119 258 0x53 0xC497 // U+0117 259 0x54 0xC48D // U+010D 260 0x55 0xC5B3 // U+0173 261 }; 262 @condition { 263 @between 0X56...0X57; 264 } @map { 265 0x56 0xE2809E // U+201E 266 0x57 0xE2809C // U+201C 267 }; 268 @condition { 269 @between 0X58...0X59; 270 } @map { 271 0x58 0xC4A3 // U+0123 272 0x59 0xC39F // U+00DF 273 }; 274 @condition { 275 @between 0X5A...0X5E; 276 } @map { 277 0x5A 0x21 // U+0021 278 0x5B 0x24 // U+0024 279 0x5C 0x2A // U+002A 280 0x5D 0x29 // U+0029 281 0x5E 0x3B // U+003B 282 }; 283 @condition { 284 @between 0X5F...0X5F; 285 } @map { 286 0x5F 0xC2AC // U+00AC 287 }; 288 @condition { 289 @between 0X60...0X61; 290 } @map { 291 0x60 0x2D // U+002D 292 0x61 0x2F // U+002F 293 }; 294 @condition { 295 @between 0X62...0X6A; 296 } @map { 297 0x62 0xC5A0 // U+0160 298 0x63 0xC384 // U+00C4 299 0x64 0xC484 // U+0104 300 0x65 0xC4AE // U+012E 301 0x66 0xC5AA // U+016A 302 0x67 0xC385 // U+00C5 303 0x68 0xC492 // U+0112 304 0x69 0xC5BD // U+017D 305 0x6A 0xC2A6 // U+00A6 306 }; 307 @condition { 308 @between 0X6B...0X6F; 309 } @map { 310 0x6B 0x2C // U+002C 311 0x6C 0x25 // U+0025 312 0x6D 0x5F // U+005F 313 0x6E 0x3E // U+003E 314 0x6F 0x3F // U+003F 315 }; 316 @condition { 317 @between 0X70...0X78; 318 } @map { 319 0x70 0xC3B8 // U+00F8 320 0x71 0xC389 // U+00C9 321 0x72 0xC498 // U+0118 322 0x73 0xC496 // U+0116 323 0x74 0xC48C // U+010C 324 0x75 0xC5B2 // U+0172 325 0x76 0xC4AA // U+012A 326 0x77 0xC4BB // U+013B 327 0x78 0xC4A2 // U+0122 328 }; 329 @condition { 330 @between 0X79...0X7F; 331 } @map { 332 0x79 0x60 // U+0060 333 0x7A 0x3A // U+003A 334 0x7B 0x23 // U+0023 335 0x7C 0x40 // U+0040 336 0x7D 0x27 // U+0027 337 0x7E 0x3D // U+003D 338 0x7F 0x22 // U+0022 339 }; 340 @condition { 341 @between 0X80...0X80; 342 } @map { 343 0x80 0xC398 // U+00D8 344 }; 345 @condition { 346 @between 0X81...0X89; 347 } @map { 348 0x81 0x61 // U+0061 349 0x82 0x62 // U+0062 350 0x83 0x63 // U+0063 351 0x84 0x64 // U+0064 352 0x85 0x65 // U+0065 353 0x86 0x66 // U+0066 354 0x87 0x67 // U+0067 355 0x88 0x68 // U+0068 356 0x89 0x69 // U+0069 357 }; 358 @condition { 359 @between 0X8A...0X90; 360 } @map { 361 0x8A 0xC2AB // U+00AB 362 0x8B 0xC2BB // U+00BB 363 0x8C 0xC481 // U+0101 364 0x8D 0xC5BC // U+017C 365 0x8E 0xC584 // U+0144 366 0x8F 0xC2B1 // U+00B1 367 0x90 0xC2B0 // U+00B0 368 }; 369 @condition { 370 @between 0X91...0X99; 371 } @map { 372 0x91 0x6A // U+006A 373 0x92 0x6B // U+006B 374 0x93 0x6C // U+006C 375 0x94 0x6D // U+006D 376 0x95 0x6E // U+006E 377 0x96 0x6F // U+006F 378 0x97 0x70 // U+0070 379 0x98 0x71 // U+0071 380 0x99 0x72 // U+0072 381 }; 382 @condition { 383 @between 0X9A...0XA0; 384 } @map { 385 0x9A 0xC596 // U+0156 386 0x9B 0xC597 // U+0157 387 0x9C 0xC3A6 // U+00E6 388 0x9D 0xC4B7 // U+0137 389 0x9E 0xC386 // U+00C6 390 0x9F 0xC2A4 // U+00A4 391 0xA0 0xC2B5 // U+00B5 392 }; 393 @condition { 394 @between 0XA1...0XA9; 395 } @map { 396 0xA1 0x7E // U+007E 397 0xA2 0x73 // U+0073 398 0xA3 0x74 // U+0074 399 0xA4 0x75 // U+0075 400 0xA5 0x76 // U+0076 401 0xA6 0x77 // U+0077 402 0xA7 0x78 // U+0078 403 0xA8 0x79 // U+0079 404 0xA9 0x7A // U+007A 405 }; 406 @condition { 407 @between 0XAA...0XAA; 408 } @map { 409 0xAA 0xE2809D // U+201D 410 }; 411 @condition { 412 @between 0XAB...0XAF; 413 } @map { 414 0xAB 0xC5BA // U+017A 415 0xAC 0xC480 // U+0100 416 0xAD 0xC5BB // U+017B 417 0xAE 0xC583 // U+0143 418 0xAF 0xC2AE // U+00AE 419 }; 420 @condition { 421 @between 0XB0...0XB0; 422 } @map { 423 0xB0 0x5E // U+005E 424 }; 425 @condition { 426 @between 0XB1...0XB9; 427 } @map { 428 0xB1 0xC2A3 // U+00A3 429 0xB2 0xC4AB // U+012B 430 0xB3 0xC2B7 // U+00B7 431 0xB4 0xC2A9 // U+00A9 432 0xB5 0xC2A7 // U+00A7 433 0xB6 0xC2B6 // U+00B6 434 0xB7 0xC2BC // U+00BC 435 0xB8 0xC2BD // U+00BD 436 0xB9 0xC2BE // U+00BE 437 }; 438 @condition { 439 @between 0XBA...0XBB; 440 } @map { 441 0xBA 0x5B // U+005B 442 0xBB 0x5D // U+005D 443 }; 444 @condition { 445 @between 0XBC...0XBF; 446 } @map { 447 0xBC 0xC5B9 // U+0179 448 0xBD 0xC4B6 // U+0136 449 0xBE 0xC4BC // U+013C 450 0xBF 0xC397 // U+00D7 451 }; 452 @condition { 453 @between 0XC0...0XC9; 454 } @map { 455 0xC0 0x7B // U+007B 456 0xC1 0x41 // U+0041 457 0xC2 0x42 // U+0042 458 0xC3 0x43 // U+0043 459 0xC4 0x44 // U+0044 460 0xC5 0x45 // U+0045 461 0xC6 0x46 // U+0046 462 0xC7 0x47 // U+0047 463 0xC8 0x48 // U+0048 464 0xC9 0x49 // U+0049 465 }; 466 @condition { 467 @between 0XCA...0XCF; 468 } @map { 469 0xCA 0xC2AD // U+00AD 470 0xCB 0xC58D // U+014D 471 0xCC 0xC3B6 // U+00F6 472 0xCD 0xC586 // U+0146 473 0xCE 0xC3B3 // U+00F3 474 0xCF 0xC3B5 // U+00F5 475 }; 476 @condition { 477 @between 0XD0...0XD9; 478 } @map { 479 0xD0 0x7D // U+007D 480 0xD1 0x4A // U+004A 481 0xD2 0x4B // U+004B 482 0xD3 0x4C // U+004C 483 0xD4 0x4D // U+004D 484 0xD5 0x4E // U+004E 485 0xD6 0x4F // U+004F 486 0xD7 0x50 // U+0050 487 0xD8 0x51 // U+0051 488 0xD9 0x52 // U+0052 489 }; 490 @condition { 491 @between 0XDA...0XDE; 492 } @map { 493 0xDA 0xC2B9 // U+00B9 494 0xDB 0xC487 // U+0107 495 0xDC 0xC3BC // U+00FC 496 0xDD 0xC582 // U+0142 497 0xDE 0xC59B // U+015B 498 }; 499 @condition { 500 @between 0XDF...0XDF; 501 } @map { 502 0xDF 0xE28099 // U+2019 503 }; 504 @condition { 505 @between 0XE0...0XE0; 506 } @map { 507 0xE0 0x5C // U+005C 508 }; 509 @condition { 510 @between 0XE1...0XE1; 511 } @map { 512 0xE1 0xC3B7 // U+00F7 513 }; 514 @condition { 515 @between 0XE2...0XE9; 516 } @map { 517 0xE2 0x53 // U+0053 518 0xE3 0x54 // U+0054 519 0xE4 0x55 // U+0055 520 0xE5 0x56 // U+0056 521 0xE6 0x57 // U+0057 522 0xE7 0x58 // U+0058 523 0xE8 0x59 // U+0059 524 0xE9 0x5A // U+005A 525 }; 526 @condition { 527 @between 0XEA...0XEF; 528 } @map { 529 0xEA 0xC2B2 // U+00B2 530 0xEB 0xC58C // U+014C 531 0xEC 0xC396 // U+00D6 532 0xED 0xC585 // U+0145 533 0xEE 0xC393 // U+00D3 534 0xEF 0xC395 // U+00D5 535 }; 536 @condition { 537 @between 0XF0...0XF9; 538 } @map { 539 0xF0 0x30 // U+0030 540 0xF1 0x31 // U+0031 541 0xF2 0x32 // U+0032 542 0xF3 0x33 // U+0033 543 0xF4 0x34 // U+0034 544 0xF5 0x35 // U+0035 545 0xF6 0x36 // U+0036 546 0xF7 0x37 // U+0037 547 0xF8 0x38 // U+0038 548 0xF9 0x39 // U+0039 549 }; 550 @condition { 551 @between 0XFA...0XFF; 552 } @map { 553 0xFA 0xC2B3 // U+00B3 554 0xFB 0xC486 // U+0106 555 0xFC 0xC39C // U+00DC 556 0xFD 0xC581 // U+0141 557 0xFE 0xC59A // U+015A 558 0xFF 0xC29F // U+009F 559 }; // for last @map syntax 560 }; // for direction 561} // for conversion name 562