1<?php 2//============================================================+ 3// File name : unicode_data.php 4// Begin : 2008-01-01 5// Last Update : 2008-07-21 6// License : GNU LGPL (http://www.gnu.org/copyleft/lesser.html) 7// ---------------------------------------------------------------------------- 8// Copyright (C) 2002-2008 Nicola Asuni - Tecnick.com S.r.l. 9// 10// This program is free software: you can redistribute it and/or modify 11// it under the terms of the GNU Lesser General Public License as published by 12// the Free Software Foundation, either version 2.1 of the License, or 13// (at your option) any later version. 14// 15// This program is distributed in the hope that it will be useful, 16// but WITHOUT ANY WARRANTY; without even the implied warranty of 17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18// GNU Lesser General Public License for more details. 19// 20// You should have received a copy of the GNU Lesser General Public License 21// along with this program. If not, see <http://www.gnu.org/licenses/>. 22// 23// See LICENSE.TXT file for more information. 24// ---------------------------------------------------------------------------- 25// 26// Description : Unicode Include file for TCPDF. 27// 28// Author: Nicola Asuni 29// 30// (c) Copyright: 31// Nicola Asuni 32// Tecnick.com s.r.l. 33// Via Della Pace, 11 34// 09044 Quartucciu (CA) 35// ITALY 36// www.tecnick.com 37// info@tecnick.com 38//============================================================+ 39// THANKS TO 40// Efthimios Mavrogeorgiadis 41// Saleh AlMatrafe 42 43/** 44 * Unicode Include file for TCPDF. 45 * @author Nicola Asuni 46 * @copyright 2004-2008 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com 47 * @package com.tecnick.tcpdf 48 * @link http://www.tcpdf.org 49 * @license http://www.gnu.org/copyleft/lesser.html LGPL 50 * @since 2.1.000 (2008-01-08) 51*/ 52 53/** 54* Left-to-Right Mark 55*/ 56define("K_LRM", 8206); 57/** 58* Right-to-Left Mark 59*/ 60define("K_RLM", 8207); 61/** 62* Left-to-Right Embedding 63*/ 64define("K_LRE", 8234); 65/** 66* Right-to-Left Embedding 67*/ 68define("K_RLE", 8235); 69/** 70* Pop Directional Format 71*/ 72define("K_PDF", 8236); 73/** 74* Left-to-Right Override 75*/ 76define("K_LRO", 8237); 77/** 78* Right-to-Left Override 79*/ 80define("K_RLO", 8238); 81 82/* 83 * Pattern to test RTL (Righ-To-Left) strings using regular expressions. 84 */ 85if (!defined("K_RE_PATTERN_RTL")) 86define("K_RE_PATTERN_RTL", "/( 87 \xD6\xBE # R 88 | \xD7[\x80\x83\x86\x90-\xAA\xB0-\xB4] # R 89 | \xDF[\x80-\xAA\xB4\xB5\xBA] # R 90 | \xE2\x80\x8F # R 91 | \xEF\xAC[\x9D\x9F\xA0-\xA8\xAA-\xB6\xB8-\xBC\xBE] # R 92 | \xEF\xAD[\x80\x81\x83\x84\x86-\x8F] # R 93 | \xF0\x90\xA0[\x80-\x85\x88\x8A-\xB5\xB7\xB8\xBC\xBF] # R 94 | \xF0\x90\xA4[\x80-\x99] # R 95 | \xF0\x90\xA8[\x80\x90-\x93\x95-\x97\x99-\xB3] # R 96 | \xF0\x90\xA9[\x80-\x87\x90-\x98] # R 97 | \xE2\x80[\xAB\xAE] # RLE & RLO 98 )/x"); 99/* 100 * Pattern to test Arabic strings using regular expressions. 101 * source: http://www.w3.org/International/questions/qa-forms-utf-8 102 */ 103if (!defined("K_RE_PATTERN_ARABIC")) 104define("K_RE_PATTERN_ARABIC", "/( 105 \xD8[\x80-\x83\x8B\x8D\x9B\x9E\x9F\xA1-\xBA] # AL 106 | \xD9[\x80-\x8A\xAD-\xAF\xB1-\xBF] # AL 107 | \xDA[\x80-\xBF] # AL 108 | \xDB[\x80-\x95\x9D\xA5\xA6\xAE\xAF\xBA-\xBF] # AL 109 | \xDC[\x80-\x8D\x90\x92-\xAF] # AL 110 | \xDD[\x8D-\xAD] # AL 111 | \xDE[\x80-\xA5\xB1] # AL 112 | \xEF\xAD[\x90-\xBF] # AL 113 | \xEF\xAE[\x80-\xB1] # AL 114 | \xEF\xAF[\x93-\xBF] # AL 115 | \xEF[\xB0-\xB3][\x80-\xBF] # AL 116 | \xEF\xB4[\x80-\xBD] # AL 117 | \xEF\xB5[\x90-\xBF] # AL 118 | \xEF\xB6[\x80-\x8F\x92-\xBF] # AL 119 | \xEF\xB7[\x80-\x87\xB0-\xBC] # AL 120 | \xEF\xB9[\xB0-\xB4\xB6-\xBF] # AL 121 | \xEF\xBA[\x80-\xBF] # AL 122 | \xEF\xBB[\x80-\xBC] # AL 123 | \xD9[\xA0-\xA9\xAB\xAC] # AN 124 )/x"); 125/** 126 * Array of unicode types 127 */ 128$unicode = array( 129 0 => 'BN', 130 1 => 'BN', 131 2 => 'BN', 132 3 => 'BN', 133 4 => 'BN', 134 5 => 'BN', 135 6 => 'BN', 136 7 => 'BN', 137 8 => 'BN', 138 9 => 'S', 139 10 => 'B', 140 11 => 'S', 141 12 => 'WS', 142 13 => 'B', 143 14 => 'BN', 144 15 => 'BN', 145 16 => 'BN', 146 17 => 'BN', 147 18 => 'BN', 148 19 => 'BN', 149 20 => 'BN', 150 21 => 'BN', 151 22 => 'BN', 152 23 => 'BN', 153 24 => 'BN', 154 25 => 'BN', 155 26 => 'BN', 156 27 => 'BN', 157 28 => 'B', 158 29 => 'B', 159 30 => 'B', 160 31 => 'S', 161 32 => 'WS', 162 33 => 'ON', 163 34 => 'ON', 164 35 => 'ET', 165 36 => 'ET', 166 37 => 'ET', 167 38 => 'ON', 168 39 => 'ON', 169 40 => 'ON', 170 41 => 'ON', 171 42 => 'ON', 172 43 => 'ES', 173 44 => 'CS', 174 45 => 'ES', 175 46 => 'CS', 176 47 => 'CS', 177 48 => 'EN', 178 49 => 'EN', 179 50 => 'EN', 180 51 => 'EN', 181 52 => 'EN', 182 53 => 'EN', 183 54 => 'EN', 184 55 => 'EN', 185 56 => 'EN', 186 57 => 'EN', 187 58 => 'CS', 188 59 => 'ON', 189 60 => 'ON', 190 61 => 'ON', 191 62 => 'ON', 192 63 => 'ON', 193 64 => 'ON', 194 65 => 'L', 195 66 => 'L', 196 67 => 'L', 197 68 => 'L', 198 69 => 'L', 199 70 => 'L', 200 71 => 'L', 201 72 => 'L', 202 73 => 'L', 203 74 => 'L', 204 75 => 'L', 205 76 => 'L', 206 77 => 'L', 207 78 => 'L', 208 79 => 'L', 209 80 => 'L', 210 81 => 'L', 211 82 => 'L', 212 83 => 'L', 213 84 => 'L', 214 85 => 'L', 215 86 => 'L', 216 87 => 'L', 217 88 => 'L', 218 89 => 'L', 219 90 => 'L', 220 91 => 'ON', 221 92 => 'ON', 222 93 => 'ON', 223 94 => 'ON', 224 95 => 'ON', 225 96 => 'ON', 226 97 => 'L', 227 98 => 'L', 228 99 => 'L', 229 100 => 'L', 230 101 => 'L', 231 102 => 'L', 232 103 => 'L', 233 104 => 'L', 234 105 => 'L', 235 106 => 'L', 236 107 => 'L', 237 108 => 'L', 238 109 => 'L', 239 110 => 'L', 240 111 => 'L', 241 112 => 'L', 242 113 => 'L', 243 114 => 'L', 244 115 => 'L', 245 116 => 'L', 246 117 => 'L', 247 118 => 'L', 248 119 => 'L', 249 120 => 'L', 250 121 => 'L', 251 122 => 'L', 252 123 => 'ON', 253 124 => 'ON', 254 125 => 'ON', 255 126 => 'ON', 256 127 => 'BN', 257 128 => 'BN', 258 129 => 'BN', 259 130 => 'BN', 260 131 => 'BN', 261 132 => 'BN', 262 133 => 'B', 263 134 => 'BN', 264 135 => 'BN', 265 136 => 'BN', 266 137 => 'BN', 267 138 => 'BN', 268 139 => 'BN', 269 140 => 'BN', 270 141 => 'BN', 271 142 => 'BN', 272 143 => 'BN', 273 144 => 'BN', 274 145 => 'BN', 275 146 => 'BN', 276 147 => 'BN', 277 148 => 'BN', 278 149 => 'BN', 279 150 => 'BN', 280 151 => 'BN', 281 152 => 'BN', 282 153 => 'BN', 283 154 => 'BN', 284 155 => 'BN', 285 156 => 'BN', 286 157 => 'BN', 287 158 => 'BN', 288 159 => 'BN', 289 160 => 'CS', 290 161 => 'ON', 291 162 => 'ET', 292 163 => 'ET', 293 164 => 'ET', 294 165 => 'ET', 295 166 => 'ON', 296 167 => 'ON', 297 168 => 'ON', 298 169 => 'ON', 299 170 => 'L', 300 171 => 'ON', 301 172 => 'ON', 302 173 => 'BN', 303 174 => 'ON', 304 175 => 'ON', 305 176 => 'ET', 306 177 => 'ET', 307 178 => 'EN', 308 179 => 'EN', 309 180 => 'ON', 310 181 => 'L', 311 182 => 'ON', 312 183 => 'ON', 313 184 => 'ON', 314 185 => 'EN', 315 186 => 'L', 316 187 => 'ON', 317 188 => 'ON', 318 189 => 'ON', 319 190 => 'ON', 320 191 => 'ON', 321 192 => 'L', 322 193 => 'L', 323 194 => 'L', 324 195 => 'L', 325 196 => 'L', 326 197 => 'L', 327 198 => 'L', 328 199 => 'L', 329 200 => 'L', 330 201 => 'L', 331 202 => 'L', 332 203 => 'L', 333 204 => 'L', 334 205 => 'L', 335 206 => 'L', 336 207 => 'L', 337 208 => 'L', 338 209 => 'L', 339 210 => 'L', 340 211 => 'L', 341 212 => 'L', 342 213 => 'L', 343 214 => 'L', 344 215 => 'ON', 345 216 => 'L', 346 217 => 'L', 347 218 => 'L', 348 219 => 'L', 349 220 => 'L', 350 221 => 'L', 351 222 => 'L', 352 223 => 'L', 353 224 => 'L', 354 225 => 'L', 355 226 => 'L', 356 227 => 'L', 357 228 => 'L', 358 229 => 'L', 359 230 => 'L', 360 231 => 'L', 361 232 => 'L', 362 233 => 'L', 363 234 => 'L', 364 235 => 'L', 365 236 => 'L', 366 237 => 'L', 367 238 => 'L', 368 239 => 'L', 369 240 => 'L', 370 241 => 'L', 371 242 => 'L', 372 243 => 'L', 373 244 => 'L', 374 245 => 'L', 375 246 => 'L', 376 247 => 'ON', 377 248 => 'L', 378 249 => 'L', 379 250 => 'L', 380 251 => 'L', 381 252 => 'L', 382 253 => 'L', 383 254 => 'L', 384 255 => 'L', 385 256 => 'L', 386 257 => 'L', 387 258 => 'L', 388 259 => 'L', 389 260 => 'L', 390 261 => 'L', 391 262 => 'L', 392 263 => 'L', 393 264 => 'L', 394 265 => 'L', 395 266 => 'L', 396 267 => 'L', 397 268 => 'L', 398 269 => 'L', 399 270 => 'L', 400 271 => 'L', 401 272 => 'L', 402 273 => 'L', 403 274 => 'L', 404 275 => 'L', 405 276 => 'L', 406 277 => 'L', 407 278 => 'L', 408 279 => 'L', 409 280 => 'L', 410 281 => 'L', 411 282 => 'L', 412 283 => 'L', 413 284 => 'L', 414 285 => 'L', 415 286 => 'L', 416 287 => 'L', 417 288 => 'L', 418 289 => 'L', 419 290 => 'L', 420 291 => 'L', 421 292 => 'L', 422 293 => 'L', 423 294 => 'L', 424 295 => 'L', 425 296 => 'L', 426 297 => 'L', 427 298 => 'L', 428 299 => 'L', 429 300 => 'L', 430 301 => 'L', 431 302 => 'L', 432 303 => 'L', 433 304 => 'L', 434 305 => 'L', 435 306 => 'L', 436 307 => 'L', 437 308 => 'L', 438 309 => 'L', 439 310 => 'L', 440 311 => 'L', 441 312 => 'L', 442 313 => 'L', 443 314 => 'L', 444 315 => 'L', 445 316 => 'L', 446 317 => 'L', 447 318 => 'L', 448 319 => 'L', 449 320 => 'L', 450 321 => 'L', 451 322 => 'L', 452 323 => 'L', 453 324 => 'L', 454 325 => 'L', 455 326 => 'L', 456 327 => 'L', 457 328 => 'L', 458 329 => 'L', 459 330 => 'L', 460 331 => 'L', 461 332 => 'L', 462 333 => 'L', 463 334 => 'L', 464 335 => 'L', 465 336 => 'L', 466 337 => 'L', 467 338 => 'L', 468 339 => 'L', 469 340 => 'L', 470 341 => 'L', 471 342 => 'L', 472 343 => 'L', 473 344 => 'L', 474 345 => 'L', 475 346 => 'L', 476 347 => 'L', 477 348 => 'L', 478 349 => 'L', 479 350 => 'L', 480 351 => 'L', 481 352 => 'L', 482 353 => 'L', 483 354 => 'L', 484 355 => 'L', 485 356 => 'L', 486 357 => 'L', 487 358 => 'L', 488 359 => 'L', 489 360 => 'L', 490 361 => 'L', 491 362 => 'L', 492 363 => 'L', 493 364 => 'L', 494 365 => 'L', 495 366 => 'L', 496 367 => 'L', 497 368 => 'L', 498 369 => 'L', 499 370 => 'L', 500 371 => 'L', 501 372 => 'L', 502 373 => 'L', 503 374 => 'L', 504 375 => 'L', 505 376 => 'L', 506 377 => 'L', 507 378 => 'L', 508 379 => 'L', 509 380 => 'L', 510 381 => 'L', 511 382 => 'L', 512 383 => 'L', 513 384 => 'L', 514 385 => 'L', 515 386 => 'L', 516 387 => 'L', 517 388 => 'L', 518 389 => 'L', 519 390 => 'L', 520 391 => 'L', 521 392 => 'L', 522 393 => 'L', 523 394 => 'L', 524 395 => 'L', 525 396 => 'L', 526 397 => 'L', 527 398 => 'L', 528 399 => 'L', 529 400 => 'L', 530 401 => 'L', 531 402 => 'L', 532 403 => 'L', 533 404 => 'L', 534 405 => 'L', 535 406 => 'L', 536 407 => 'L', 537 408 => 'L', 538 409 => 'L', 539 410 => 'L', 540 411 => 'L', 541 412 => 'L', 542 413 => 'L', 543 414 => 'L', 544 415 => 'L', 545 416 => 'L', 546 417 => 'L', 547 418 => 'L', 548 419 => 'L', 549 420 => 'L', 550 421 => 'L', 551 422 => 'L', 552 423 => 'L', 553 424 => 'L', 554 425 => 'L', 555 426 => 'L', 556 427 => 'L', 557 428 => 'L', 558 429 => 'L', 559 430 => 'L', 560 431 => 'L', 561 432 => 'L', 562 433 => 'L', 563 434 => 'L', 564 435 => 'L', 565 436 => 'L', 566 437 => 'L', 567 438 => 'L', 568 439 => 'L', 569 440 => 'L', 570 441 => 'L', 571 442 => 'L', 572 443 => 'L', 573 444 => 'L', 574 445 => 'L', 575 446 => 'L', 576 447 => 'L', 577 448 => 'L', 578 449 => 'L', 579 450 => 'L', 580 451 => 'L', 581 452 => 'L', 582 453 => 'L', 583 454 => 'L', 584 455 => 'L', 585 456 => 'L', 586 457 => 'L', 587 458 => 'L', 588 459 => 'L', 589 460 => 'L', 590 461 => 'L', 591 462 => 'L', 592 463 => 'L', 593 464 => 'L', 594 465 => 'L', 595 466 => 'L', 596 467 => 'L', 597 468 => 'L', 598 469 => 'L', 599 470 => 'L', 600 471 => 'L', 601 472 => 'L', 602 473 => 'L', 603 474 => 'L', 604 475 => 'L', 605 476 => 'L', 606 477 => 'L', 607 478 => 'L', 608 479 => 'L', 609 480 => 'L', 610 481 => 'L', 611 482 => 'L', 612 483 => 'L', 613 484 => 'L', 614 485 => 'L', 615 486 => 'L', 616 487 => 'L', 617 488 => 'L', 618 489 => 'L', 619 490 => 'L', 620 491 => 'L', 621 492 => 'L', 622 493 => 'L', 623 494 => 'L', 624 495 => 'L', 625 496 => 'L', 626 497 => 'L', 627 498 => 'L', 628 499 => 'L', 629 500 => 'L', 630 501 => 'L', 631 502 => 'L', 632 503 => 'L', 633 504 => 'L', 634 505 => 'L', 635 506 => 'L', 636 507 => 'L', 637 508 => 'L', 638 509 => 'L', 639 510 => 'L', 640 511 => 'L', 641 512 => 'L', 642 513 => 'L', 643 514 => 'L', 644 515 => 'L', 645 516 => 'L', 646 517 => 'L', 647 518 => 'L', 648 519 => 'L', 649 520 => 'L', 650 521 => 'L', 651 522 => 'L', 652 523 => 'L', 653 524 => 'L', 654 525 => 'L', 655 526 => 'L', 656 527 => 'L', 657 528 => 'L', 658 529 => 'L', 659 530 => 'L', 660 531 => 'L', 661 532 => 'L', 662 533 => 'L', 663 534 => 'L', 664 535 => 'L', 665 536 => 'L', 666 537 => 'L', 667 538 => 'L', 668 539 => 'L', 669 540 => 'L', 670 541 => 'L', 671 542 => 'L', 672 543 => 'L', 673 544 => 'L', 674 545 => 'L', 675 546 => 'L', 676 547 => 'L', 677 548 => 'L', 678 549 => 'L', 679 550 => 'L', 680 551 => 'L', 681 552 => 'L', 682 553 => 'L', 683 554 => 'L', 684 555 => 'L', 685 556 => 'L', 686 557 => 'L', 687 558 => 'L', 688 559 => 'L', 689 560 => 'L', 690 561 => 'L', 691 562 => 'L', 692 563 => 'L', 693 564 => 'L', 694 565 => 'L', 695 566 => 'L', 696 567 => 'L', 697 568 => 'L', 698 569 => 'L', 699 570 => 'L', 700 571 => 'L', 701 572 => 'L', 702 573 => 'L', 703 574 => 'L', 704 575 => 'L', 705 576 => 'L', 706 577 => 'L', 707 578 => 'L', 708 579 => 'L', 709 580 => 'L', 710 581 => 'L', 711 582 => 'L', 712 583 => 'L', 713 584 => 'L', 714 585 => 'L', 715 586 => 'L', 716 587 => 'L', 717 588 => 'L', 718 589 => 'L', 719 590 => 'L', 720 591 => 'L', 721 592 => 'L', 722 593 => 'L', 723 594 => 'L', 724 595 => 'L', 725 596 => 'L', 726 597 => 'L', 727 598 => 'L', 728 599 => 'L', 729 600 => 'L', 730 601 => 'L', 731 602 => 'L', 732 603 => 'L', 733 604 => 'L', 734 605 => 'L', 735 606 => 'L', 736 607 => 'L', 737 608 => 'L', 738 609 => 'L', 739 610 => 'L', 740 611 => 'L', 741 612 => 'L', 742 613 => 'L', 743 614 => 'L', 744 615 => 'L', 745 616 => 'L', 746 617 => 'L', 747 618 => 'L', 748 619 => 'L', 749 620 => 'L', 750 621 => 'L', 751 622 => 'L', 752 623 => 'L', 753 624 => 'L', 754 625 => 'L', 755 626 => 'L', 756 627 => 'L', 757 628 => 'L', 758 629 => 'L', 759 630 => 'L', 760 631 => 'L', 761 632 => 'L', 762 633 => 'L', 763 634 => 'L', 764 635 => 'L', 765 636 => 'L', 766 637 => 'L', 767 638 => 'L', 768 639 => 'L', 769 640 => 'L', 770 641 => 'L', 771 642 => 'L', 772 643 => 'L', 773 644 => 'L', 774 645 => 'L', 775 646 => 'L', 776 647 => 'L', 777 648 => 'L', 778 649 => 'L', 779 650 => 'L', 780 651 => 'L', 781 652 => 'L', 782 653 => 'L', 783 654 => 'L', 784 655 => 'L', 785 656 => 'L', 786 657 => 'L', 787 658 => 'L', 788 659 => 'L', 789 660 => 'L', 790 661 => 'L', 791 662 => 'L', 792 663 => 'L', 793 664 => 'L', 794 665 => 'L', 795 666 => 'L', 796 667 => 'L', 797 668 => 'L', 798 669 => 'L', 799 670 => 'L', 800 671 => 'L', 801 672 => 'L', 802 673 => 'L', 803 674 => 'L', 804 675 => 'L', 805 676 => 'L', 806 677 => 'L', 807 678 => 'L', 808 679 => 'L', 809 680 => 'L', 810 681 => 'L', 811 682 => 'L', 812 683 => 'L', 813 684 => 'L', 814 685 => 'L', 815 686 => 'L', 816 687 => 'L', 817 688 => 'L', 818 689 => 'L', 819 690 => 'L', 820 691 => 'L', 821 692 => 'L', 822 693 => 'L', 823 694 => 'L', 824 695 => 'L', 825 696 => 'L', 826 697 => 'ON', 827 698 => 'ON', 828 699 => 'L', 829 700 => 'L', 830 701 => 'L', 831 702 => 'L', 832 703 => 'L', 833 704 => 'L', 834 705 => 'L', 835 706 => 'ON', 836 707 => 'ON', 837 708 => 'ON', 838 709 => 'ON', 839 710 => 'ON', 840 711 => 'ON', 841 712 => 'ON', 842 713 => 'ON', 843 714 => 'ON', 844 715 => 'ON', 845 716 => 'ON', 846 717 => 'ON', 847 718 => 'ON', 848 719 => 'ON', 849 720 => 'L', 850 721 => 'L', 851 722 => 'ON', 852 723 => 'ON', 853 724 => 'ON', 854 725 => 'ON', 855 726 => 'ON', 856 727 => 'ON', 857 728 => 'ON', 858 729 => 'ON', 859 730 => 'ON', 860 731 => 'ON', 861 732 => 'ON', 862 733 => 'ON', 863 734 => 'ON', 864 735 => 'ON', 865 736 => 'L', 866 737 => 'L', 867 738 => 'L', 868 739 => 'L', 869 740 => 'L', 870 741 => 'ON', 871 742 => 'ON', 872 743 => 'ON', 873 744 => 'ON', 874 745 => 'ON', 875 746 => 'ON', 876 747 => 'ON', 877 748 => 'ON', 878 749 => 'ON', 879 750 => 'L', 880 751 => 'ON', 881 752 => 'ON', 882 753 => 'ON', 883 754 => 'ON', 884 755 => 'ON', 885 756 => 'ON', 886 757 => 'ON', 887 758 => 'ON', 888 759 => 'ON', 889 760 => 'ON', 890 761 => 'ON', 891 762 => 'ON', 892 763 => 'ON', 893 764 => 'ON', 894 765 => 'ON', 895 766 => 'ON', 896 767 => 'ON', 897 768 => 'NSM', 898 769 => 'NSM', 899 770 => 'NSM', 900 771 => 'NSM', 901 772 => 'NSM', 902 773 => 'NSM', 903 774 => 'NSM', 904 775 => 'NSM', 905 776 => 'NSM', 906 777 => 'NSM', 907 778 => 'NSM', 908 779 => 'NSM', 909 780 => 'NSM', 910 781 => 'NSM', 911 782 => 'NSM', 912 783 => 'NSM', 913 784 => 'NSM', 914 785 => 'NSM', 915 786 => 'NSM', 916 787 => 'NSM', 917 788 => 'NSM', 918 789 => 'NSM', 919 790 => 'NSM', 920 791 => 'NSM', 921 792 => 'NSM', 922 793 => 'NSM', 923 794 => 'NSM', 924 795 => 'NSM', 925 796 => 'NSM', 926 797 => 'NSM', 927 798 => 'NSM', 928 799 => 'NSM', 929 800 => 'NSM', 930 801 => 'NSM', 931 802 => 'NSM', 932 803 => 'NSM', 933 804 => 'NSM', 934 805 => 'NSM', 935 806 => 'NSM', 936 807 => 'NSM', 937 808 => 'NSM', 938 809 => 'NSM', 939 810 => 'NSM', 940 811 => 'NSM', 941 812 => 'NSM', 942 813 => 'NSM', 943 814 => 'NSM', 944 815 => 'NSM', 945 816 => 'NSM', 946 817 => 'NSM', 947 818 => 'NSM', 948 819 => 'NSM', 949 820 => 'NSM', 950 821 => 'NSM', 951 822 => 'NSM', 952 823 => 'NSM', 953 824 => 'NSM', 954 825 => 'NSM', 955 826 => 'NSM', 956 827 => 'NSM', 957 828 => 'NSM', 958 829 => 'NSM', 959 830 => 'NSM', 960 831 => 'NSM', 961 832 => 'NSM', 962 833 => 'NSM', 963 834 => 'NSM', 964 835 => 'NSM', 965 836 => 'NSM', 966 837 => 'NSM', 967 838 => 'NSM', 968 839 => 'NSM', 969 840 => 'NSM', 970 841 => 'NSM', 971 842 => 'NSM', 972 843 => 'NSM', 973 844 => 'NSM', 974 845 => 'NSM', 975 846 => 'NSM', 976 847 => 'NSM', 977 848 => 'NSM', 978 849 => 'NSM', 979 850 => 'NSM', 980 851 => 'NSM', 981 852 => 'NSM', 982 853 => 'NSM', 983 854 => 'NSM', 984 855 => 'NSM', 985 856 => 'NSM', 986 857 => 'NSM', 987 858 => 'NSM', 988 859 => 'NSM', 989 860 => 'NSM', 990 861 => 'NSM', 991 862 => 'NSM', 992 863 => 'NSM', 993 864 => 'NSM', 994 865 => 'NSM', 995 866 => 'NSM', 996 867 => 'NSM', 997 868 => 'NSM', 998 869 => 'NSM', 999 870 => 'NSM', 1000 871 => 'NSM', 1001 872 => 'NSM', 1002 873 => 'NSM', 1003 874 => 'NSM', 1004 875 => 'NSM', 1005 876 => 'NSM', 1006 877 => 'NSM', 1007 878 => 'NSM', 1008 879 => 'NSM', 1009 884 => 'ON', 1010 885 => 'ON', 1011 890 => 'L', 1012 891 => 'L', 1013 892 => 'L', 1014 893 => 'L', 1015 894 => 'ON', 1016 900 => 'ON', 1017 901 => 'ON', 1018 902 => 'L', 1019 903 => 'ON', 1020 904 => 'L', 1021 905 => 'L', 1022 906 => 'L', 1023 908 => 'L', 1024 910 => 'L', 1025 911 => 'L', 1026 912 => 'L', 1027 913 => 'L', 1028 914 => 'L', 1029 915 => 'L', 1030 916 => 'L', 1031 917 => 'L', 1032 918 => 'L', 1033 919 => 'L', 1034 920 => 'L', 1035 921 => 'L', 1036 922 => 'L', 1037 923 => 'L', 1038 924 => 'L', 1039 925 => 'L', 1040 926 => 'L', 1041 927 => 'L', 1042 928 => 'L', 1043 929 => 'L', 1044 931 => 'L', 1045 932 => 'L', 1046 933 => 'L', 1047 934 => 'L', 1048 935 => 'L', 1049 936 => 'L', 1050 937 => 'L', 1051 938 => 'L', 1052 939 => 'L', 1053 940 => 'L', 1054 941 => 'L', 1055 942 => 'L', 1056 943 => 'L', 1057 944 => 'L', 1058 945 => 'L', 1059 946 => 'L', 1060 947 => 'L', 1061 948 => 'L', 1062 949 => 'L', 1063 950 => 'L', 1064 951 => 'L', 1065 952 => 'L', 1066 953 => 'L', 1067 954 => 'L', 1068 955 => 'L', 1069 956 => 'L', 1070 957 => 'L', 1071 958 => 'L', 1072 959 => 'L', 1073 960 => 'L', 1074 961 => 'L', 1075 962 => 'L', 1076 963 => 'L', 1077 964 => 'L', 1078 965 => 'L', 1079 966 => 'L', 1080 967 => 'L', 1081 968 => 'L', 1082 969 => 'L', 1083 970 => 'L', 1084 971 => 'L', 1085 972 => 'L', 1086 973 => 'L', 1087 974 => 'L', 1088 976 => 'L', 1089 977 => 'L', 1090 978 => 'L', 1091 979 => 'L', 1092 980 => 'L', 1093 981 => 'L', 1094 982 => 'L', 1095 983 => 'L', 1096 984 => 'L', 1097 985 => 'L', 1098 986 => 'L', 1099 987 => 'L', 1100 988 => 'L', 1101 989 => 'L', 1102 990 => 'L', 1103 991 => 'L', 1104 992 => 'L', 1105 993 => 'L', 1106 994 => 'L', 1107 995 => 'L', 1108 996 => 'L', 1109 997 => 'L', 1110 998 => 'L', 1111 999 => 'L', 1112 1000 => 'L', 1113 1001 => 'L', 1114 1002 => 'L', 1115 1003 => 'L', 1116 1004 => 'L', 1117 1005 => 'L', 1118 1006 => 'L', 1119 1007 => 'L', 1120 1008 => 'L', 1121 1009 => 'L', 1122 1010 => 'L', 1123 1011 => 'L', 1124 1012 => 'L', 1125 1013 => 'L', 1126 1014 => 'ON', 1127 1015 => 'L', 1128 1016 => 'L', 1129 1017 => 'L', 1130 1018 => 'L', 1131 1019 => 'L', 1132 1020 => 'L', 1133 1021 => 'L', 1134 1022 => 'L', 1135 1023 => 'L', 1136 1024 => 'L', 1137 1025 => 'L', 1138 1026 => 'L', 1139 1027 => 'L', 1140 1028 => 'L', 1141 1029 => 'L', 1142 1030 => 'L', 1143 1031 => 'L', 1144 1032 => 'L', 1145 1033 => 'L', 1146 1034 => 'L', 1147 1035 => 'L', 1148 1036 => 'L', 1149 1037 => 'L', 1150 1038 => 'L', 1151 1039 => 'L', 1152 1040 => 'L', 1153 1041 => 'L', 1154 1042 => 'L', 1155 1043 => 'L', 1156 1044 => 'L', 1157 1045 => 'L', 1158 1046 => 'L', 1159 1047 => 'L', 1160 1048 => 'L', 1161 1049 => 'L', 1162 1050 => 'L', 1163 1051 => 'L', 1164 1052 => 'L', 1165 1053 => 'L', 1166 1054 => 'L', 1167 1055 => 'L', 1168 1056 => 'L', 1169 1057 => 'L', 1170 1058 => 'L', 1171 1059 => 'L', 1172 1060 => 'L', 1173 1061 => 'L', 1174 1062 => 'L', 1175 1063 => 'L', 1176 1064 => 'L', 1177 1065 => 'L', 1178 1066 => 'L', 1179 1067 => 'L', 1180 1068 => 'L', 1181 1069 => 'L', 1182 1070 => 'L', 1183 1071 => 'L', 1184 1072 => 'L', 1185 1073 => 'L', 1186 1074 => 'L', 1187 1075 => 'L', 1188 1076 => 'L', 1189 1077 => 'L', 1190 1078 => 'L', 1191 1079 => 'L', 1192 1080 => 'L', 1193 1081 => 'L', 1194 1082 => 'L', 1195 1083 => 'L', 1196 1084 => 'L', 1197 1085 => 'L', 1198 1086 => 'L', 1199 1087 => 'L', 1200 1088 => 'L', 1201 1089 => 'L', 1202 1090 => 'L', 1203 1091 => 'L', 1204 1092 => 'L', 1205 1093 => 'L', 1206 1094 => 'L', 1207 1095 => 'L', 1208 1096 => 'L', 1209 1097 => 'L', 1210 1098 => 'L', 1211 1099 => 'L', 1212 1100 => 'L', 1213 1101 => 'L', 1214 1102 => 'L', 1215 1103 => 'L', 1216 1104 => 'L', 1217 1105 => 'L', 1218 1106 => 'L', 1219 1107 => 'L', 1220 1108 => 'L', 1221 1109 => 'L', 1222 1110 => 'L', 1223 1111 => 'L', 1224 1112 => 'L', 1225 1113 => 'L', 1226 1114 => 'L', 1227 1115 => 'L', 1228 1116 => 'L', 1229 1117 => 'L', 1230 1118 => 'L', 1231 1119 => 'L', 1232 1120 => 'L', 1233 1121 => 'L', 1234 1122 => 'L', 1235 1123 => 'L', 1236 1124 => 'L', 1237 1125 => 'L', 1238 1126 => 'L', 1239 1127 => 'L', 1240 1128 => 'L', 1241 1129 => 'L', 1242 1130 => 'L', 1243 1131 => 'L', 1244 1132 => 'L', 1245 1133 => 'L', 1246 1134 => 'L', 1247 1135 => 'L', 1248 1136 => 'L', 1249 1137 => 'L', 1250 1138 => 'L', 1251 1139 => 'L', 1252 1140 => 'L', 1253 1141 => 'L', 1254 1142 => 'L', 1255 1143 => 'L', 1256 1144 => 'L', 1257 1145 => 'L', 1258 1146 => 'L', 1259 1147 => 'L', 1260 1148 => 'L', 1261 1149 => 'L', 1262 1150 => 'L', 1263 1151 => 'L', 1264 1152 => 'L', 1265 1153 => 'L', 1266 1154 => 'L', 1267 1155 => 'NSM', 1268 1156 => 'NSM', 1269 1157 => 'NSM', 1270 1158 => 'NSM', 1271 1160 => 'NSM', 1272 1161 => 'NSM', 1273 1162 => 'L', 1274 1163 => 'L', 1275 1164 => 'L', 1276 1165 => 'L', 1277 1166 => 'L', 1278 1167 => 'L', 1279 1168 => 'L', 1280 1169 => 'L', 1281 1170 => 'L', 1282 1171 => 'L', 1283 1172 => 'L', 1284 1173 => 'L', 1285 1174 => 'L', 1286 1175 => 'L', 1287 1176 => 'L', 1288 1177 => 'L', 1289 1178 => 'L', 1290 1179 => 'L', 1291 1180 => 'L', 1292 1181 => 'L', 1293 1182 => 'L', 1294 1183 => 'L', 1295 1184 => 'L', 1296 1185 => 'L', 1297 1186 => 'L', 1298 1187 => 'L', 1299 1188 => 'L', 1300 1189 => 'L', 1301 1190 => 'L', 1302 1191 => 'L', 1303 1192 => 'L', 1304 1193 => 'L', 1305 1194 => 'L', 1306 1195 => 'L', 1307 1196 => 'L', 1308 1197 => 'L', 1309 1198 => 'L', 1310 1199 => 'L', 1311 1200 => 'L', 1312 1201 => 'L', 1313 1202 => 'L', 1314 1203 => 'L', 1315 1204 => 'L', 1316 1205 => 'L', 1317 1206 => 'L', 1318 1207 => 'L', 1319 1208 => 'L', 1320 1209 => 'L', 1321 1210 => 'L', 1322 1211 => 'L', 1323 1212 => 'L', 1324 1213 => 'L', 1325 1214 => 'L', 1326 1215 => 'L', 1327 1216 => 'L', 1328 1217 => 'L', 1329 1218 => 'L', 1330 1219 => 'L', 1331 1220 => 'L', 1332 1221 => 'L', 1333 1222 => 'L', 1334 1223 => 'L', 1335 1224 => 'L', 1336 1225 => 'L', 1337 1226 => 'L', 1338 1227 => 'L', 1339 1228 => 'L', 1340 1229 => 'L', 1341 1230 => 'L', 1342 1231 => 'L', 1343 1232 => 'L', 1344 1233 => 'L', 1345 1234 => 'L', 1346 1235 => 'L', 1347 1236 => 'L', 1348 1237 => 'L', 1349 1238 => 'L', 1350 1239 => 'L', 1351 1240 => 'L', 1352 1241 => 'L', 1353 1242 => 'L', 1354 1243 => 'L', 1355 1244 => 'L', 1356 1245 => 'L', 1357 1246 => 'L', 1358 1247 => 'L', 1359 1248 => 'L', 1360 1249 => 'L', 1361 1250 => 'L', 1362 1251 => 'L', 1363 1252 => 'L', 1364 1253 => 'L', 1365 1254 => 'L', 1366 1255 => 'L', 1367 1256 => 'L', 1368 1257 => 'L', 1369 1258 => 'L', 1370 1259 => 'L', 1371 1260 => 'L', 1372 1261 => 'L', 1373 1262 => 'L', 1374 1263 => 'L', 1375 1264 => 'L', 1376 1265 => 'L', 1377 1266 => 'L', 1378 1267 => 'L', 1379 1268 => 'L', 1380 1269 => 'L', 1381 1270 => 'L', 1382 1271 => 'L', 1383 1272 => 'L', 1384 1273 => 'L', 1385 1274 => 'L', 1386 1275 => 'L', 1387 1276 => 'L', 1388 1277 => 'L', 1389 1278 => 'L', 1390 1279 => 'L', 1391 1280 => 'L', 1392 1281 => 'L', 1393 1282 => 'L', 1394 1283 => 'L', 1395 1284 => 'L', 1396 1285 => 'L', 1397 1286 => 'L', 1398 1287 => 'L', 1399 1288 => 'L', 1400 1289 => 'L', 1401 1290 => 'L', 1402 1291 => 'L', 1403 1292 => 'L', 1404 1293 => 'L', 1405 1294 => 'L', 1406 1295 => 'L', 1407 1296 => 'L', 1408 1297 => 'L', 1409 1298 => 'L', 1410 1299 => 'L', 1411 1329 => 'L', 1412 1330 => 'L', 1413 1331 => 'L', 1414 1332 => 'L', 1415 1333 => 'L', 1416 1334 => 'L', 1417 1335 => 'L', 1418 1336 => 'L', 1419 1337 => 'L', 1420 1338 => 'L', 1421 1339 => 'L', 1422 1340 => 'L', 1423 1341 => 'L', 1424 1342 => 'L', 1425 1343 => 'L', 1426 1344 => 'L', 1427 1345 => 'L', 1428 1346 => 'L', 1429 1347 => 'L', 1430 1348 => 'L', 1431 1349 => 'L', 1432 1350 => 'L', 1433 1351 => 'L', 1434 1352 => 'L', 1435 1353 => 'L', 1436 1354 => 'L', 1437 1355 => 'L', 1438 1356 => 'L', 1439 1357 => 'L', 1440 1358 => 'L', 1441 1359 => 'L', 1442 1360 => 'L', 1443 1361 => 'L', 1444 1362 => 'L', 1445 1363 => 'L', 1446 1364 => 'L', 1447 1365 => 'L', 1448 1366 => 'L', 1449 1369 => 'L', 1450 1370 => 'L', 1451 1371 => 'L', 1452 1372 => 'L', 1453 1373 => 'L', 1454 1374 => 'L', 1455 1375 => 'L', 1456 1377 => 'L', 1457 1378 => 'L', 1458 1379 => 'L', 1459 1380 => 'L', 1460 1381 => 'L', 1461 1382 => 'L', 1462 1383 => 'L', 1463 1384 => 'L', 1464 1385 => 'L', 1465 1386 => 'L', 1466 1387 => 'L', 1467 1388 => 'L', 1468 1389 => 'L', 1469 1390 => 'L', 1470 1391 => 'L', 1471 1392 => 'L', 1472 1393 => 'L', 1473 1394 => 'L', 1474 1395 => 'L', 1475 1396 => 'L', 1476 1397 => 'L', 1477 1398 => 'L', 1478 1399 => 'L', 1479 1400 => 'L', 1480 1401 => 'L', 1481 1402 => 'L', 1482 1403 => 'L', 1483 1404 => 'L', 1484 1405 => 'L', 1485 1406 => 'L', 1486 1407 => 'L', 1487 1408 => 'L', 1488 1409 => 'L', 1489 1410 => 'L', 1490 1411 => 'L', 1491 1412 => 'L', 1492 1413 => 'L', 1493 1414 => 'L', 1494 1415 => 'L', 1495 1417 => 'L', 1496 1418 => 'ON', 1497 1425 => 'NSM', 1498 1426 => 'NSM', 1499 1427 => 'NSM', 1500 1428 => 'NSM', 1501 1429 => 'NSM', 1502 1430 => 'NSM', 1503 1431 => 'NSM', 1504 1432 => 'NSM', 1505 1433 => 'NSM', 1506 1434 => 'NSM', 1507 1435 => 'NSM', 1508 1436 => 'NSM', 1509 1437 => 'NSM', 1510 1438 => 'NSM', 1511 1439 => 'NSM', 1512 1440 => 'NSM', 1513 1441 => 'NSM', 1514 1442 => 'NSM', 1515 1443 => 'NSM', 1516 1444 => 'NSM', 1517 1445 => 'NSM', 1518 1446 => 'NSM', 1519 1447 => 'NSM', 1520 1448 => 'NSM', 1521 1449 => 'NSM', 1522 1450 => 'NSM', 1523 1451 => 'NSM', 1524 1452 => 'NSM', 1525 1453 => 'NSM', 1526 1454 => 'NSM', 1527 1455 => 'NSM', 1528 1456 => 'NSM', 1529 1457 => 'NSM', 1530 1458 => 'NSM', 1531 1459 => 'NSM', 1532 1460 => 'NSM', 1533 1461 => 'NSM', 1534 1462 => 'NSM', 1535 1463 => 'NSM', 1536 1464 => 'NSM', 1537 1465 => 'NSM', 1538 1466 => 'NSM', 1539 1467 => 'NSM', 1540 1468 => 'NSM', 1541 1469 => 'NSM', 1542 1470 => 'R', 1543 1471 => 'NSM', 1544 1472 => 'R', 1545 1473 => 'NSM', 1546 1474 => 'NSM', 1547 1475 => 'R', 1548 1476 => 'NSM', 1549 1477 => 'NSM', 1550 1478 => 'R', 1551 1479 => 'NSM', 1552 1488 => 'R', 1553 1489 => 'R', 1554 1490 => 'R', 1555 1491 => 'R', 1556 1492 => 'R', 1557 1493 => 'R', 1558 1494 => 'R', 1559 1495 => 'R', 1560 1496 => 'R', 1561 1497 => 'R', 1562 1498 => 'R', 1563 1499 => 'R', 1564 1500 => 'R', 1565 1501 => 'R', 1566 1502 => 'R', 1567 1503 => 'R', 1568 1504 => 'R', 1569 1505 => 'R', 1570 1506 => 'R', 1571 1507 => 'R', 1572 1508 => 'R', 1573 1509 => 'R', 1574 1510 => 'R', 1575 1511 => 'R', 1576 1512 => 'R', 1577 1513 => 'R', 1578 1514 => 'R', 1579 1520 => 'R', 1580 1521 => 'R', 1581 1522 => 'R', 1582 1523 => 'R', 1583 1524 => 'R', 1584 1536 => 'AL', 1585 1537 => 'AL', 1586 1538 => 'AL', 1587 1539 => 'AL', 1588 1547 => 'AL', 1589 1548 => 'CS', 1590 1549 => 'AL', 1591 1550 => 'ON', 1592 1551 => 'ON', 1593 1552 => 'NSM', 1594 1553 => 'NSM', 1595 1554 => 'NSM', 1596 1555 => 'NSM', 1597 1556 => 'NSM', 1598 1557 => 'NSM', 1599 1563 => 'AL', 1600 1566 => 'AL', 1601 1567 => 'AL', 1602 1569 => 'AL', 1603 1570 => 'AL', 1604 1571 => 'AL', 1605 1572 => 'AL', 1606 1573 => 'AL', 1607 1574 => 'AL', 1608 1575 => 'AL', 1609 1576 => 'AL', 1610 1577 => 'AL', 1611 1578 => 'AL', 1612 1579 => 'AL', 1613 1580 => 'AL', 1614 1581 => 'AL', 1615 1582 => 'AL', 1616 1583 => 'AL', 1617 1584 => 'AL', 1618 1585 => 'AL', 1619 1586 => 'AL', 1620 1587 => 'AL', 1621 1588 => 'AL', 1622 1589 => 'AL', 1623 1590 => 'AL', 1624 1591 => 'AL', 1625 1592 => 'AL', 1626 1593 => 'AL', 1627 1594 => 'AL', 1628 1600 => 'AL', 1629 1601 => 'AL', 1630 1602 => 'AL', 1631 1603 => 'AL', 1632 1604 => 'AL', 1633 1605 => 'AL', 1634 1606 => 'AL', 1635 1607 => 'AL', 1636 1608 => 'AL', 1637 1609 => 'AL', 1638 1610 => 'AL', 1639 1611 => 'NSM', 1640 1612 => 'NSM', 1641 1613 => 'NSM', 1642 1614 => 'NSM', 1643 1615 => 'NSM', 1644 1616 => 'NSM', 1645 1617 => 'NSM', 1646 1618 => 'NSM', 1647 1619 => 'NSM', 1648 1620 => 'NSM', 1649 1621 => 'NSM', 1650 1622 => 'NSM', 1651 1623 => 'NSM', 1652 1624 => 'NSM', 1653 1625 => 'NSM', 1654 1626 => 'NSM', 1655 1627 => 'NSM', 1656 1628 => 'NSM', 1657 1629 => 'NSM', 1658 1630 => 'NSM', 1659 1632 => 'AN', 1660 1633 => 'AN', 1661 1634 => 'AN', 1662 1635 => 'AN', 1663 1636 => 'AN', 1664 1637 => 'AN', 1665 1638 => 'AN', 1666 1639 => 'AN', 1667 1640 => 'AN', 1668 1641 => 'AN', 1669 1642 => 'ET', 1670 1643 => 'AN', 1671 1644 => 'AN', 1672 1645 => 'AL', 1673 1646 => 'AL', 1674 1647 => 'AL', 1675 1648 => 'NSM', 1676 1649 => 'AL', 1677 1650 => 'AL', 1678 1651 => 'AL', 1679 1652 => 'AL', 1680 1653 => 'AL', 1681 1654 => 'AL', 1682 1655 => 'AL', 1683 1656 => 'AL', 1684 1657 => 'AL', 1685 1658 => 'AL', 1686 1659 => 'AL', 1687 1660 => 'AL', 1688 1661 => 'AL', 1689 1662 => 'AL', 1690 1663 => 'AL', 1691 1664 => 'AL', 1692 1665 => 'AL', 1693 1666 => 'AL', 1694 1667 => 'AL', 1695 1668 => 'AL', 1696 1669 => 'AL', 1697 1670 => 'AL', 1698 1671 => 'AL', 1699 1672 => 'AL', 1700 1673 => 'AL', 1701 1674 => 'AL', 1702 1675 => 'AL', 1703 1676 => 'AL', 1704 1677 => 'AL', 1705 1678 => 'AL', 1706 1679 => 'AL', 1707 1680 => 'AL', 1708 1681 => 'AL', 1709 1682 => 'AL', 1710 1683 => 'AL', 1711 1684 => 'AL', 1712 1685 => 'AL', 1713 1686 => 'AL', 1714 1687 => 'AL', 1715 1688 => 'AL', 1716 1689 => 'AL', 1717 1690 => 'AL', 1718 1691 => 'AL', 1719 1692 => 'AL', 1720 1693 => 'AL', 1721 1694 => 'AL', 1722 1695 => 'AL', 1723 1696 => 'AL', 1724 1697 => 'AL', 1725 1698 => 'AL', 1726 1699 => 'AL', 1727 1700 => 'AL', 1728 1701 => 'AL', 1729 1702 => 'AL', 1730 1703 => 'AL', 1731 1704 => 'AL', 1732 1705 => 'AL', 1733 1706 => 'AL', 1734 1707 => 'AL', 1735 1708 => 'AL', 1736 1709 => 'AL', 1737 1710 => 'AL', 1738 1711 => 'AL', 1739 1712 => 'AL', 1740 1713 => 'AL', 1741 1714 => 'AL', 1742 1715 => 'AL', 1743 1716 => 'AL', 1744 1717 => 'AL', 1745 1718 => 'AL', 1746 1719 => 'AL', 1747 1720 => 'AL', 1748 1721 => 'AL', 1749 1722 => 'AL', 1750 1723 => 'AL', 1751 1724 => 'AL', 1752 1725 => 'AL', 1753 1726 => 'AL', 1754 1727 => 'AL', 1755 1728 => 'AL', 1756 1729 => 'AL', 1757 1730 => 'AL', 1758 1731 => 'AL', 1759 1732 => 'AL', 1760 1733 => 'AL', 1761 1734 => 'AL', 1762 1735 => 'AL', 1763 1736 => 'AL', 1764 1737 => 'AL', 1765 1738 => 'AL', 1766 1739 => 'AL', 1767 1740 => 'AL', 1768 1741 => 'AL', 1769 1742 => 'AL', 1770 1743 => 'AL', 1771 1744 => 'AL', 1772 1745 => 'AL', 1773 1746 => 'AL', 1774 1747 => 'AL', 1775 1748 => 'AL', 1776 1749 => 'AL', 1777 1750 => 'NSM', 1778 1751 => 'NSM', 1779 1752 => 'NSM', 1780 1753 => 'NSM', 1781 1754 => 'NSM', 1782 1755 => 'NSM', 1783 1756 => 'NSM', 1784 1757 => 'AL', 1785 1758 => 'NSM', 1786 1759 => 'NSM', 1787 1760 => 'NSM', 1788 1761 => 'NSM', 1789 1762 => 'NSM', 1790 1763 => 'NSM', 1791 1764 => 'NSM', 1792 1765 => 'AL', 1793 1766 => 'AL', 1794 1767 => 'NSM', 1795 1768 => 'NSM', 1796 1769 => 'ON', 1797 1770 => 'NSM', 1798 1771 => 'NSM', 1799 1772 => 'NSM', 1800 1773 => 'NSM', 1801 1774 => 'AL', 1802 1775 => 'AL', 1803 1776 => 'EN', 1804 1777 => 'EN', 1805 1778 => 'EN', 1806 1779 => 'EN', 1807 1780 => 'EN', 1808 1781 => 'EN', 1809 1782 => 'EN', 1810 1783 => 'EN', 1811 1784 => 'EN', 1812 1785 => 'EN', 1813 1786 => 'AL', 1814 1787 => 'AL', 1815 1788 => 'AL', 1816 1789 => 'AL', 1817 1790 => 'AL', 1818 1791 => 'AL', 1819 1792 => 'AL', 1820 1793 => 'AL', 1821 1794 => 'AL', 1822 1795 => 'AL', 1823 1796 => 'AL', 1824 1797 => 'AL', 1825 1798 => 'AL', 1826 1799 => 'AL', 1827 1800 => 'AL', 1828 1801 => 'AL', 1829 1802 => 'AL', 1830 1803 => 'AL', 1831 1804 => 'AL', 1832 1805 => 'AL', 1833 1807 => 'BN', 1834 1808 => 'AL', 1835 1809 => 'NSM', 1836 1810 => 'AL', 1837 1811 => 'AL', 1838 1812 => 'AL', 1839 1813 => 'AL', 1840 1814 => 'AL', 1841 1815 => 'AL', 1842 1816 => 'AL', 1843 1817 => 'AL', 1844 1818 => 'AL', 1845 1819 => 'AL', 1846 1820 => 'AL', 1847 1821 => 'AL', 1848 1822 => 'AL', 1849 1823 => 'AL', 1850 1824 => 'AL', 1851 1825 => 'AL', 1852 1826 => 'AL', 1853 1827 => 'AL', 1854 1828 => 'AL', 1855 1829 => 'AL', 1856 1830 => 'AL', 1857 1831 => 'AL', 1858 1832 => 'AL', 1859 1833 => 'AL', 1860 1834 => 'AL', 1861 1835 => 'AL', 1862 1836 => 'AL', 1863 1837 => 'AL', 1864 1838 => 'AL', 1865 1839 => 'AL', 1866 1840 => 'NSM', 1867 1841 => 'NSM', 1868 1842 => 'NSM', 1869 1843 => 'NSM', 1870 1844 => 'NSM', 1871 1845 => 'NSM', 1872 1846 => 'NSM', 1873 1847 => 'NSM', 1874 1848 => 'NSM', 1875 1849 => 'NSM', 1876 1850 => 'NSM', 1877 1851 => 'NSM', 1878 1852 => 'NSM', 1879 1853 => 'NSM', 1880 1854 => 'NSM', 1881 1855 => 'NSM', 1882 1856 => 'NSM', 1883 1857 => 'NSM', 1884 1858 => 'NSM', 1885 1859 => 'NSM', 1886 1860 => 'NSM', 1887 1861 => 'NSM', 1888 1862 => 'NSM', 1889 1863 => 'NSM', 1890 1864 => 'NSM', 1891 1865 => 'NSM', 1892 1866 => 'NSM', 1893 1869 => 'AL', 1894 1870 => 'AL', 1895 1871 => 'AL', 1896 1872 => 'AL', 1897 1873 => 'AL', 1898 1874 => 'AL', 1899 1875 => 'AL', 1900 1876 => 'AL', 1901 1877 => 'AL', 1902 1878 => 'AL', 1903 1879 => 'AL', 1904 1880 => 'AL', 1905 1881 => 'AL', 1906 1882 => 'AL', 1907 1883 => 'AL', 1908 1884 => 'AL', 1909 1885 => 'AL', 1910 1886 => 'AL', 1911 1887 => 'AL', 1912 1888 => 'AL', 1913 1889 => 'AL', 1914 1890 => 'AL', 1915 1891 => 'AL', 1916 1892 => 'AL', 1917 1893 => 'AL', 1918 1894 => 'AL', 1919 1895 => 'AL', 1920 1896 => 'AL', 1921 1897 => 'AL', 1922 1898 => 'AL', 1923 1899 => 'AL', 1924 1900 => 'AL', 1925 1901 => 'AL', 1926 1920 => 'AL', 1927 1921 => 'AL', 1928 1922 => 'AL', 1929 1923 => 'AL', 1930 1924 => 'AL', 1931 1925 => 'AL', 1932 1926 => 'AL', 1933 1927 => 'AL', 1934 1928 => 'AL', 1935 1929 => 'AL', 1936 1930 => 'AL', 1937 1931 => 'AL', 1938 1932 => 'AL', 1939 1933 => 'AL', 1940 1934 => 'AL', 1941 1935 => 'AL', 1942 1936 => 'AL', 1943 1937 => 'AL', 1944 1938 => 'AL', 1945 1939 => 'AL', 1946 1940 => 'AL', 1947 1941 => 'AL', 1948 1942 => 'AL', 1949 1943 => 'AL', 1950 1944 => 'AL', 1951 1945 => 'AL', 1952 1946 => 'AL', 1953 1947 => 'AL', 1954 1948 => 'AL', 1955 1949 => 'AL', 1956 1950 => 'AL', 1957 1951 => 'AL', 1958 1952 => 'AL', 1959 1953 => 'AL', 1960 1954 => 'AL', 1961 1955 => 'AL', 1962 1956 => 'AL', 1963 1957 => 'AL', 1964 1958 => 'NSM', 1965 1959 => 'NSM', 1966 1960 => 'NSM', 1967 1961 => 'NSM', 1968 1962 => 'NSM', 1969 1963 => 'NSM', 1970 1964 => 'NSM', 1971 1965 => 'NSM', 1972 1966 => 'NSM', 1973 1967 => 'NSM', 1974 1968 => 'NSM', 1975 1969 => 'AL', 1976 1984 => 'R', 1977 1985 => 'R', 1978 1986 => 'R', 1979 1987 => 'R', 1980 1988 => 'R', 1981 1989 => 'R', 1982 1990 => 'R', 1983 1991 => 'R', 1984 1992 => 'R', 1985 1993 => 'R', 1986 1994 => 'R', 1987 1995 => 'R', 1988 1996 => 'R', 1989 1997 => 'R', 1990 1998 => 'R', 1991 1999 => 'R', 1992 2000 => 'R', 1993 2001 => 'R', 1994 2002 => 'R', 1995 2003 => 'R', 1996 2004 => 'R', 1997 2005 => 'R', 1998 2006 => 'R', 1999 2007 => 'R', 2000 2008 => 'R', 2001 2009 => 'R', 2002 2010 => 'R', 2003 2011 => 'R', 2004 2012 => 'R', 2005 2013 => 'R', 2006 2014 => 'R', 2007 2015 => 'R', 2008 2016 => 'R', 2009 2017 => 'R', 2010 2018 => 'R', 2011 2019 => 'R', 2012 2020 => 'R', 2013 2021 => 'R', 2014 2022 => 'R', 2015 2023 => 'R', 2016 2024 => 'R', 2017 2025 => 'R', 2018 2026 => 'R', 2019 2036 => 'R', 2020 2037 => 'R', 2021 2042 => 'R', 2022 8207 => 'R', 2023 65136 => 'AL', 2024 65137 => 'AL', 2025 65138 => 'AL', 2026 65139 => 'AL', 2027 65140 => 'AL', 2028 65142 => 'AL', 2029 65143 => 'AL', 2030 65144 => 'AL', 2031 65145 => 'AL', 2032 65146 => 'AL', 2033 65147 => 'AL', 2034 65148 => 'AL', 2035 65149 => 'AL', 2036 65150 => 'AL', 2037 65151 => 'AL', 2038 65152 => 'AL', 2039 65153 => 'AL', 2040 65154 => 'AL', 2041 65155 => 'AL', 2042 65156 => 'AL', 2043 65157 => 'AL', 2044 65158 => 'AL', 2045 65159 => 'AL', 2046 65160 => 'AL', 2047 65161 => 'AL', 2048 65162 => 'AL', 2049 65163 => 'AL', 2050 65164 => 'AL', 2051 65165 => 'AL', 2052 65166 => 'AL', 2053 65167 => 'AL', 2054 65168 => 'AL', 2055 65169 => 'AL', 2056 65170 => 'AL', 2057 65171 => 'AL', 2058 65172 => 'AL', 2059 65173 => 'AL', 2060 65174 => 'AL', 2061 65175 => 'AL', 2062 65176 => 'AL', 2063 65177 => 'AL', 2064 65178 => 'AL', 2065 65179 => 'AL', 2066 65180 => 'AL', 2067 65181 => 'AL', 2068 65182 => 'AL', 2069 65183 => 'AL', 2070 65184 => 'AL', 2071 65185 => 'AL', 2072 65186 => 'AL', 2073 65187 => 'AL', 2074 65188 => 'AL', 2075 65189 => 'AL', 2076 65190 => 'AL', 2077 65191 => 'AL', 2078 65192 => 'AL', 2079 65193 => 'AL', 2080 65194 => 'AL', 2081 65195 => 'AL', 2082 65196 => 'AL', 2083 65197 => 'AL', 2084 65198 => 'AL', 2085 65199 => 'AL', 2086 65200 => 'AL', 2087 65201 => 'AL', 2088 65202 => 'AL', 2089 65203 => 'AL', 2090 65204 => 'AL', 2091 65205 => 'AL', 2092 65206 => 'AL', 2093 65207 => 'AL', 2094 65208 => 'AL', 2095 65209 => 'AL', 2096 65210 => 'AL', 2097 65211 => 'AL', 2098 65212 => 'AL', 2099 65213 => 'AL', 2100 65214 => 'AL', 2101 65215 => 'AL', 2102 65216 => 'AL', 2103 65217 => 'AL', 2104 65218 => 'AL', 2105 65219 => 'AL', 2106 65220 => 'AL', 2107 65221 => 'AL', 2108 65222 => 'AL', 2109 65223 => 'AL', 2110 65224 => 'AL', 2111 65225 => 'AL', 2112 65226 => 'AL', 2113 65227 => 'AL', 2114 65228 => 'AL', 2115 65229 => 'AL', 2116 65230 => 'AL', 2117 65231 => 'AL', 2118 65232 => 'AL', 2119 65233 => 'AL', 2120 65234 => 'AL', 2121 65235 => 'AL', 2122 65236 => 'AL', 2123 65237 => 'AL', 2124 65238 => 'AL', 2125 65239 => 'AL', 2126 65240 => 'AL', 2127 65241 => 'AL', 2128 65242 => 'AL', 2129 65243 => 'AL', 2130 65244 => 'AL', 2131 65245 => 'AL', 2132 65246 => 'AL', 2133 65247 => 'AL', 2134 65248 => 'AL', 2135 65249 => 'AL', 2136 65250 => 'AL', 2137 65251 => 'AL', 2138 65252 => 'AL', 2139 65253 => 'AL', 2140 65254 => 'AL', 2141 65255 => 'AL', 2142 65256 => 'AL', 2143 65257 => 'AL', 2144 65258 => 'AL', 2145 65259 => 'AL', 2146 65260 => 'AL', 2147 65261 => 'AL', 2148 65262 => 'AL', 2149 65263 => 'AL', 2150 65264 => 'AL', 2151 65265 => 'AL', 2152 65266 => 'AL', 2153 65267 => 'AL', 2154 65268 => 'AL', 2155 65269 => 'AL', 2156 65270 => 'AL', 2157 65271 => 'AL', 2158 65272 => 'AL', 2159 65273 => 'AL', 2160 65274 => 'AL', 2161 65275 => 'AL', 2162 65276 => 'AL', 2163 67584 => 'R', 2164 67585 => 'R', 2165 67586 => 'R', 2166 67587 => 'R', 2167 67588 => 'R', 2168 67589 => 'R', 2169 67592 => 'R', 2170 67594 => 'R', 2171 67595 => 'R', 2172 67596 => 'R', 2173 67597 => 'R', 2174 67598 => 'R', 2175 67599 => 'R', 2176 67600 => 'R', 2177 67601 => 'R', 2178 67602 => 'R', 2179 67603 => 'R', 2180 67604 => 'R', 2181 67605 => 'R', 2182 67606 => 'R', 2183 67607 => 'R', 2184 67608 => 'R', 2185 67609 => 'R', 2186 67610 => 'R', 2187 67611 => 'R', 2188 67612 => 'R', 2189 67613 => 'R', 2190 67614 => 'R', 2191 67615 => 'R', 2192 67616 => 'R', 2193 67617 => 'R', 2194 67618 => 'R', 2195 67619 => 'R', 2196 67620 => 'R', 2197 67621 => 'R', 2198 67622 => 'R', 2199 67623 => 'R', 2200 67624 => 'R', 2201 67625 => 'R', 2202 67626 => 'R', 2203 67627 => 'R', 2204 67628 => 'R', 2205 67629 => 'R', 2206 67630 => 'R', 2207 67631 => 'R', 2208 67632 => 'R', 2209 67633 => 'R', 2210 67634 => 'R', 2211 67635 => 'R', 2212 67636 => 'R', 2213 67637 => 'R', 2214 67639 => 'R', 2215 67640 => 'R', 2216 67644 => 'R', 2217 67647 => 'R', 2218 67840 => 'R', 2219 67841 => 'R', 2220 67842 => 'R', 2221 67843 => 'R', 2222 67844 => 'R', 2223 67845 => 'R', 2224 67846 => 'R', 2225 67847 => 'R', 2226 67848 => 'R', 2227 67849 => 'R', 2228 67850 => 'R', 2229 67851 => 'R', 2230 67852 => 'R', 2231 67853 => 'R', 2232 67854 => 'R', 2233 67855 => 'R', 2234 67856 => 'R', 2235 67857 => 'R', 2236 67858 => 'R', 2237 67859 => 'R', 2238 67860 => 'R', 2239 67861 => 'R', 2240 67862 => 'R', 2241 67863 => 'R', 2242 67864 => 'R', 2243 67865 => 'R', 2244 68096 => 'R', 2245 68112 => 'R', 2246 68113 => 'R', 2247 68114 => 'R', 2248 68115 => 'R', 2249 68117 => 'R', 2250 68118 => 'R', 2251 68119 => 'R', 2252 68121 => 'R', 2253 68122 => 'R', 2254 68123 => 'R', 2255 68124 => 'R', 2256 68125 => 'R', 2257 68126 => 'R', 2258 68127 => 'R', 2259 68128 => 'R', 2260 68129 => 'R', 2261 68130 => 'R', 2262 68131 => 'R', 2263 68132 => 'R', 2264 68133 => 'R', 2265 68134 => 'R', 2266 68135 => 'R', 2267 68136 => 'R', 2268 68137 => 'R', 2269 68138 => 'R', 2270 68139 => 'R', 2271 68140 => 'R', 2272 68141 => 'R', 2273 68142 => 'R', 2274 68143 => 'R', 2275 68144 => 'R', 2276 68145 => 'R', 2277 68146 => 'R', 2278 68147 => 'R', 2279 68160 => 'R', 2280 68161 => 'R', 2281 68162 => 'R', 2282 68163 => 'R', 2283 68164 => 'R', 2284 68165 => 'R', 2285 68166 => 'R', 2286 68167 => 'R', 2287 68176 => 'R', 2288 68177 => 'R', 2289 68178 => 'R', 2290 68179 => 'R', 2291 68180 => 'R', 2292 68181 => 'R', 2293 68182 => 'R', 2294 68183 => 'R', 2295 68184 => 'R' 2296); 2297 2298 2299/** 2300 * Mirror unicode characters. 2301 * For information on bidi mirroring, see UAX #9: Bidirectional Algorithm, 2302 * at http://www.unicode.org/unicode/reports/tr9/ 2303 */ 2304$unicode_mirror = array( 23050x0028 => 0x0029, 23060x0029 => 0x0028, 23070x003C => 0x003E, 23080x003E => 0x003C, 23090x005B => 0x005D, 23100x005D => 0x005B, 23110x007B => 0x007D, 23120x007D => 0x007B, 23130x00AB => 0x00BB, 23140x00BB => 0x00AB, 23150x0F3A => 0x0F3B, 23160x0F3B => 0x0F3A, 23170x0F3C => 0x0F3D, 23180x0F3D => 0x0F3C, 23190x169B => 0x169C, 23200x169C => 0x169B, 23210x2018 => 0x2019, 23220x2019 => 0x2018, 23230x201C => 0x201D, 23240x201D => 0x201C, 23250x2039 => 0x203A, 23260x203A => 0x2039, 23270x2045 => 0x2046, 23280x2046 => 0x2045, 23290x207D => 0x207E, 23300x207E => 0x207D, 23310x208D => 0x208E, 23320x208E => 0x208D, 23330x2208 => 0x220B, 23340x2209 => 0x220C, 23350x220A => 0x220D, 23360x220B => 0x2208, 23370x220C => 0x2209, 23380x220D => 0x220A, 23390x2215 => 0x29F5, 23400x223C => 0x223D, 23410x223D => 0x223C, 23420x2243 => 0x22CD, 23430x2252 => 0x2253, 23440x2253 => 0x2252, 23450x2254 => 0x2255, 23460x2255 => 0x2254, 23470x2264 => 0x2265, 23480x2265 => 0x2264, 23490x2266 => 0x2267, 23500x2267 => 0x2266, 23510x2268 => 0x2269, 23520x2269 => 0x2268, 23530x226A => 0x226B, 23540x226B => 0x226A, 23550x226E => 0x226F, 23560x226F => 0x226E, 23570x2270 => 0x2271, 23580x2271 => 0x2270, 23590x2272 => 0x2273, 23600x2273 => 0x2272, 23610x2274 => 0x2275, 23620x2275 => 0x2274, 23630x2276 => 0x2277, 23640x2277 => 0x2276, 23650x2278 => 0x2279, 23660x2279 => 0x2278, 23670x227A => 0x227B, 23680x227B => 0x227A, 23690x227C => 0x227D, 23700x227D => 0x227C, 23710x227E => 0x227F, 23720x227F => 0x227E, 23730x2280 => 0x2281, 23740x2281 => 0x2280, 23750x2282 => 0x2283, 23760x2283 => 0x2282, 23770x2284 => 0x2285, 23780x2285 => 0x2284, 23790x2286 => 0x2287, 23800x2287 => 0x2286, 23810x2288 => 0x2289, 23820x2289 => 0x2288, 23830x228A => 0x228B, 23840x228B => 0x228A, 23850x228F => 0x2290, 23860x2290 => 0x228F, 23870x2291 => 0x2292, 23880x2292 => 0x2291, 23890x2298 => 0x29B8, 23900x22A2 => 0x22A3, 23910x22A3 => 0x22A2, 23920x22A6 => 0x2ADE, 23930x22A8 => 0x2AE4, 23940x22A9 => 0x2AE3, 23950x22AB => 0x2AE5, 23960x22B0 => 0x22B1, 23970x22B1 => 0x22B0, 23980x22B2 => 0x22B3, 23990x22B3 => 0x22B2, 24000x22B4 => 0x22B5, 24010x22B5 => 0x22B4, 24020x22B6 => 0x22B7, 24030x22B7 => 0x22B6, 24040x22C9 => 0x22CA, 24050x22CA => 0x22C9, 24060x22CB => 0x22CC, 24070x22CC => 0x22CB, 24080x22CD => 0x2243, 24090x22D0 => 0x22D1, 24100x22D1 => 0x22D0, 24110x22D6 => 0x22D7, 24120x22D7 => 0x22D6, 24130x22D8 => 0x22D9, 24140x22D9 => 0x22D8, 24150x22DA => 0x22DB, 24160x22DB => 0x22DA, 24170x22DC => 0x22DD, 24180x22DD => 0x22DC, 24190x22DE => 0x22DF, 24200x22DF => 0x22DE, 24210x22E0 => 0x22E1, 24220x22E1 => 0x22E0, 24230x22E2 => 0x22E3, 24240x22E3 => 0x22E2, 24250x22E4 => 0x22E5, 24260x22E5 => 0x22E4, 24270x22E6 => 0x22E7, 24280x22E7 => 0x22E6, 24290x22E8 => 0x22E9, 24300x22E9 => 0x22E8, 24310x22EA => 0x22EB, 24320x22EB => 0x22EA, 24330x22EC => 0x22ED, 24340x22ED => 0x22EC, 24350x22F0 => 0x22F1, 24360x22F1 => 0x22F0, 24370x22F2 => 0x22FA, 24380x22F3 => 0x22FB, 24390x22F4 => 0x22FC, 24400x22F6 => 0x22FD, 24410x22F7 => 0x22FE, 24420x22FA => 0x22F2, 24430x22FB => 0x22F3, 24440x22FC => 0x22F4, 24450x22FD => 0x22F6, 24460x22FE => 0x22F7, 24470x2308 => 0x2309, 24480x2309 => 0x2308, 24490x230A => 0x230B, 24500x230B => 0x230A, 24510x2329 => 0x232A, 24520x232A => 0x2329, 24530x2768 => 0x2769, 24540x2769 => 0x2768, 24550x276A => 0x276B, 24560x276B => 0x276A, 24570x276C => 0x276D, 24580x276D => 0x276C, 24590x276E => 0x276F, 24600x276F => 0x276E, 24610x2770 => 0x2771, 24620x2771 => 0x2770, 24630x2772 => 0x2773, 24640x2773 => 0x2772, 24650x2774 => 0x2775, 24660x2775 => 0x2774, 24670x27C3 => 0x27C4, 24680x27C4 => 0x27C3, 24690x27C5 => 0x27C6, 24700x27C6 => 0x27C5, 24710x27D5 => 0x27D6, 24720x27D6 => 0x27D5, 24730x27DD => 0x27DE, 24740x27DE => 0x27DD, 24750x27E2 => 0x27E3, 24760x27E3 => 0x27E2, 24770x27E4 => 0x27E5, 24780x27E5 => 0x27E4, 24790x27E6 => 0x27E7, 24800x27E7 => 0x27E6, 24810x27E8 => 0x27E9, 24820x27E9 => 0x27E8, 24830x27EA => 0x27EB, 24840x27EB => 0x27EA, 24850x2983 => 0x2984, 24860x2984 => 0x2983, 24870x2985 => 0x2986, 24880x2986 => 0x2985, 24890x2987 => 0x2988, 24900x2988 => 0x2987, 24910x2989 => 0x298A, 24920x298A => 0x2989, 24930x298B => 0x298C, 24940x298C => 0x298B, 24950x298D => 0x2990, 24960x298E => 0x298F, 24970x298F => 0x298E, 24980x2990 => 0x298D, 24990x2991 => 0x2992, 25000x2992 => 0x2991, 25010x2993 => 0x2994, 25020x2994 => 0x2993, 25030x2995 => 0x2996, 25040x2996 => 0x2995, 25050x2997 => 0x2998, 25060x2998 => 0x2997, 25070x29B8 => 0x2298, 25080x29C0 => 0x29C1, 25090x29C1 => 0x29C0, 25100x29C4 => 0x29C5, 25110x29C5 => 0x29C4, 25120x29CF => 0x29D0, 25130x29D0 => 0x29CF, 25140x29D1 => 0x29D2, 25150x29D2 => 0x29D1, 25160x29D4 => 0x29D5, 25170x29D5 => 0x29D4, 25180x29D8 => 0x29D9, 25190x29D9 => 0x29D8, 25200x29DA => 0x29DB, 25210x29DB => 0x29DA, 25220x29F5 => 0x2215, 25230x29F8 => 0x29F9, 25240x29F9 => 0x29F8, 25250x29FC => 0x29FD, 25260x29FD => 0x29FC, 25270x2A2B => 0x2A2C, 25280x2A2C => 0x2A2B, 25290x2A2D => 0x2A2E, 25300x2A2E => 0x2A2D, 25310x2A34 => 0x2A35, 25320x2A35 => 0x2A34, 25330x2A3C => 0x2A3D, 25340x2A3D => 0x2A3C, 25350x2A64 => 0x2A65, 25360x2A65 => 0x2A64, 25370x2A79 => 0x2A7A, 25380x2A7A => 0x2A79, 25390x2A7D => 0x2A7E, 25400x2A7E => 0x2A7D, 25410x2A7F => 0x2A80, 25420x2A80 => 0x2A7F, 25430x2A81 => 0x2A82, 25440x2A82 => 0x2A81, 25450x2A83 => 0x2A84, 25460x2A84 => 0x2A83, 25470x2A8B => 0x2A8C, 25480x2A8C => 0x2A8B, 25490x2A91 => 0x2A92, 25500x2A92 => 0x2A91, 25510x2A93 => 0x2A94, 25520x2A94 => 0x2A93, 25530x2A95 => 0x2A96, 25540x2A96 => 0x2A95, 25550x2A97 => 0x2A98, 25560x2A98 => 0x2A97, 25570x2A99 => 0x2A9A, 25580x2A9A => 0x2A99, 25590x2A9B => 0x2A9C, 25600x2A9C => 0x2A9B, 25610x2AA1 => 0x2AA2, 25620x2AA2 => 0x2AA1, 25630x2AA6 => 0x2AA7, 25640x2AA7 => 0x2AA6, 25650x2AA8 => 0x2AA9, 25660x2AA9 => 0x2AA8, 25670x2AAA => 0x2AAB, 25680x2AAB => 0x2AAA, 25690x2AAC => 0x2AAD, 25700x2AAD => 0x2AAC, 25710x2AAF => 0x2AB0, 25720x2AB0 => 0x2AAF, 25730x2AB3 => 0x2AB4, 25740x2AB4 => 0x2AB3, 25750x2ABB => 0x2ABC, 25760x2ABC => 0x2ABB, 25770x2ABD => 0x2ABE, 25780x2ABE => 0x2ABD, 25790x2ABF => 0x2AC0, 25800x2AC0 => 0x2ABF, 25810x2AC1 => 0x2AC2, 25820x2AC2 => 0x2AC1, 25830x2AC3 => 0x2AC4, 25840x2AC4 => 0x2AC3, 25850x2AC5 => 0x2AC6, 25860x2AC6 => 0x2AC5, 25870x2ACD => 0x2ACE, 25880x2ACE => 0x2ACD, 25890x2ACF => 0x2AD0, 25900x2AD0 => 0x2ACF, 25910x2AD1 => 0x2AD2, 25920x2AD2 => 0x2AD1, 25930x2AD3 => 0x2AD4, 25940x2AD4 => 0x2AD3, 25950x2AD5 => 0x2AD6, 25960x2AD6 => 0x2AD5, 25970x2ADE => 0x22A6, 25980x2AE3 => 0x22A9, 25990x2AE4 => 0x22A8, 26000x2AE5 => 0x22AB, 26010x2AEC => 0x2AED, 26020x2AED => 0x2AEC, 26030x2AF7 => 0x2AF8, 26040x2AF8 => 0x2AF7, 26050x2AF9 => 0x2AFA, 26060x2AFA => 0x2AF9, 26070x2E02 => 0x2E03, 26080x2E03 => 0x2E02, 26090x2E04 => 0x2E05, 26100x2E05 => 0x2E04, 26110x2E09 => 0x2E0A, 26120x2E0A => 0x2E09, 26130x2E0C => 0x2E0D, 26140x2E0D => 0x2E0C, 26150x2E1C => 0x2E1D, 26160x2E1D => 0x2E1C, 26170x3008 => 0x3009, 26180x3009 => 0x3008, 26190x300A => 0x300B, 26200x300B => 0x300A, 26210x300C => 0x300D, 26220x300D => 0x300C, 26230x300E => 0x300F, 26240x300F => 0x300E, 26250x3010 => 0x3011, 26260x3011 => 0x3010, 26270x3014 => 0x3015, 26280x3015 => 0x3014, 26290x3016 => 0x3017, 26300x3017 => 0x3016, 26310x3018 => 0x3019, 26320x3019 => 0x3018, 26330x301A => 0x301B, 26340x301B => 0x301A, 26350x301D => 0x301E, 26360x301E => 0x301D, 26370xFE59 => 0xFE5A, 26380xFE5A => 0xFE59, 26390xFE5B => 0xFE5C, 26400xFE5C => 0xFE5B, 26410xFE5D => 0xFE5E, 26420xFE5E => 0xFE5D, 26430xFE64 => 0xFE65, 26440xFE65 => 0xFE64, 26450xFF08 => 0xFF09, 26460xFF09 => 0xFF08, 26470xFF1C => 0xFF1E, 26480xFF1E => 0xFF1C, 26490xFF3B => 0xFF3D, 26500xFF3D => 0xFF3B, 26510xFF5B => 0xFF5D, 26520xFF5D => 0xFF5B, 26530xFF5F => 0xFF60, 26540xFF60 => 0xFF5F, 26550xFF62 => 0xFF63, 26560xFF63 => 0xFF62); 2657 2658/** 2659 * Arabic shape subtitutions 2660 * char code => isolated, final, initial, medial 2661 */ 2662$unicode_arlet = array( 2663 1569 => array(65152), 2664 1570 => array(65153, 65154, 65153, 65154), 2665 1571 => array(65155, 65156, 65155, 65156), 2666 1572 => array(65157, 65158), 2667 1573 => array(65159, 65160, 65159, 65160), 2668 1574 => array(65161, 65162, 65163, 65164), 2669 1575 => array(65165, 65166, 65165, 65166), 2670 1576 => array(65167, 65168, 65169, 65170), 2671 1577 => array(65171, 65172), 2672 1578 => array(65173, 65174, 65175, 65176), 2673 1579 => array(65177, 65178, 65179, 65180), 2674 1580 => array(65181, 65182, 65183, 65184), 2675 1581 => array(65185, 65186, 65187, 65188), 2676 1582 => array(65189, 65190, 65191, 65192), 2677 1583 => array(65193, 65194, 65193, 65194), 2678 1584 => array(65195, 65196, 65195, 65196), 2679 1585 => array(65197, 65198, 65197, 65198), 2680 1586 => array(65199, 65200, 65199, 65200), 2681 1587 => array(65201, 65202, 65203, 65204), 2682 1588 => array(65205, 65206, 65207, 65208), 2683 1589 => array(65209, 65210, 65211, 65212), 2684 1590 => array(65213, 65214, 65215, 65216), 2685 1591 => array(65217, 65218, 65219, 65220), 2686 1592 => array(65221, 65222, 65223, 65224), 2687 1593 => array(65225, 65226, 65227, 65228), 2688 1594 => array(65229, 65230, 65231, 65232), 2689 1601 => array(65233, 65234, 65235, 65236), 2690 1602 => array(65237, 65238, 65239, 65240), 2691 1603 => array(65241, 65242, 65243, 65244), 2692 1604 => array(65245, 65246, 65247, 65248), 2693 1605 => array(65249, 65250, 65251, 65252), 2694 1606 => array(65253, 65254, 65255, 65256), 2695 1607 => array(65257, 65258, 65259, 65260), 2696 1608 => array(65261, 65262, 65261, 65262), 2697 1609 => array(65263, 65264, 64488, 64489), 2698 1610 => array(65265, 65266, 65267, 65268), 2699 1649 => array(64336, 64337), 2700 1655 => array(64477), 2701 1657 => array(64358, 64359, 64360, 64361), 2702 1658 => array(64350, 64351, 64352, 64353), 2703 1659 => array(64338, 64339, 64340, 64341), 2704 1662 => array(64342, 64343, 64344, 64345), 2705 1663 => array(64354, 64355, 64356, 64357), 2706 1664 => array(64346, 64347, 64348, 64349), 2707 1667 => array(64374, 64375, 64376, 64377), 2708 1668 => array(64370, 64371, 64372, 64373), 2709 1670 => array(64378, 64379, 64380, 64381), 2710 1671 => array(64382, 64383, 64384, 64385), 2711 1672 => array(64392, 64393), 2712 1676 => array(64388, 64389), 2713 1677 => array(64386, 64387), 2714 1678 => array(64390, 64391), 2715 1681 => array(64396, 64397), 2716 1688 => array(64394, 64395, 64394, 64395), 2717 1700 => array(64362, 64363, 64364, 64365), 2718 1702 => array(64366, 64367, 64368, 64369), 2719 1705 => array(64398, 64399, 64400, 64401), 2720 1709 => array(64467, 64468, 64469, 64470), 2721 1711 => array(64402, 64403, 64404, 64405), 2722 1713 => array(64410, 64411, 64412, 64413), 2723 1715 => array(64406, 64407, 64408, 64409), 2724 1722 => array(64414, 64415), 2725 1723 => array(64416, 64417, 64418, 64419), 2726 1726 => array(64426, 64427, 64428, 64429), 2727 1728 => array(64420, 64421), 2728 1729 => array(64422, 64423, 64424, 64425), 2729 1733 => array(64480, 64481), 2730 1734 => array(64473, 64474), 2731 1735 => array(64471, 64472), 2732 1736 => array(64475, 64476), 2733 1737 => array(64482, 64483), 2734 1739 => array(64478, 64479), 2735 1740 => array(64508, 64509, 64510, 64511), 2736 1744 => array(64484, 64485, 64486, 64487), 2737 1746 => array(64430, 64431), 2738 1747 => array(64432, 64433) 2739); 2740 2741/** 2742 * Arabic laa letter 2743 * char code => isolated, final, initial, medial 2744 */ 2745$laa_array = array ( 2746 1570 => array(65269, 65270, 65269, 65270), 2747 1571 => array(65271, 65272, 65271, 65272), 2748 1573 => array(65273, 65274, 65273, 65274), 2749 1575 => array(65275, 65276, 65275, 65276) 2750); 2751 2752/** 2753 * Array of character substitutions for sequences of two diacritics symbols starting with SHADDA (0651 HEX, 1617 DEC). 2754 * Combining characters that can occur with Shadda (U0651) are placed in UE586-UE594. 2755 * Putting the combining mark and shadda in the same glyph allows us to avoid the two marks overlapping each other in an illegible manner. 2756 * second NSM char code => substitution char 2757 */ 2758$diacritics = array ( 2759 1612 => 64606, // Shadda + Dammatan 2760 1613 => 64607, // Shadda + Kasratan 2761 1614 => 64608, // Shadda + Fatha 2762 1615 => 64609, // Shadda + Damma 2763 1616 => 64610 // Shadda + Kasra 2764); 2765 2766//============================================================+ 2767// END OF FILE 2768//============================================================+ 2769?>