New upstream version 2.5.9+ds1
Norbert Preining
5 years ago
0 | # Makefile.in generated by automake 1.15 from Makefile.am. | |
0 | # Makefile.in generated by automake 1.15.1 from Makefile.am. | |
1 | 1 | # @configure_input@ |
2 | 2 | |
3 | # Copyright (C) 1994-2014 Free Software Foundation, Inc. | |
3 | # Copyright (C) 1994-2017 Free Software Foundation, Inc. | |
4 | 4 | |
5 | 5 | # This Makefile.in is free software; the Free Software Foundation |
6 | 6 | # gives unlimited permission to copy and/or distribute it, |
635 | 635 | ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ |
636 | 636 | || chmod -R a+r "$(distdir)" |
637 | 637 | dist-gzip: distdir |
638 | tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz | |
638 | tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz | |
639 | 639 | $(am__post_remove_distdir) |
640 | 640 | |
641 | 641 | dist-bzip2: distdir |
661 | 661 | @echo WARNING: "Support for shar distribution archives is" \ |
662 | 662 | "deprecated." >&2 |
663 | 663 | @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 |
664 | shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz | |
664 | shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz | |
665 | 665 | $(am__post_remove_distdir) |
666 | 666 | |
667 | 667 | dist-zip: distdir |
679 | 679 | distcheck: dist |
680 | 680 | case '$(DIST_ARCHIVES)' in \ |
681 | 681 | *.tar.gz*) \ |
682 | GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ | |
682 | eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ | |
683 | 683 | *.tar.bz2*) \ |
684 | 684 | bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ |
685 | 685 | *.tar.lz*) \ |
689 | 689 | *.tar.Z*) \ |
690 | 690 | uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ |
691 | 691 | *.shar.gz*) \ |
692 | GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ | |
692 | eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ | |
693 | 693 | *.zip*) \ |
694 | 694 | unzip $(distdir).zip ;;\ |
695 | 695 | esac |
0 | 2019-03-18 | |
1 | Version 2.5.9 | |
2 | Updated Unicode character names and normalization data to 12.0.0 | |
3 | Various improvements for testing, compiling, and documentation. | |
4 | ||
0 | 5 | 2018-06-18 |
1 | 6 | Version 2.5.8 |
2 | 7 | Updated Unicode character names and normalization data to 11.0.0 |
6 | 6 | See the Documentation folder for information on the TECkit mapping language |
7 | 7 | and conversion tool usage notes. |
8 | 8 | |
9 | The TECkit libraries have been updated to support the Unicode 11.0.0 character | |
9 | The TECkit libraries have been updated to support the Unicode 12.0.0 character | |
10 | 10 | repertoire. |
11 | 11 | |
12 | 12 | Starting with TECkit version 2.5.7 there are several changes with the Windows |
312 | 312 | long fileSize = ftell(mapFile); |
313 | 313 | fseek(mapFile, 0, SEEK_SET); |
314 | 314 | |
315 | unsigned char* buf = (unsigned char*)malloc(fileSize); | |
315 | unsigned char* buf = static_cast<unsigned char*>(malloc(fileSize)); | |
316 | 316 | if (buf == 0) { |
317 | 317 | fprintf(stderr, "unable to read mapping file for %s (file %s)\n", mappingName.c_str(), mapFileName.c_str()); |
318 | 318 | exit(1); |
356 | 356 | size_t len = fread(buf, 1, sizeof(buf), ctlFile); |
357 | 357 | done = len < sizeof(buf); |
358 | 358 | if (!XML_Parse(parser, buf, len, done)) { |
359 | fprintf(stderr, "XML parse error: %s at line %lu\n", XML_ErrorString(XML_GetErrorCode(parser)), (unsigned long)XML_GetCurrentLineNumber(parser)); | |
359 | fprintf(stderr, "XML parse error: %s at line %lu\n", XML_ErrorString(XML_GetErrorCode(parser)), static_cast<unsigned long>(XML_GetCurrentLineNumber(parser))); | |
360 | 360 | status = 1; |
361 | 361 | } |
362 | 362 | } while (!status && !done); |
453 | 453 | while (1) { |
454 | 454 | UInt32 sourceUsed, destUsed, destUsed2; |
455 | 455 | status = TECkit_ConvertBuffer(converter, |
456 | (Byte*)marker.data(), | |
456 | reinterpret_cast<const Byte*>(marker.data()), | |
457 | 457 | marker.size() * 2, |
458 | 458 | &sourceUsed, |
459 | (Byte*)cnvMarker.data(), | |
459 | const_cast<Byte*>(reinterpret_cast<const Byte*>(cnvMarker.data())), | |
460 | 460 | cnvMarker.size(), |
461 | 461 | &destUsed, |
462 | 462 | true); |
465 | 465 | continue; |
466 | 466 | } |
467 | 467 | status = TECkit_Flush(converter, |
468 | (Byte*)cnvMarker.data() + destUsed, | |
468 | const_cast<Byte*>(reinterpret_cast<const Byte*>(cnvMarker.data()) + destUsed), | |
469 | 469 | cnvMarker.size() - destUsed, |
470 | 470 | &destUsed2); |
471 | 471 | if (status == kStatus_OutputBufferFull) { |
490 | 490 | UInt32 sourceUsed, destUsed, destUsed2; |
491 | 491 | |
492 | 492 | status = TECkit_ConvertBuffer(converter, |
493 | (Byte*)&inChar, | |
493 | reinterpret_cast<const Byte*>(&inChar), | |
494 | 494 | 2, |
495 | 495 | &sourceUsed, |
496 | 496 | &buf[0], |
587 | 587 | map<string,string>::const_iterator i; |
588 | 588 | switch (dataType) { |
589 | 589 | case BODY_TEXT: |
590 | write_converted((Byte*)reader.text.data(), reader.text.length(), converterStack.back(), outFile); | |
590 | write_converted(reinterpret_cast<const Byte*>(reader.text.data()), reader.text.length(), converterStack.back(), outFile); | |
591 | 591 | break; |
592 | 592 | |
593 | 593 | case SFM: |
597 | 597 | else |
598 | 598 | converterStack.assign(1, converters[i->second]); |
599 | 599 | reader.text.insert(reader.text.begin(), reader.escapeChar); |
600 | write_converted((Byte*)reader.text.data(), reader.text.length(), sfmConverter, outFile); | |
600 | write_converted(reinterpret_cast<const Byte*>(reader.text.data()), reader.text.length(), sfmConverter, outFile); | |
601 | 601 | break; |
602 | 602 | |
603 | 603 | case INLINE_MARKER: |
607 | 607 | else |
608 | 608 | converterStack.assign(1, converters[i->second]); |
609 | 609 | reader.text.insert(reader.text.begin(), reader.escapeChar); |
610 | write_converted((Byte*)reader.text.data(), reader.text.length(), inlineConverter, outFile); | |
610 | write_converted(reinterpret_cast<const Byte*>(reader.text.data()), reader.text.length(), inlineConverter, outFile); | |
611 | 611 | break; |
612 | 612 | |
613 | 613 | case INLINE_START: |
618 | 618 | converterStack.push_back(converters[i->second]); |
619 | 619 | reader.text.insert(reader.text.begin(), reader.inlineEscapeChar); |
620 | 620 | reader.text.insert(reader.text.end(), reader.startInline); |
621 | write_converted((Byte*)reader.text.data(), reader.text.length(), inlineConverter, outFile); | |
621 | write_converted(reinterpret_cast<const Byte*>(reader.text.data()), reader.text.length(), inlineConverter, outFile); | |
622 | 622 | break; |
623 | 623 | |
624 | 624 | case INLINE_END: |
625 | 625 | reader.text.insert(reader.text.end(), reader.endInline); |
626 | write_converted((Byte*)reader.text.data(), reader.text.length(), inlineConverter, outFile); | |
626 | write_converted(reinterpret_cast<const Byte*>(reader.text.data()), reader.text.length(), inlineConverter, outFile); | |
627 | 627 | converterStack.pop_back(); |
628 | 628 | break; |
629 | 629 | } |
680 | 680 | static string cnvMarker; |
681 | 681 | switch (dataType) { |
682 | 682 | case BODY_TEXT: |
683 | write_converted((Byte*)reader.text.data(), reader.text.length() * 2, converterStack.back(), outFile); | |
683 | write_converted(reinterpret_cast<const Byte*>(reader.text.data()), reader.text.length() * 2, converterStack.back(), outFile); | |
684 | 684 | break; |
685 | 685 | |
686 | 686 | case SFM: |
691 | 691 | else |
692 | 692 | converterStack.assign(1, converters[i->second]); |
693 | 693 | reader.text.insert(reader.text.begin(), reader.escapeChar); |
694 | write_converted((Byte*)reader.text.data(), reader.text.length() * 2, sfmConverter, outFile); | |
694 | write_converted(reinterpret_cast<const Byte*>(reader.text.data()), reader.text.length() * 2, sfmConverter, outFile); | |
695 | 695 | break; |
696 | 696 | |
697 | 697 | case INLINE_MARKER: |
702 | 702 | else |
703 | 703 | converterStack.assign(1, converters[i->second]); |
704 | 704 | reader.text.insert(reader.text.begin(), reader.inlineEscapeChar); |
705 | write_converted((Byte*)reader.text.data(), reader.text.length() * 2, inlineConverter, outFile); | |
705 | write_converted(reinterpret_cast<const Byte*>(reader.text.data()), reader.text.length() * 2, inlineConverter, outFile); | |
706 | 706 | break; |
707 | 707 | |
708 | 708 | case INLINE_START: |
714 | 714 | converterStack.push_back(converters[i->second]); |
715 | 715 | reader.text.insert(reader.text.begin(), reader.inlineEscapeChar); |
716 | 716 | reader.text.insert(reader.text.end(), reader.startInline); |
717 | write_converted((Byte*)reader.text.data(), reader.text.length() * 2, inlineConverter, outFile); | |
717 | write_converted(reinterpret_cast<const Byte*>(reader.text.data()), reader.text.length() * 2, inlineConverter, outFile); | |
718 | 718 | break; |
719 | 719 | |
720 | 720 | case INLINE_END: |
721 | 721 | reader.text.insert(reader.text.end(), reader.endInline); |
722 | write_converted((Byte*)reader.text.data(), reader.text.length() * 2, inlineConverter, outFile); | |
722 | write_converted(reinterpret_cast<const Byte*>(reader.text.data()), reader.text.length() * 2, inlineConverter, outFile); | |
723 | 723 | converterStack.pop_back(); |
724 | 724 | break; |
725 | 725 | } |
8 | 8 | #define INLINE_START 2 |
9 | 9 | #define INLINE_END 3 |
10 | 10 | #define INLINE_MARKER 4 |
11 | #define UNI_REPLACEMENT_CHAR (uint32_t)0x0000FFFD | |
12 | #define UNI_MAX_BMP (uint32_t)0x0000FFFF | |
13 | #define UNI_MAX_UTF16 (uint32_t)0x0010FFFF | |
11 | #define UNI_REPLACEMENT_CHAR uint32_t(0x0000FFFD) | |
12 | #define UNI_MAX_BMP uint32_t(0x0000FFFF) | |
13 | #define UNI_MAX_UTF16 uint32_t(0x0010FFFF) | |
14 | 14 | |
15 | 15 | template<class C> |
16 | 16 | class sfReader |
0 | #ifndef __ushort_chartraits_h__ | |
1 | #define __ushort_chartraits_h__ | |
0 | #pragma once | |
2 | 1 | |
3 | 2 | #include <iostream> |
4 | 3 | #include <string> |
51 | 50 | { |
52 | 51 | const char_type* __p = __s; |
53 | 52 | while (*__p) ++__p; |
54 | return (__p - __s); | |
53 | return static_cast<size_t>(__p - __s); | |
55 | 54 | } |
56 | 55 | |
57 | 56 | static const char_type* |
64 | 63 | |
65 | 64 | static char_type* |
66 | 65 | move(char_type* __s1, const char_type* __s2, size_t __n) |
67 | { return (char_type*) memmove(__s1, __s2, __n * sizeof(char_type)); } | |
66 | { return static_cast<char_type*>(memmove(__s1, __s2, __n * sizeof(char_type))); } | |
68 | 67 | |
69 | 68 | static char_type* |
70 | 69 | copy(char_type* __s1, const char_type* __s2, size_t __n) |
71 | { return (char_type*) memcpy(__s1, __s2, __n * sizeof(char_type)); } | |
70 | { return static_cast<char_type*>(memcpy(__s1, __s2, __n * sizeof(char_type))); } | |
72 | 71 | |
73 | 72 | static char_type* |
74 | 73 | assign(char_type* __s, size_t __n, char_type __a) |
90 | 89 | { return __c1 == __c2; } |
91 | 90 | |
92 | 91 | static int_type |
93 | eof() { return static_cast<int_type>(-1); } | |
92 | eof() { return int_type(-1); } | |
94 | 93 | |
95 | 94 | static int_type |
96 | 95 | not_eof(const int_type& __c) |
97 | 96 | { return eq_int_type(__c, eof()) ? int_type(0) : __c; } |
98 | 97 | }; |
99 | 98 | } |
100 | ||
101 | #endif |
0 | # generated automatically by aclocal 1.15 -*- Autoconf -*- | |
1 | ||
2 | # Copyright (C) 1996-2014 Free Software Foundation, Inc. | |
0 | # generated automatically by aclocal 1.15.1 -*- Autoconf -*- | |
1 | ||
2 | # Copyright (C) 1996-2017 Free Software Foundation, Inc. | |
3 | 3 | |
4 | 4 | # This file is free software; the Free Software Foundation |
5 | 5 | # gives unlimited permission to copy and/or distribute it, |
19 | 19 | If you have problems, you may need to regenerate the build system entirely. |
20 | 20 | To do so, use the procedure documented by the package, typically 'autoreconf'.])]) |
21 | 21 | |
22 | # Copyright (C) 2002-2014 Free Software Foundation, Inc. | |
22 | # Copyright (C) 2002-2017 Free Software Foundation, Inc. | |
23 | 23 | # |
24 | 24 | # This file is free software; the Free Software Foundation |
25 | 25 | # gives unlimited permission to copy and/or distribute it, |
34 | 34 | [am__api_version='1.15' |
35 | 35 | dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to |
36 | 36 | dnl require some minimum version. Point them to the right macro. |
37 | m4_if([$1], [1.15], [], | |
37 | m4_if([$1], [1.15.1], [], | |
38 | 38 | [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl |
39 | 39 | ]) |
40 | 40 | |
50 | 50 | # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. |
51 | 51 | # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. |
52 | 52 | AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], |
53 | [AM_AUTOMAKE_VERSION([1.15])dnl | |
53 | [AM_AUTOMAKE_VERSION([1.15.1])dnl | |
54 | 54 | m4_ifndef([AC_AUTOCONF_VERSION], |
55 | 55 | [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl |
56 | 56 | _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) |
57 | 57 | |
58 | 58 | # AM_AUX_DIR_EXPAND -*- Autoconf -*- |
59 | 59 | |
60 | # Copyright (C) 2001-2014 Free Software Foundation, Inc. | |
60 | # Copyright (C) 2001-2017 Free Software Foundation, Inc. | |
61 | 61 | # |
62 | 62 | # This file is free software; the Free Software Foundation |
63 | 63 | # gives unlimited permission to copy and/or distribute it, |
109 | 109 | |
110 | 110 | # AM_CONDITIONAL -*- Autoconf -*- |
111 | 111 | |
112 | # Copyright (C) 1997-2014 Free Software Foundation, Inc. | |
112 | # Copyright (C) 1997-2017 Free Software Foundation, Inc. | |
113 | 113 | # |
114 | 114 | # This file is free software; the Free Software Foundation |
115 | 115 | # gives unlimited permission to copy and/or distribute it, |
140 | 140 | Usually this means the macro was only invoked conditionally.]]) |
141 | 141 | fi])]) |
142 | 142 | |
143 | # Copyright (C) 1999-2014 Free Software Foundation, Inc. | |
143 | # Copyright (C) 1999-2017 Free Software Foundation, Inc. | |
144 | 144 | # |
145 | 145 | # This file is free software; the Free Software Foundation |
146 | 146 | # gives unlimited permission to copy and/or distribute it, |
331 | 331 | |
332 | 332 | # Generate code to set up dependency tracking. -*- Autoconf -*- |
333 | 333 | |
334 | # Copyright (C) 1999-2014 Free Software Foundation, Inc. | |
334 | # Copyright (C) 1999-2017 Free Software Foundation, Inc. | |
335 | 335 | # |
336 | 336 | # This file is free software; the Free Software Foundation |
337 | 337 | # gives unlimited permission to copy and/or distribute it, |
407 | 407 | |
408 | 408 | # Do all the work for Automake. -*- Autoconf -*- |
409 | 409 | |
410 | # Copyright (C) 1996-2014 Free Software Foundation, Inc. | |
410 | # Copyright (C) 1996-2017 Free Software Foundation, Inc. | |
411 | 411 | # |
412 | 412 | # This file is free software; the Free Software Foundation |
413 | 413 | # gives unlimited permission to copy and/or distribute it, |
604 | 604 | done |
605 | 605 | echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) |
606 | 606 | |
607 | # Copyright (C) 2001-2014 Free Software Foundation, Inc. | |
607 | # Copyright (C) 2001-2017 Free Software Foundation, Inc. | |
608 | 608 | # |
609 | 609 | # This file is free software; the Free Software Foundation |
610 | 610 | # gives unlimited permission to copy and/or distribute it, |
625 | 625 | fi |
626 | 626 | AC_SUBST([install_sh])]) |
627 | 627 | |
628 | # Copyright (C) 2003-2014 Free Software Foundation, Inc. | |
628 | # Copyright (C) 2003-2017 Free Software Foundation, Inc. | |
629 | 629 | # |
630 | 630 | # This file is free software; the Free Software Foundation |
631 | 631 | # gives unlimited permission to copy and/or distribute it, |
647 | 647 | # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- |
648 | 648 | # From Jim Meyering |
649 | 649 | |
650 | # Copyright (C) 1996-2014 Free Software Foundation, Inc. | |
650 | # Copyright (C) 1996-2017 Free Software Foundation, Inc. | |
651 | 651 | # |
652 | 652 | # This file is free software; the Free Software Foundation |
653 | 653 | # gives unlimited permission to copy and/or distribute it, |
682 | 682 | |
683 | 683 | # Check to see how 'make' treats includes. -*- Autoconf -*- |
684 | 684 | |
685 | # Copyright (C) 2001-2014 Free Software Foundation, Inc. | |
685 | # Copyright (C) 2001-2017 Free Software Foundation, Inc. | |
686 | 686 | # |
687 | 687 | # This file is free software; the Free Software Foundation |
688 | 688 | # gives unlimited permission to copy and/or distribute it, |
732 | 732 | |
733 | 733 | # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- |
734 | 734 | |
735 | # Copyright (C) 1997-2014 Free Software Foundation, Inc. | |
735 | # Copyright (C) 1997-2017 Free Software Foundation, Inc. | |
736 | 736 | # |
737 | 737 | # This file is free software; the Free Software Foundation |
738 | 738 | # gives unlimited permission to copy and/or distribute it, |
773 | 773 | # Obsolete and "removed" macros, that must however still report explicit |
774 | 774 | # error messages when used, to smooth transition. |
775 | 775 | # |
776 | # Copyright (C) 1996-2014 Free Software Foundation, Inc. | |
776 | # Copyright (C) 1996-2017 Free Software Foundation, Inc. | |
777 | 777 | # |
778 | 778 | # This file is free software; the Free Software Foundation |
779 | 779 | # gives unlimited permission to copy and/or distribute it, |
800 | 800 | |
801 | 801 | # Helper functions for option handling. -*- Autoconf -*- |
802 | 802 | |
803 | # Copyright (C) 2001-2014 Free Software Foundation, Inc. | |
803 | # Copyright (C) 2001-2017 Free Software Foundation, Inc. | |
804 | 804 | # |
805 | 805 | # This file is free software; the Free Software Foundation |
806 | 806 | # gives unlimited permission to copy and/or distribute it, |
829 | 829 | AC_DEFUN([_AM_IF_OPTION], |
830 | 830 | [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) |
831 | 831 | |
832 | # Copyright (C) 1999-2014 Free Software Foundation, Inc. | |
832 | # Copyright (C) 1999-2017 Free Software Foundation, Inc. | |
833 | 833 | # |
834 | 834 | # This file is free software; the Free Software Foundation |
835 | 835 | # gives unlimited permission to copy and/or distribute it, |
876 | 876 | # For backward compatibility. |
877 | 877 | AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) |
878 | 878 | |
879 | # Copyright (C) 2001-2014 Free Software Foundation, Inc. | |
879 | # Copyright (C) 2001-2017 Free Software Foundation, Inc. | |
880 | 880 | # |
881 | 881 | # This file is free software; the Free Software Foundation |
882 | 882 | # gives unlimited permission to copy and/or distribute it, |
895 | 895 | |
896 | 896 | # Check to make sure that the build environment is sane. -*- Autoconf -*- |
897 | 897 | |
898 | # Copyright (C) 1996-2014 Free Software Foundation, Inc. | |
898 | # Copyright (C) 1996-2017 Free Software Foundation, Inc. | |
899 | 899 | # |
900 | 900 | # This file is free software; the Free Software Foundation |
901 | 901 | # gives unlimited permission to copy and/or distribute it, |
976 | 976 | rm -f conftest.file |
977 | 977 | ]) |
978 | 978 | |
979 | # Copyright (C) 2009-2014 Free Software Foundation, Inc. | |
979 | # Copyright (C) 2009-2017 Free Software Foundation, Inc. | |
980 | 980 | # |
981 | 981 | # This file is free software; the Free Software Foundation |
982 | 982 | # gives unlimited permission to copy and/or distribute it, |
1036 | 1036 | _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl |
1037 | 1037 | ]) |
1038 | 1038 | |
1039 | # Copyright (C) 2001-2014 Free Software Foundation, Inc. | |
1039 | # Copyright (C) 2001-2017 Free Software Foundation, Inc. | |
1040 | 1040 | # |
1041 | 1041 | # This file is free software; the Free Software Foundation |
1042 | 1042 | # gives unlimited permission to copy and/or distribute it, |
1064 | 1064 | INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" |
1065 | 1065 | AC_SUBST([INSTALL_STRIP_PROGRAM])]) |
1066 | 1066 | |
1067 | # Copyright (C) 2006-2014 Free Software Foundation, Inc. | |
1067 | # Copyright (C) 2006-2017 Free Software Foundation, Inc. | |
1068 | 1068 | # |
1069 | 1069 | # This file is free software; the Free Software Foundation |
1070 | 1070 | # gives unlimited permission to copy and/or distribute it, |
1083 | 1083 | |
1084 | 1084 | # Check how to create a tarball. -*- Autoconf -*- |
1085 | 1085 | |
1086 | # Copyright (C) 2004-2014 Free Software Foundation, Inc. | |
1086 | # Copyright (C) 2004-2017 Free Software Foundation, Inc. | |
1087 | 1087 | # |
1088 | 1088 | # This file is free software; the Free Software Foundation |
1089 | 1089 | # gives unlimited permission to copy and/or distribute it, |
0 | # Makefile.in generated by automake 1.15 from Makefile.am. | |
0 | # Makefile.in generated by automake 1.15.1 from Makefile.am. | |
1 | 1 | # @configure_input@ |
2 | 2 | |
3 | # Copyright (C) 1994-2014 Free Software Foundation, Inc. | |
3 | # Copyright (C) 1994-2017 Free Software Foundation, Inc. | |
4 | 4 | |
5 | 5 | # This Makefile.in is free software; the Free Software Foundation |
6 | 6 | # gives unlimited permission to copy and/or distribute it, |
0 | 0 | #! /bin/sh |
1 | 1 | # Attempt to guess a canonical system name. |
2 | # Copyright 1992-2015 Free Software Foundation, Inc. | |
3 | ||
4 | timestamp='2015-08-20' | |
2 | # Copyright 1992-2018 Free Software Foundation, Inc. | |
3 | ||
4 | timestamp='2018-02-24' | |
5 | 5 | |
6 | 6 | # This file is free software; you can redistribute it and/or modify it |
7 | 7 | # under the terms of the GNU General Public License as published by |
14 | 14 | # General Public License for more details. |
15 | 15 | # |
16 | 16 | # You should have received a copy of the GNU General Public License |
17 | # along with this program; if not, see <http://www.gnu.org/licenses/>. | |
17 | # along with this program; if not, see <https://www.gnu.org/licenses/>. | |
18 | 18 | # |
19 | 19 | # As a special exception to the GNU General Public License, if you |
20 | 20 | # distribute this file as part of a program that contains a |
26 | 26 | # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. |
27 | 27 | # |
28 | 28 | # You can get the latest version of this script from: |
29 | # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD | |
29 | # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess | |
30 | 30 | # |
31 | 31 | # Please send patches to <config-patches@gnu.org>. |
32 | 32 | |
38 | 38 | |
39 | 39 | Output the configuration name of the system \`$me' is run on. |
40 | 40 | |
41 | Operation modes: | |
41 | Options: | |
42 | 42 | -h, --help print this help, then exit |
43 | 43 | -t, --time-stamp print date of last modification, then exit |
44 | 44 | -v, --version print version number, then exit |
49 | 49 | GNU config.guess ($timestamp) |
50 | 50 | |
51 | 51 | Originally written by Per Bothner. |
52 | Copyright 1992-2015 Free Software Foundation, Inc. | |
52 | Copyright 1992-2018 Free Software Foundation, Inc. | |
53 | 53 | |
54 | 54 | This is free software; see the source for copying conditions. There is NO |
55 | 55 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
106 | 106 | dummy=$tmp/dummy ; |
107 | 107 | tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; |
108 | 108 | case $CC_FOR_BUILD,$HOST_CC,$CC in |
109 | ,,) echo "int x;" > $dummy.c ; | |
109 | ,,) echo "int x;" > "$dummy.c" ; | |
110 | 110 | for c in cc gcc c89 c99 ; do |
111 | if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then | |
111 | if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then | |
112 | 112 | CC_FOR_BUILD="$c"; break ; |
113 | 113 | fi ; |
114 | 114 | done ; |
131 | 131 | UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown |
132 | 132 | UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown |
133 | 133 | |
134 | case "${UNAME_SYSTEM}" in | |
134 | case "$UNAME_SYSTEM" in | |
135 | 135 | Linux|GNU|GNU/*) |
136 | 136 | # If the system lacks a compiler, then just pick glibc. |
137 | 137 | # We could probably try harder. |
138 | 138 | LIBC=gnu |
139 | 139 | |
140 | eval $set_cc_for_build | |
141 | cat <<-EOF > $dummy.c | |
140 | eval "$set_cc_for_build" | |
141 | cat <<-EOF > "$dummy.c" | |
142 | 142 | #include <features.h> |
143 | 143 | #if defined(__UCLIBC__) |
144 | 144 | LIBC=uclibc |
148 | 148 | LIBC=gnu |
149 | 149 | #endif |
150 | 150 | EOF |
151 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` | |
151 | eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" | |
152 | ||
153 | # If ldd exists, use it to detect musl libc. | |
154 | if command -v ldd >/dev/null && \ | |
155 | ldd --version 2>&1 | grep -q ^musl | |
156 | then | |
157 | LIBC=musl | |
158 | fi | |
152 | 159 | ;; |
153 | 160 | esac |
154 | 161 | |
155 | 162 | # Note: order is significant - the case branches are not exclusive. |
156 | 163 | |
157 | case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |
164 | case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in | |
158 | 165 | *:NetBSD:*:*) |
159 | 166 | # NetBSD (nbsd) targets should (where applicable) match one or |
160 | 167 | # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, |
168 | 175 | # portion of the name. We always set it to "unknown". |
169 | 176 | sysctl="sysctl -n hw.machine_arch" |
170 | 177 | UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ |
171 | /sbin/$sysctl 2>/dev/null || \ | |
172 | /usr/sbin/$sysctl 2>/dev/null || \ | |
178 | "/sbin/$sysctl" 2>/dev/null || \ | |
179 | "/usr/sbin/$sysctl" 2>/dev/null || \ | |
173 | 180 | echo unknown)` |
174 | case "${UNAME_MACHINE_ARCH}" in | |
181 | case "$UNAME_MACHINE_ARCH" in | |
175 | 182 | armeb) machine=armeb-unknown ;; |
176 | 183 | arm*) machine=arm-unknown ;; |
177 | 184 | sh3el) machine=shl-unknown ;; |
178 | 185 | sh3eb) machine=sh-unknown ;; |
179 | 186 | sh5el) machine=sh5le-unknown ;; |
180 | 187 | earmv*) |
181 | arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` | |
182 | endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` | |
183 | machine=${arch}${endian}-unknown | |
188 | arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` | |
189 | endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` | |
190 | machine="${arch}${endian}"-unknown | |
184 | 191 | ;; |
185 | *) machine=${UNAME_MACHINE_ARCH}-unknown ;; | |
192 | *) machine="$UNAME_MACHINE_ARCH"-unknown ;; | |
186 | 193 | esac |
187 | 194 | # The Operating System including object format, if it has switched |
188 | # to ELF recently, or will in the future. | |
189 | case "${UNAME_MACHINE_ARCH}" in | |
190 | arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) | |
191 | eval $set_cc_for_build | |
195 | # to ELF recently (or will in the future) and ABI. | |
196 | case "$UNAME_MACHINE_ARCH" in | |
197 | earm*) | |
198 | os=netbsdelf | |
199 | ;; | |
200 | arm*|i386|m68k|ns32k|sh3*|sparc|vax) | |
201 | eval "$set_cc_for_build" | |
192 | 202 | if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ |
193 | 203 | | grep -q __ELF__ |
194 | 204 | then |
204 | 214 | ;; |
205 | 215 | esac |
206 | 216 | # Determine ABI tags. |
207 | case "${UNAME_MACHINE_ARCH}" in | |
217 | case "$UNAME_MACHINE_ARCH" in | |
208 | 218 | earm*) |
209 | 219 | expr='s/^earmv[0-9]/-eabi/;s/eb$//' |
210 | abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` | |
220 | abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` | |
211 | 221 | ;; |
212 | 222 | esac |
213 | 223 | # The OS release |
215 | 225 | # thus, need a distinct triplet. However, they do not need |
216 | 226 | # kernel version information, so it can be replaced with a |
217 | 227 | # suitable tag, in the style of linux-gnu. |
218 | case "${UNAME_VERSION}" in | |
228 | case "$UNAME_VERSION" in | |
219 | 229 | Debian*) |
220 | 230 | release='-gnu' |
221 | 231 | ;; |
222 | 232 | *) |
223 | release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` | |
233 | release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` | |
224 | 234 | ;; |
225 | 235 | esac |
226 | 236 | # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: |
227 | 237 | # contains redundant information, the shorter form: |
228 | 238 | # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. |
229 | echo "${machine}-${os}${release}${abi}" | |
239 | echo "$machine-${os}${release}${abi}" | |
230 | 240 | exit ;; |
231 | 241 | *:Bitrig:*:*) |
232 | 242 | UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` |
233 | echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} | |
243 | echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" | |
234 | 244 | exit ;; |
235 | 245 | *:OpenBSD:*:*) |
236 | 246 | UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` |
237 | echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} | |
247 | echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" | |
248 | exit ;; | |
249 | *:LibertyBSD:*:*) | |
250 | UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` | |
251 | echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" | |
252 | exit ;; | |
253 | *:MidnightBSD:*:*) | |
254 | echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" | |
238 | 255 | exit ;; |
239 | 256 | *:ekkoBSD:*:*) |
240 | echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} | |
257 | echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" | |
241 | 258 | exit ;; |
242 | 259 | *:SolidBSD:*:*) |
243 | echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} | |
260 | echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" | |
244 | 261 | exit ;; |
245 | 262 | macppc:MirBSD:*:*) |
246 | echo powerpc-unknown-mirbsd${UNAME_RELEASE} | |
263 | echo powerpc-unknown-mirbsd"$UNAME_RELEASE" | |
247 | 264 | exit ;; |
248 | 265 | *:MirBSD:*:*) |
249 | echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} | |
266 | echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" | |
250 | 267 | exit ;; |
251 | 268 | *:Sortix:*:*) |
252 | echo ${UNAME_MACHINE}-unknown-sortix | |
253 | exit ;; | |
269 | echo "$UNAME_MACHINE"-unknown-sortix | |
270 | exit ;; | |
271 | *:Redox:*:*) | |
272 | echo "$UNAME_MACHINE"-unknown-redox | |
273 | exit ;; | |
274 | mips:OSF1:*.*) | |
275 | echo mips-dec-osf1 | |
276 | exit ;; | |
254 | 277 | alpha:OSF1:*:*) |
255 | 278 | case $UNAME_RELEASE in |
256 | 279 | *4.0) |
267 | 290 | ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` |
268 | 291 | case "$ALPHA_CPU_TYPE" in |
269 | 292 | "EV4 (21064)") |
270 | UNAME_MACHINE="alpha" ;; | |
293 | UNAME_MACHINE=alpha ;; | |
271 | 294 | "EV4.5 (21064)") |
272 | UNAME_MACHINE="alpha" ;; | |
295 | UNAME_MACHINE=alpha ;; | |
273 | 296 | "LCA4 (21066/21068)") |
274 | UNAME_MACHINE="alpha" ;; | |
297 | UNAME_MACHINE=alpha ;; | |
275 | 298 | "EV5 (21164)") |
276 | UNAME_MACHINE="alphaev5" ;; | |
299 | UNAME_MACHINE=alphaev5 ;; | |
277 | 300 | "EV5.6 (21164A)") |
278 | UNAME_MACHINE="alphaev56" ;; | |
301 | UNAME_MACHINE=alphaev56 ;; | |
279 | 302 | "EV5.6 (21164PC)") |
280 | UNAME_MACHINE="alphapca56" ;; | |
303 | UNAME_MACHINE=alphapca56 ;; | |
281 | 304 | "EV5.7 (21164PC)") |
282 | UNAME_MACHINE="alphapca57" ;; | |
305 | UNAME_MACHINE=alphapca57 ;; | |
283 | 306 | "EV6 (21264)") |
284 | UNAME_MACHINE="alphaev6" ;; | |
307 | UNAME_MACHINE=alphaev6 ;; | |
285 | 308 | "EV6.7 (21264A)") |
286 | UNAME_MACHINE="alphaev67" ;; | |
309 | UNAME_MACHINE=alphaev67 ;; | |
287 | 310 | "EV6.8CB (21264C)") |
288 | UNAME_MACHINE="alphaev68" ;; | |
311 | UNAME_MACHINE=alphaev68 ;; | |
289 | 312 | "EV6.8AL (21264B)") |
290 | UNAME_MACHINE="alphaev68" ;; | |
313 | UNAME_MACHINE=alphaev68 ;; | |
291 | 314 | "EV6.8CX (21264D)") |
292 | UNAME_MACHINE="alphaev68" ;; | |
315 | UNAME_MACHINE=alphaev68 ;; | |
293 | 316 | "EV6.9A (21264/EV69A)") |
294 | UNAME_MACHINE="alphaev69" ;; | |
317 | UNAME_MACHINE=alphaev69 ;; | |
295 | 318 | "EV7 (21364)") |
296 | UNAME_MACHINE="alphaev7" ;; | |
319 | UNAME_MACHINE=alphaev7 ;; | |
297 | 320 | "EV7.9 (21364A)") |
298 | UNAME_MACHINE="alphaev79" ;; | |
321 | UNAME_MACHINE=alphaev79 ;; | |
299 | 322 | esac |
300 | 323 | # A Pn.n version is a patched version. |
301 | 324 | # A Vn.n version is a released version. |
302 | 325 | # A Tn.n version is a released field test version. |
303 | 326 | # A Xn.n version is an unreleased experimental baselevel. |
304 | 327 | # 1.2 uses "1.2" for uname -r. |
305 | echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` | |
328 | echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" | |
306 | 329 | # Reset EXIT trap before exiting to avoid spurious non-zero exit code. |
307 | 330 | exitcode=$? |
308 | 331 | trap '' 0 |
309 | 332 | exit $exitcode ;; |
310 | Alpha\ *:Windows_NT*:*) | |
311 | # How do we know it's Interix rather than the generic POSIX subsystem? | |
312 | # Should we change UNAME_MACHINE based on the output of uname instead | |
313 | # of the specific Alpha model? | |
314 | echo alpha-pc-interix | |
315 | exit ;; | |
316 | 21064:Windows_NT:50:3) | |
317 | echo alpha-dec-winnt3.5 | |
318 | exit ;; | |
319 | 333 | Amiga*:UNIX_System_V:4.0:*) |
320 | 334 | echo m68k-unknown-sysv4 |
321 | 335 | exit ;; |
322 | 336 | *:[Aa]miga[Oo][Ss]:*:*) |
323 | echo ${UNAME_MACHINE}-unknown-amigaos | |
337 | echo "$UNAME_MACHINE"-unknown-amigaos | |
324 | 338 | exit ;; |
325 | 339 | *:[Mm]orph[Oo][Ss]:*:*) |
326 | echo ${UNAME_MACHINE}-unknown-morphos | |
340 | echo "$UNAME_MACHINE"-unknown-morphos | |
327 | 341 | exit ;; |
328 | 342 | *:OS/390:*:*) |
329 | 343 | echo i370-ibm-openedition |
335 | 349 | echo powerpc-ibm-os400 |
336 | 350 | exit ;; |
337 | 351 | arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) |
338 | echo arm-acorn-riscix${UNAME_RELEASE} | |
352 | echo arm-acorn-riscix"$UNAME_RELEASE" | |
339 | 353 | exit ;; |
340 | 354 | arm*:riscos:*:*|arm*:RISCOS:*:*) |
341 | 355 | echo arm-unknown-riscos |
362 | 376 | sparc) echo sparc-icl-nx7; exit ;; |
363 | 377 | esac ;; |
364 | 378 | s390x:SunOS:*:*) |
365 | echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
379 | echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" | |
366 | 380 | exit ;; |
367 | 381 | sun4H:SunOS:5.*:*) |
368 | echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
382 | echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" | |
369 | 383 | exit ;; |
370 | 384 | sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) |
371 | echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
385 | echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" | |
372 | 386 | exit ;; |
373 | 387 | i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) |
374 | echo i386-pc-auroraux${UNAME_RELEASE} | |
388 | echo i386-pc-auroraux"$UNAME_RELEASE" | |
375 | 389 | exit ;; |
376 | 390 | i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) |
377 | eval $set_cc_for_build | |
378 | SUN_ARCH="i386" | |
391 | eval "$set_cc_for_build" | |
392 | SUN_ARCH=i386 | |
379 | 393 | # If there is a compiler, see if it is configured for 64-bit objects. |
380 | 394 | # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. |
381 | 395 | # This test works for both compilers. |
382 | if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then | |
396 | if [ "$CC_FOR_BUILD" != no_compiler_found ]; then | |
383 | 397 | if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ |
384 | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ | |
398 | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ | |
385 | 399 | grep IS_64BIT_ARCH >/dev/null |
386 | 400 | then |
387 | SUN_ARCH="x86_64" | |
401 | SUN_ARCH=x86_64 | |
388 | 402 | fi |
389 | 403 | fi |
390 | echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
404 | echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" | |
391 | 405 | exit ;; |
392 | 406 | sun4*:SunOS:6*:*) |
393 | 407 | # According to config.sub, this is the proper way to canonicalize |
394 | 408 | # SunOS6. Hard to guess exactly what SunOS6 will be like, but |
395 | 409 | # it's likely to be more like Solaris than SunOS4. |
396 | echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
410 | echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" | |
397 | 411 | exit ;; |
398 | 412 | sun4*:SunOS:*:*) |
399 | 413 | case "`/usr/bin/arch -k`" in |
402 | 416 | ;; |
403 | 417 | esac |
404 | 418 | # Japanese Language versions have a version number like `4.1.3-JL'. |
405 | echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` | |
419 | echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" | |
406 | 420 | exit ;; |
407 | 421 | sun3*:SunOS:*:*) |
408 | echo m68k-sun-sunos${UNAME_RELEASE} | |
422 | echo m68k-sun-sunos"$UNAME_RELEASE" | |
409 | 423 | exit ;; |
410 | 424 | sun*:*:4.2BSD:*) |
411 | 425 | UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` |
412 | test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 | |
426 | test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 | |
413 | 427 | case "`/bin/arch`" in |
414 | 428 | sun3) |
415 | echo m68k-sun-sunos${UNAME_RELEASE} | |
429 | echo m68k-sun-sunos"$UNAME_RELEASE" | |
416 | 430 | ;; |
417 | 431 | sun4) |
418 | echo sparc-sun-sunos${UNAME_RELEASE} | |
432 | echo sparc-sun-sunos"$UNAME_RELEASE" | |
419 | 433 | ;; |
420 | 434 | esac |
421 | 435 | exit ;; |
422 | 436 | aushp:SunOS:*:*) |
423 | echo sparc-auspex-sunos${UNAME_RELEASE} | |
437 | echo sparc-auspex-sunos"$UNAME_RELEASE" | |
424 | 438 | exit ;; |
425 | 439 | # The situation for MiNT is a little confusing. The machine name |
426 | 440 | # can be virtually everything (everything which is not |
431 | 445 | # MiNT. But MiNT is downward compatible to TOS, so this should |
432 | 446 | # be no problem. |
433 | 447 | atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) |
434 | echo m68k-atari-mint${UNAME_RELEASE} | |
448 | echo m68k-atari-mint"$UNAME_RELEASE" | |
435 | 449 | exit ;; |
436 | 450 | atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) |
437 | echo m68k-atari-mint${UNAME_RELEASE} | |
451 | echo m68k-atari-mint"$UNAME_RELEASE" | |
438 | 452 | exit ;; |
439 | 453 | *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) |
440 | echo m68k-atari-mint${UNAME_RELEASE} | |
454 | echo m68k-atari-mint"$UNAME_RELEASE" | |
441 | 455 | exit ;; |
442 | 456 | milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) |
443 | echo m68k-milan-mint${UNAME_RELEASE} | |
457 | echo m68k-milan-mint"$UNAME_RELEASE" | |
444 | 458 | exit ;; |
445 | 459 | hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) |
446 | echo m68k-hades-mint${UNAME_RELEASE} | |
460 | echo m68k-hades-mint"$UNAME_RELEASE" | |
447 | 461 | exit ;; |
448 | 462 | *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) |
449 | echo m68k-unknown-mint${UNAME_RELEASE} | |
463 | echo m68k-unknown-mint"$UNAME_RELEASE" | |
450 | 464 | exit ;; |
451 | 465 | m68k:machten:*:*) |
452 | echo m68k-apple-machten${UNAME_RELEASE} | |
466 | echo m68k-apple-machten"$UNAME_RELEASE" | |
453 | 467 | exit ;; |
454 | 468 | powerpc:machten:*:*) |
455 | echo powerpc-apple-machten${UNAME_RELEASE} | |
469 | echo powerpc-apple-machten"$UNAME_RELEASE" | |
456 | 470 | exit ;; |
457 | 471 | RISC*:Mach:*:*) |
458 | 472 | echo mips-dec-mach_bsd4.3 |
459 | 473 | exit ;; |
460 | 474 | RISC*:ULTRIX:*:*) |
461 | echo mips-dec-ultrix${UNAME_RELEASE} | |
475 | echo mips-dec-ultrix"$UNAME_RELEASE" | |
462 | 476 | exit ;; |
463 | 477 | VAX*:ULTRIX*:*:*) |
464 | echo vax-dec-ultrix${UNAME_RELEASE} | |
478 | echo vax-dec-ultrix"$UNAME_RELEASE" | |
465 | 479 | exit ;; |
466 | 480 | 2020:CLIX:*:* | 2430:CLIX:*:*) |
467 | echo clipper-intergraph-clix${UNAME_RELEASE} | |
481 | echo clipper-intergraph-clix"$UNAME_RELEASE" | |
468 | 482 | exit ;; |
469 | 483 | mips:*:*:UMIPS | mips:*:*:RISCos) |
470 | eval $set_cc_for_build | |
471 | sed 's/^ //' << EOF >$dummy.c | |
484 | eval "$set_cc_for_build" | |
485 | sed 's/^ //' << EOF > "$dummy.c" | |
472 | 486 | #ifdef __cplusplus |
473 | 487 | #include <stdio.h> /* for printf() prototype */ |
474 | 488 | int main (int argc, char *argv[]) { |
477 | 491 | #endif |
478 | 492 | #if defined (host_mips) && defined (MIPSEB) |
479 | 493 | #if defined (SYSTYPE_SYSV) |
480 | printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); | |
494 | printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); | |
481 | 495 | #endif |
482 | 496 | #if defined (SYSTYPE_SVR4) |
483 | printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); | |
497 | printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); | |
484 | 498 | #endif |
485 | 499 | #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) |
486 | printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); | |
500 | printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); | |
487 | 501 | #endif |
488 | 502 | #endif |
489 | 503 | exit (-1); |
490 | 504 | } |
491 | 505 | EOF |
492 | $CC_FOR_BUILD -o $dummy $dummy.c && | |
493 | dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && | |
494 | SYSTEM_NAME=`$dummy $dummyarg` && | |
506 | $CC_FOR_BUILD -o "$dummy" "$dummy.c" && | |
507 | dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && | |
508 | SYSTEM_NAME=`"$dummy" "$dummyarg"` && | |
495 | 509 | { echo "$SYSTEM_NAME"; exit; } |
496 | echo mips-mips-riscos${UNAME_RELEASE} | |
510 | echo mips-mips-riscos"$UNAME_RELEASE" | |
497 | 511 | exit ;; |
498 | 512 | Motorola:PowerMAX_OS:*:*) |
499 | 513 | echo powerpc-motorola-powermax |
519 | 533 | AViiON:dgux:*:*) |
520 | 534 | # DG/UX returns AViiON for all architectures |
521 | 535 | UNAME_PROCESSOR=`/usr/bin/uname -p` |
522 | if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] | |
536 | if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] | |
523 | 537 | then |
524 | if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ | |
525 | [ ${TARGET_BINARY_INTERFACE}x = x ] | |
538 | if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ | |
539 | [ "$TARGET_BINARY_INTERFACE"x = x ] | |
526 | 540 | then |
527 | echo m88k-dg-dgux${UNAME_RELEASE} | |
541 | echo m88k-dg-dgux"$UNAME_RELEASE" | |
528 | 542 | else |
529 | echo m88k-dg-dguxbcs${UNAME_RELEASE} | |
543 | echo m88k-dg-dguxbcs"$UNAME_RELEASE" | |
530 | 544 | fi |
531 | 545 | else |
532 | echo i586-dg-dgux${UNAME_RELEASE} | |
546 | echo i586-dg-dgux"$UNAME_RELEASE" | |
533 | 547 | fi |
534 | 548 | exit ;; |
535 | 549 | M88*:DolphinOS:*:*) # DolphinOS (SVR3) |
546 | 560 | echo m68k-tektronix-bsd |
547 | 561 | exit ;; |
548 | 562 | *:IRIX*:*:*) |
549 | echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` | |
563 | echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" | |
550 | 564 | exit ;; |
551 | 565 | ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. |
552 | 566 | echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id |
558 | 572 | if [ -x /usr/bin/oslevel ] ; then |
559 | 573 | IBM_REV=`/usr/bin/oslevel` |
560 | 574 | else |
561 | IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} | |
562 | fi | |
563 | echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} | |
575 | IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" | |
576 | fi | |
577 | echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" | |
564 | 578 | exit ;; |
565 | 579 | *:AIX:2:3) |
566 | 580 | if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then |
567 | eval $set_cc_for_build | |
568 | sed 's/^ //' << EOF >$dummy.c | |
581 | eval "$set_cc_for_build" | |
582 | sed 's/^ //' << EOF > "$dummy.c" | |
569 | 583 | #include <sys/systemcfg.h> |
570 | 584 | |
571 | 585 | main() |
576 | 590 | exit(0); |
577 | 591 | } |
578 | 592 | EOF |
579 | if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` | |
593 | if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` | |
580 | 594 | then |
581 | 595 | echo "$SYSTEM_NAME" |
582 | 596 | else |
590 | 604 | exit ;; |
591 | 605 | *:AIX:*:[4567]) |
592 | 606 | IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` |
593 | if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then | |
607 | if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then | |
594 | 608 | IBM_ARCH=rs6000 |
595 | 609 | else |
596 | 610 | IBM_ARCH=powerpc |
599 | 613 | IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | |
600 | 614 | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` |
601 | 615 | else |
602 | IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} | |
603 | fi | |
604 | echo ${IBM_ARCH}-ibm-aix${IBM_REV} | |
616 | IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" | |
617 | fi | |
618 | echo "$IBM_ARCH"-ibm-aix"$IBM_REV" | |
605 | 619 | exit ;; |
606 | 620 | *:AIX:*:*) |
607 | 621 | echo rs6000-ibm-aix |
608 | 622 | exit ;; |
609 | ibmrt:4.4BSD:*|romp-ibm:BSD:*) | |
623 | ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) | |
610 | 624 | echo romp-ibm-bsd4.4 |
611 | 625 | exit ;; |
612 | 626 | ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and |
613 | echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to | |
627 | echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to | |
614 | 628 | exit ;; # report: romp-ibm BSD 4.3 |
615 | 629 | *:BOSX:*:*) |
616 | 630 | echo rs6000-bull-bosx |
625 | 639 | echo m68k-hp-bsd4.4 |
626 | 640 | exit ;; |
627 | 641 | 9000/[34678]??:HP-UX:*:*) |
628 | HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` | |
629 | case "${UNAME_MACHINE}" in | |
630 | 9000/31? ) HP_ARCH=m68000 ;; | |
631 | 9000/[34]?? ) HP_ARCH=m68k ;; | |
642 | HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` | |
643 | case "$UNAME_MACHINE" in | |
644 | 9000/31?) HP_ARCH=m68000 ;; | |
645 | 9000/[34]??) HP_ARCH=m68k ;; | |
632 | 646 | 9000/[678][0-9][0-9]) |
633 | 647 | if [ -x /usr/bin/getconf ]; then |
634 | 648 | sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` |
635 | 649 | sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` |
636 | case "${sc_cpu_version}" in | |
637 | 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 | |
638 | 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 | |
650 | case "$sc_cpu_version" in | |
651 | 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 | |
652 | 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 | |
639 | 653 | 532) # CPU_PA_RISC2_0 |
640 | case "${sc_kernel_bits}" in | |
641 | 32) HP_ARCH="hppa2.0n" ;; | |
642 | 64) HP_ARCH="hppa2.0w" ;; | |
643 | '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 | |
654 | case "$sc_kernel_bits" in | |
655 | 32) HP_ARCH=hppa2.0n ;; | |
656 | 64) HP_ARCH=hppa2.0w ;; | |
657 | '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 | |
644 | 658 | esac ;; |
645 | 659 | esac |
646 | 660 | fi |
647 | if [ "${HP_ARCH}" = "" ]; then | |
648 | eval $set_cc_for_build | |
649 | sed 's/^ //' << EOF >$dummy.c | |
661 | if [ "$HP_ARCH" = "" ]; then | |
662 | eval "$set_cc_for_build" | |
663 | sed 's/^ //' << EOF > "$dummy.c" | |
650 | 664 | |
651 | 665 | #define _HPUX_SOURCE |
652 | 666 | #include <stdlib.h> |
679 | 693 | exit (0); |
680 | 694 | } |
681 | 695 | EOF |
682 | (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` | |
696 | (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` | |
683 | 697 | test -z "$HP_ARCH" && HP_ARCH=hppa |
684 | 698 | fi ;; |
685 | 699 | esac |
686 | if [ ${HP_ARCH} = "hppa2.0w" ] | |
700 | if [ "$HP_ARCH" = hppa2.0w ] | |
687 | 701 | then |
688 | eval $set_cc_for_build | |
702 | eval "$set_cc_for_build" | |
689 | 703 | |
690 | 704 | # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating |
691 | 705 | # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler |
696 | 710 | # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess |
697 | 711 | # => hppa64-hp-hpux11.23 |
698 | 712 | |
699 | if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | | |
713 | if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | | |
700 | 714 | grep -q __LP64__ |
701 | 715 | then |
702 | HP_ARCH="hppa2.0w" | |
716 | HP_ARCH=hppa2.0w | |
703 | 717 | else |
704 | HP_ARCH="hppa64" | |
718 | HP_ARCH=hppa64 | |
705 | 719 | fi |
706 | 720 | fi |
707 | echo ${HP_ARCH}-hp-hpux${HPUX_REV} | |
721 | echo "$HP_ARCH"-hp-hpux"$HPUX_REV" | |
708 | 722 | exit ;; |
709 | 723 | ia64:HP-UX:*:*) |
710 | HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` | |
711 | echo ia64-hp-hpux${HPUX_REV} | |
724 | HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` | |
725 | echo ia64-hp-hpux"$HPUX_REV" | |
712 | 726 | exit ;; |
713 | 727 | 3050*:HI-UX:*:*) |
714 | eval $set_cc_for_build | |
715 | sed 's/^ //' << EOF >$dummy.c | |
728 | eval "$set_cc_for_build" | |
729 | sed 's/^ //' << EOF > "$dummy.c" | |
716 | 730 | #include <unistd.h> |
717 | 731 | int |
718 | 732 | main () |
737 | 751 | exit (0); |
738 | 752 | } |
739 | 753 | EOF |
740 | $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && | |
754 | $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && | |
741 | 755 | { echo "$SYSTEM_NAME"; exit; } |
742 | 756 | echo unknown-hitachi-hiuxwe2 |
743 | 757 | exit ;; |
744 | 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) | |
758 | 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) | |
745 | 759 | echo hppa1.1-hp-bsd |
746 | 760 | exit ;; |
747 | 761 | 9000/8??:4.3bsd:*:*) |
750 | 764 | *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) |
751 | 765 | echo hppa1.0-hp-mpeix |
752 | 766 | exit ;; |
753 | hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) | |
767 | hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) | |
754 | 768 | echo hppa1.1-hp-osf |
755 | 769 | exit ;; |
756 | 770 | hp8??:OSF1:*:*) |
758 | 772 | exit ;; |
759 | 773 | i*86:OSF1:*:*) |
760 | 774 | if [ -x /usr/sbin/sysversion ] ; then |
761 | echo ${UNAME_MACHINE}-unknown-osf1mk | |
775 | echo "$UNAME_MACHINE"-unknown-osf1mk | |
762 | 776 | else |
763 | echo ${UNAME_MACHINE}-unknown-osf1 | |
777 | echo "$UNAME_MACHINE"-unknown-osf1 | |
764 | 778 | fi |
765 | 779 | exit ;; |
766 | 780 | parisc*:Lites*:*:*) |
785 | 799 | echo c4-convex-bsd |
786 | 800 | exit ;; |
787 | 801 | CRAY*Y-MP:*:*:*) |
788 | echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
802 | echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' | |
789 | 803 | exit ;; |
790 | 804 | CRAY*[A-Z]90:*:*:*) |
791 | echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | |
805 | echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | |
792 | 806 | | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ |
793 | 807 | -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ |
794 | 808 | -e 's/\.[^.]*$/.X/' |
795 | 809 | exit ;; |
796 | 810 | CRAY*TS:*:*:*) |
797 | echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
811 | echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' | |
798 | 812 | exit ;; |
799 | 813 | CRAY*T3E:*:*:*) |
800 | echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
814 | echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' | |
801 | 815 | exit ;; |
802 | 816 | CRAY*SV1:*:*:*) |
803 | echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
817 | echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' | |
804 | 818 | exit ;; |
805 | 819 | *:UNICOS/mp:*:*) |
806 | echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
820 | echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' | |
807 | 821 | exit ;; |
808 | 822 | F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) |
809 | FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` | |
810 | FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` | |
811 | FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` | |
823 | FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` | |
824 | FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` | |
825 | FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` | |
812 | 826 | echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" |
813 | 827 | exit ;; |
814 | 828 | 5000:UNIX_System_V:4.*:*) |
815 | FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` | |
816 | FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` | |
829 | FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` | |
830 | FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` | |
817 | 831 | echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" |
818 | 832 | exit ;; |
819 | 833 | i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) |
820 | echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} | |
834 | echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" | |
821 | 835 | exit ;; |
822 | 836 | sparc*:BSD/OS:*:*) |
823 | echo sparc-unknown-bsdi${UNAME_RELEASE} | |
837 | echo sparc-unknown-bsdi"$UNAME_RELEASE" | |
824 | 838 | exit ;; |
825 | 839 | *:BSD/OS:*:*) |
826 | echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} | |
840 | echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" | |
827 | 841 | exit ;; |
828 | 842 | *:FreeBSD:*:*) |
829 | 843 | UNAME_PROCESSOR=`/usr/bin/uname -p` |
830 | case ${UNAME_PROCESSOR} in | |
844 | case "$UNAME_PROCESSOR" in | |
831 | 845 | amd64) |
832 | echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; | |
833 | *) | |
834 | echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; | |
846 | UNAME_PROCESSOR=x86_64 ;; | |
847 | i386) | |
848 | UNAME_PROCESSOR=i586 ;; | |
835 | 849 | esac |
850 | echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" | |
836 | 851 | exit ;; |
837 | 852 | i*:CYGWIN*:*) |
838 | echo ${UNAME_MACHINE}-pc-cygwin | |
853 | echo "$UNAME_MACHINE"-pc-cygwin | |
839 | 854 | exit ;; |
840 | 855 | *:MINGW64*:*) |
841 | echo ${UNAME_MACHINE}-pc-mingw64 | |
856 | echo "$UNAME_MACHINE"-pc-mingw64 | |
842 | 857 | exit ;; |
843 | 858 | *:MINGW*:*) |
844 | echo ${UNAME_MACHINE}-pc-mingw32 | |
859 | echo "$UNAME_MACHINE"-pc-mingw32 | |
845 | 860 | exit ;; |
846 | 861 | *:MSYS*:*) |
847 | echo ${UNAME_MACHINE}-pc-msys | |
848 | exit ;; | |
849 | i*:windows32*:*) | |
850 | # uname -m includes "-pc" on this system. | |
851 | echo ${UNAME_MACHINE}-mingw32 | |
862 | echo "$UNAME_MACHINE"-pc-msys | |
852 | 863 | exit ;; |
853 | 864 | i*:PW*:*) |
854 | echo ${UNAME_MACHINE}-pc-pw32 | |
865 | echo "$UNAME_MACHINE"-pc-pw32 | |
855 | 866 | exit ;; |
856 | 867 | *:Interix*:*) |
857 | case ${UNAME_MACHINE} in | |
868 | case "$UNAME_MACHINE" in | |
858 | 869 | x86) |
859 | echo i586-pc-interix${UNAME_RELEASE} | |
870 | echo i586-pc-interix"$UNAME_RELEASE" | |
860 | 871 | exit ;; |
861 | 872 | authenticamd | genuineintel | EM64T) |
862 | echo x86_64-unknown-interix${UNAME_RELEASE} | |
873 | echo x86_64-unknown-interix"$UNAME_RELEASE" | |
863 | 874 | exit ;; |
864 | 875 | IA64) |
865 | echo ia64-unknown-interix${UNAME_RELEASE} | |
876 | echo ia64-unknown-interix"$UNAME_RELEASE" | |
866 | 877 | exit ;; |
867 | 878 | esac ;; |
868 | [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) | |
869 | echo i${UNAME_MACHINE}-pc-mks | |
870 | exit ;; | |
871 | 8664:Windows_NT:*) | |
872 | echo x86_64-pc-mks | |
873 | exit ;; | |
874 | i*:Windows_NT*:* | Pentium*:Windows_NT*:*) | |
875 | # How do we know it's Interix rather than the generic POSIX subsystem? | |
876 | # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we | |
877 | # UNAME_MACHINE based on the output of uname instead of i386? | |
878 | echo i586-pc-interix | |
879 | exit ;; | |
880 | 879 | i*:UWIN*:*) |
881 | echo ${UNAME_MACHINE}-pc-uwin | |
880 | echo "$UNAME_MACHINE"-pc-uwin | |
882 | 881 | exit ;; |
883 | 882 | amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) |
884 | 883 | echo x86_64-unknown-cygwin |
885 | 884 | exit ;; |
886 | p*:CYGWIN*:*) | |
887 | echo powerpcle-unknown-cygwin | |
888 | exit ;; | |
889 | 885 | prep*:SunOS:5.*:*) |
890 | echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
886 | echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" | |
891 | 887 | exit ;; |
892 | 888 | *:GNU:*:*) |
893 | 889 | # the GNU system |
894 | echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` | |
890 | echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" | |
895 | 891 | exit ;; |
896 | 892 | *:GNU/*:*:*) |
897 | 893 | # other systems with GNU libc and userland |
898 | echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} | |
894 | echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" | |
899 | 895 | exit ;; |
900 | 896 | i*86:Minix:*:*) |
901 | echo ${UNAME_MACHINE}-pc-minix | |
897 | echo "$UNAME_MACHINE"-pc-minix | |
902 | 898 | exit ;; |
903 | 899 | aarch64:Linux:*:*) |
904 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
900 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
905 | 901 | exit ;; |
906 | 902 | aarch64_be:Linux:*:*) |
907 | 903 | UNAME_MACHINE=aarch64_be |
908 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
904 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
909 | 905 | exit ;; |
910 | 906 | alpha:Linux:*:*) |
911 | 907 | case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in |
918 | 914 | EV68*) UNAME_MACHINE=alphaev68 ;; |
919 | 915 | esac |
920 | 916 | objdump --private-headers /bin/sh | grep -q ld.so.1 |
921 | if test "$?" = 0 ; then LIBC="gnulibc1" ; fi | |
922 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
917 | if test "$?" = 0 ; then LIBC=gnulibc1 ; fi | |
918 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
923 | 919 | exit ;; |
924 | 920 | arc:Linux:*:* | arceb:Linux:*:*) |
925 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
921 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
926 | 922 | exit ;; |
927 | 923 | arm*:Linux:*:*) |
928 | eval $set_cc_for_build | |
924 | eval "$set_cc_for_build" | |
929 | 925 | if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ |
930 | 926 | | grep -q __ARM_EABI__ |
931 | 927 | then |
932 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
928 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
933 | 929 | else |
934 | 930 | if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ |
935 | 931 | | grep -q __ARM_PCS_VFP |
936 | 932 | then |
937 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi | |
933 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi | |
938 | 934 | else |
939 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf | |
935 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf | |
940 | 936 | fi |
941 | 937 | fi |
942 | 938 | exit ;; |
943 | 939 | avr32*:Linux:*:*) |
944 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
940 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
945 | 941 | exit ;; |
946 | 942 | cris:Linux:*:*) |
947 | echo ${UNAME_MACHINE}-axis-linux-${LIBC} | |
943 | echo "$UNAME_MACHINE"-axis-linux-"$LIBC" | |
948 | 944 | exit ;; |
949 | 945 | crisv32:Linux:*:*) |
950 | echo ${UNAME_MACHINE}-axis-linux-${LIBC} | |
946 | echo "$UNAME_MACHINE"-axis-linux-"$LIBC" | |
951 | 947 | exit ;; |
952 | 948 | e2k:Linux:*:*) |
953 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
949 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
954 | 950 | exit ;; |
955 | 951 | frv:Linux:*:*) |
956 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
952 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
957 | 953 | exit ;; |
958 | 954 | hexagon:Linux:*:*) |
959 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
955 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
960 | 956 | exit ;; |
961 | 957 | i*86:Linux:*:*) |
962 | echo ${UNAME_MACHINE}-pc-linux-${LIBC} | |
958 | echo "$UNAME_MACHINE"-pc-linux-"$LIBC" | |
963 | 959 | exit ;; |
964 | 960 | ia64:Linux:*:*) |
965 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
961 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
962 | exit ;; | |
963 | k1om:Linux:*:*) | |
964 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
966 | 965 | exit ;; |
967 | 966 | m32r*:Linux:*:*) |
968 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
967 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
969 | 968 | exit ;; |
970 | 969 | m68*:Linux:*:*) |
971 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
970 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
972 | 971 | exit ;; |
973 | 972 | mips:Linux:*:* | mips64:Linux:*:*) |
974 | eval $set_cc_for_build | |
975 | sed 's/^ //' << EOF >$dummy.c | |
973 | eval "$set_cc_for_build" | |
974 | sed 's/^ //' << EOF > "$dummy.c" | |
976 | 975 | #undef CPU |
977 | 976 | #undef ${UNAME_MACHINE} |
978 | 977 | #undef ${UNAME_MACHINE}el |
986 | 985 | #endif |
987 | 986 | #endif |
988 | 987 | EOF |
989 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` | |
990 | test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } | |
988 | eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" | |
989 | test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } | |
991 | 990 | ;; |
991 | mips64el:Linux:*:*) | |
992 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
993 | exit ;; | |
992 | 994 | openrisc*:Linux:*:*) |
993 | echo or1k-unknown-linux-${LIBC} | |
995 | echo or1k-unknown-linux-"$LIBC" | |
994 | 996 | exit ;; |
995 | 997 | or32:Linux:*:* | or1k*:Linux:*:*) |
996 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
998 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
997 | 999 | exit ;; |
998 | 1000 | padre:Linux:*:*) |
999 | echo sparc-unknown-linux-${LIBC} | |
1001 | echo sparc-unknown-linux-"$LIBC" | |
1000 | 1002 | exit ;; |
1001 | 1003 | parisc64:Linux:*:* | hppa64:Linux:*:*) |
1002 | echo hppa64-unknown-linux-${LIBC} | |
1004 | echo hppa64-unknown-linux-"$LIBC" | |
1003 | 1005 | exit ;; |
1004 | 1006 | parisc:Linux:*:* | hppa:Linux:*:*) |
1005 | 1007 | # Look for CPU level |
1006 | 1008 | case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in |
1007 | PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; | |
1008 | PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; | |
1009 | *) echo hppa-unknown-linux-${LIBC} ;; | |
1009 | PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; | |
1010 | PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; | |
1011 | *) echo hppa-unknown-linux-"$LIBC" ;; | |
1010 | 1012 | esac |
1011 | 1013 | exit ;; |
1012 | 1014 | ppc64:Linux:*:*) |
1013 | echo powerpc64-unknown-linux-${LIBC} | |
1015 | echo powerpc64-unknown-linux-"$LIBC" | |
1014 | 1016 | exit ;; |
1015 | 1017 | ppc:Linux:*:*) |
1016 | echo powerpc-unknown-linux-${LIBC} | |
1018 | echo powerpc-unknown-linux-"$LIBC" | |
1017 | 1019 | exit ;; |
1018 | 1020 | ppc64le:Linux:*:*) |
1019 | echo powerpc64le-unknown-linux-${LIBC} | |
1021 | echo powerpc64le-unknown-linux-"$LIBC" | |
1020 | 1022 | exit ;; |
1021 | 1023 | ppcle:Linux:*:*) |
1022 | echo powerpcle-unknown-linux-${LIBC} | |
1024 | echo powerpcle-unknown-linux-"$LIBC" | |
1025 | exit ;; | |
1026 | riscv32:Linux:*:* | riscv64:Linux:*:*) | |
1027 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
1023 | 1028 | exit ;; |
1024 | 1029 | s390:Linux:*:* | s390x:Linux:*:*) |
1025 | echo ${UNAME_MACHINE}-ibm-linux-${LIBC} | |
1030 | echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" | |
1026 | 1031 | exit ;; |
1027 | 1032 | sh64*:Linux:*:*) |
1028 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
1033 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
1029 | 1034 | exit ;; |
1030 | 1035 | sh*:Linux:*:*) |
1031 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
1036 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
1032 | 1037 | exit ;; |
1033 | 1038 | sparc:Linux:*:* | sparc64:Linux:*:*) |
1034 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
1039 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
1035 | 1040 | exit ;; |
1036 | 1041 | tile*:Linux:*:*) |
1037 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
1042 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
1038 | 1043 | exit ;; |
1039 | 1044 | vax:Linux:*:*) |
1040 | echo ${UNAME_MACHINE}-dec-linux-${LIBC} | |
1045 | echo "$UNAME_MACHINE"-dec-linux-"$LIBC" | |
1041 | 1046 | exit ;; |
1042 | 1047 | x86_64:Linux:*:*) |
1043 | echo ${UNAME_MACHINE}-pc-linux-${LIBC} | |
1048 | if objdump -f /bin/sh | grep -q elf32-x86-64; then | |
1049 | echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32 | |
1050 | else | |
1051 | echo "$UNAME_MACHINE"-pc-linux-"$LIBC" | |
1052 | fi | |
1044 | 1053 | exit ;; |
1045 | 1054 | xtensa*:Linux:*:*) |
1046 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
1055 | echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" | |
1047 | 1056 | exit ;; |
1048 | 1057 | i*86:DYNIX/ptx:4*:*) |
1049 | 1058 | # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. |
1057 | 1066 | # I am not positive that other SVR4 systems won't match this, |
1058 | 1067 | # I just have to hope. -- rms. |
1059 | 1068 | # Use sysv4.2uw... so that sysv4* matches it. |
1060 | echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} | |
1069 | echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" | |
1061 | 1070 | exit ;; |
1062 | 1071 | i*86:OS/2:*:*) |
1063 | 1072 | # If we were able to find `uname', then EMX Unix compatibility |
1064 | 1073 | # is probably installed. |
1065 | echo ${UNAME_MACHINE}-pc-os2-emx | |
1074 | echo "$UNAME_MACHINE"-pc-os2-emx | |
1066 | 1075 | exit ;; |
1067 | 1076 | i*86:XTS-300:*:STOP) |
1068 | echo ${UNAME_MACHINE}-unknown-stop | |
1077 | echo "$UNAME_MACHINE"-unknown-stop | |
1069 | 1078 | exit ;; |
1070 | 1079 | i*86:atheos:*:*) |
1071 | echo ${UNAME_MACHINE}-unknown-atheos | |
1080 | echo "$UNAME_MACHINE"-unknown-atheos | |
1072 | 1081 | exit ;; |
1073 | 1082 | i*86:syllable:*:*) |
1074 | echo ${UNAME_MACHINE}-pc-syllable | |
1083 | echo "$UNAME_MACHINE"-pc-syllable | |
1075 | 1084 | exit ;; |
1076 | 1085 | i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) |
1077 | echo i386-unknown-lynxos${UNAME_RELEASE} | |
1086 | echo i386-unknown-lynxos"$UNAME_RELEASE" | |
1078 | 1087 | exit ;; |
1079 | 1088 | i*86:*DOS:*:*) |
1080 | echo ${UNAME_MACHINE}-pc-msdosdjgpp | |
1081 | exit ;; | |
1082 | i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) | |
1083 | UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` | |
1089 | echo "$UNAME_MACHINE"-pc-msdosdjgpp | |
1090 | exit ;; | |
1091 | i*86:*:4.*:*) | |
1092 | UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` | |
1084 | 1093 | if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then |
1085 | echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} | |
1094 | echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" | |
1086 | 1095 | else |
1087 | echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} | |
1096 | echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" | |
1088 | 1097 | fi |
1089 | 1098 | exit ;; |
1090 | 1099 | i*86:*:5:[678]*) |
1094 | 1103 | *Pentium) UNAME_MACHINE=i586 ;; |
1095 | 1104 | *Pent*|*Celeron) UNAME_MACHINE=i686 ;; |
1096 | 1105 | esac |
1097 | echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} | |
1106 | echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" | |
1098 | 1107 | exit ;; |
1099 | 1108 | i*86:*:3.2:*) |
1100 | 1109 | if test -f /usr/options/cb.name; then |
1101 | 1110 | UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` |
1102 | echo ${UNAME_MACHINE}-pc-isc$UNAME_REL | |
1111 | echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL" | |
1103 | 1112 | elif /bin/uname -X 2>/dev/null >/dev/null ; then |
1104 | 1113 | UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` |
1105 | 1114 | (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 |
1109 | 1118 | && UNAME_MACHINE=i686 |
1110 | 1119 | (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ |
1111 | 1120 | && UNAME_MACHINE=i686 |
1112 | echo ${UNAME_MACHINE}-pc-sco$UNAME_REL | |
1121 | echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" | |
1113 | 1122 | else |
1114 | echo ${UNAME_MACHINE}-pc-sysv32 | |
1123 | echo "$UNAME_MACHINE"-pc-sysv32 | |
1115 | 1124 | fi |
1116 | 1125 | exit ;; |
1117 | 1126 | pc:*:*:*) |
1119 | 1128 | # uname -m prints for DJGPP always 'pc', but it prints nothing about |
1120 | 1129 | # the processor, so we play safe by assuming i586. |
1121 | 1130 | # Note: whatever this is, it MUST be the same as what config.sub |
1122 | # prints for the "djgpp" host, or else GDB configury will decide that | |
1131 | # prints for the "djgpp" host, or else GDB configure will decide that | |
1123 | 1132 | # this is a cross-build. |
1124 | 1133 | echo i586-pc-msdosdjgpp |
1125 | 1134 | exit ;; |
1131 | 1140 | exit ;; |
1132 | 1141 | i860:*:4.*:*) # i860-SVR4 |
1133 | 1142 | if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then |
1134 | echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 | |
1143 | echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 | |
1135 | 1144 | else # Add other i860-SVR4 vendors below as they are discovered. |
1136 | echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 | |
1145 | echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 | |
1137 | 1146 | fi |
1138 | 1147 | exit ;; |
1139 | 1148 | mini*:CTIX:SYS*5:*) |
1153 | 1162 | test -r /etc/.relid \ |
1154 | 1163 | && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` |
1155 | 1164 | /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ |
1156 | && { echo i486-ncr-sysv4.3${OS_REL}; exit; } | |
1165 | && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } | |
1157 | 1166 | /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ |
1158 | && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; | |
1167 | && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; | |
1159 | 1168 | 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) |
1160 | 1169 | /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ |
1161 | 1170 | && { echo i486-ncr-sysv4; exit; } ;; |
1164 | 1173 | test -r /etc/.relid \ |
1165 | 1174 | && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` |
1166 | 1175 | /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ |
1167 | && { echo i486-ncr-sysv4.3${OS_REL}; exit; } | |
1176 | && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } | |
1168 | 1177 | /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ |
1169 | && { echo i586-ncr-sysv4.3${OS_REL}; exit; } | |
1178 | && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } | |
1170 | 1179 | /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ |
1171 | && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; | |
1180 | && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; | |
1172 | 1181 | m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) |
1173 | echo m68k-unknown-lynxos${UNAME_RELEASE} | |
1182 | echo m68k-unknown-lynxos"$UNAME_RELEASE" | |
1174 | 1183 | exit ;; |
1175 | 1184 | mc68030:UNIX_System_V:4.*:*) |
1176 | 1185 | echo m68k-atari-sysv4 |
1177 | 1186 | exit ;; |
1178 | 1187 | TSUNAMI:LynxOS:2.*:*) |
1179 | echo sparc-unknown-lynxos${UNAME_RELEASE} | |
1188 | echo sparc-unknown-lynxos"$UNAME_RELEASE" | |
1180 | 1189 | exit ;; |
1181 | 1190 | rs6000:LynxOS:2.*:*) |
1182 | echo rs6000-unknown-lynxos${UNAME_RELEASE} | |
1191 | echo rs6000-unknown-lynxos"$UNAME_RELEASE" | |
1183 | 1192 | exit ;; |
1184 | 1193 | PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) |
1185 | echo powerpc-unknown-lynxos${UNAME_RELEASE} | |
1194 | echo powerpc-unknown-lynxos"$UNAME_RELEASE" | |
1186 | 1195 | exit ;; |
1187 | 1196 | SM[BE]S:UNIX_SV:*:*) |
1188 | echo mips-dde-sysv${UNAME_RELEASE} | |
1197 | echo mips-dde-sysv"$UNAME_RELEASE" | |
1189 | 1198 | exit ;; |
1190 | 1199 | RM*:ReliantUNIX-*:*:*) |
1191 | 1200 | echo mips-sni-sysv4 |
1196 | 1205 | *:SINIX-*:*:*) |
1197 | 1206 | if uname -p 2>/dev/null >/dev/null ; then |
1198 | 1207 | UNAME_MACHINE=`(uname -p) 2>/dev/null` |
1199 | echo ${UNAME_MACHINE}-sni-sysv4 | |
1208 | echo "$UNAME_MACHINE"-sni-sysv4 | |
1200 | 1209 | else |
1201 | 1210 | echo ns32k-sni-sysv |
1202 | 1211 | fi |
1216 | 1225 | exit ;; |
1217 | 1226 | i*86:VOS:*:*) |
1218 | 1227 | # From Paul.Green@stratus.com. |
1219 | echo ${UNAME_MACHINE}-stratus-vos | |
1228 | echo "$UNAME_MACHINE"-stratus-vos | |
1220 | 1229 | exit ;; |
1221 | 1230 | *:VOS:*:*) |
1222 | 1231 | # From Paul.Green@stratus.com. |
1223 | 1232 | echo hppa1.1-stratus-vos |
1224 | 1233 | exit ;; |
1225 | 1234 | mc68*:A/UX:*:*) |
1226 | echo m68k-apple-aux${UNAME_RELEASE} | |
1235 | echo m68k-apple-aux"$UNAME_RELEASE" | |
1227 | 1236 | exit ;; |
1228 | 1237 | news*:NEWS-OS:6*:*) |
1229 | 1238 | echo mips-sony-newsos6 |
1230 | 1239 | exit ;; |
1231 | 1240 | R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) |
1232 | 1241 | if [ -d /usr/nec ]; then |
1233 | echo mips-nec-sysv${UNAME_RELEASE} | |
1242 | echo mips-nec-sysv"$UNAME_RELEASE" | |
1234 | 1243 | else |
1235 | echo mips-unknown-sysv${UNAME_RELEASE} | |
1244 | echo mips-unknown-sysv"$UNAME_RELEASE" | |
1236 | 1245 | fi |
1237 | 1246 | exit ;; |
1238 | 1247 | BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. |
1251 | 1260 | echo x86_64-unknown-haiku |
1252 | 1261 | exit ;; |
1253 | 1262 | SX-4:SUPER-UX:*:*) |
1254 | echo sx4-nec-superux${UNAME_RELEASE} | |
1263 | echo sx4-nec-superux"$UNAME_RELEASE" | |
1255 | 1264 | exit ;; |
1256 | 1265 | SX-5:SUPER-UX:*:*) |
1257 | echo sx5-nec-superux${UNAME_RELEASE} | |
1266 | echo sx5-nec-superux"$UNAME_RELEASE" | |
1258 | 1267 | exit ;; |
1259 | 1268 | SX-6:SUPER-UX:*:*) |
1260 | echo sx6-nec-superux${UNAME_RELEASE} | |
1269 | echo sx6-nec-superux"$UNAME_RELEASE" | |
1261 | 1270 | exit ;; |
1262 | 1271 | SX-7:SUPER-UX:*:*) |
1263 | echo sx7-nec-superux${UNAME_RELEASE} | |
1272 | echo sx7-nec-superux"$UNAME_RELEASE" | |
1264 | 1273 | exit ;; |
1265 | 1274 | SX-8:SUPER-UX:*:*) |
1266 | echo sx8-nec-superux${UNAME_RELEASE} | |
1275 | echo sx8-nec-superux"$UNAME_RELEASE" | |
1267 | 1276 | exit ;; |
1268 | 1277 | SX-8R:SUPER-UX:*:*) |
1269 | echo sx8r-nec-superux${UNAME_RELEASE} | |
1278 | echo sx8r-nec-superux"$UNAME_RELEASE" | |
1279 | exit ;; | |
1280 | SX-ACE:SUPER-UX:*:*) | |
1281 | echo sxace-nec-superux"$UNAME_RELEASE" | |
1270 | 1282 | exit ;; |
1271 | 1283 | Power*:Rhapsody:*:*) |
1272 | echo powerpc-apple-rhapsody${UNAME_RELEASE} | |
1284 | echo powerpc-apple-rhapsody"$UNAME_RELEASE" | |
1273 | 1285 | exit ;; |
1274 | 1286 | *:Rhapsody:*:*) |
1275 | echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} | |
1287 | echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" | |
1276 | 1288 | exit ;; |
1277 | 1289 | *:Darwin:*:*) |
1278 | 1290 | UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown |
1279 | eval $set_cc_for_build | |
1291 | eval "$set_cc_for_build" | |
1280 | 1292 | if test "$UNAME_PROCESSOR" = unknown ; then |
1281 | 1293 | UNAME_PROCESSOR=powerpc |
1282 | 1294 | fi |
1283 | if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then | |
1284 | if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then | |
1295 | if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then | |
1296 | if [ "$CC_FOR_BUILD" != no_compiler_found ]; then | |
1285 | 1297 | if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ |
1286 | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ | |
1287 | grep IS_64BIT_ARCH >/dev/null | |
1298 | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ | |
1299 | grep IS_64BIT_ARCH >/dev/null | |
1288 | 1300 | then |
1289 | 1301 | case $UNAME_PROCESSOR in |
1290 | 1302 | i386) UNAME_PROCESSOR=x86_64 ;; |
1291 | 1303 | powerpc) UNAME_PROCESSOR=powerpc64 ;; |
1292 | 1304 | esac |
1305 | fi | |
1306 | # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc | |
1307 | if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ | |
1308 | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ | |
1309 | grep IS_PPC >/dev/null | |
1310 | then | |
1311 | UNAME_PROCESSOR=powerpc | |
1293 | 1312 | fi |
1294 | 1313 | fi |
1295 | 1314 | elif test "$UNAME_PROCESSOR" = i386 ; then |
1301 | 1320 | # that Apple uses in portable devices. |
1302 | 1321 | UNAME_PROCESSOR=x86_64 |
1303 | 1322 | fi |
1304 | echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} | |
1323 | echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" | |
1305 | 1324 | exit ;; |
1306 | 1325 | *:procnto*:*:* | *:QNX:[0123456789]*:*) |
1307 | 1326 | UNAME_PROCESSOR=`uname -p` |
1308 | if test "$UNAME_PROCESSOR" = "x86"; then | |
1327 | if test "$UNAME_PROCESSOR" = x86; then | |
1309 | 1328 | UNAME_PROCESSOR=i386 |
1310 | 1329 | UNAME_MACHINE=pc |
1311 | 1330 | fi |
1312 | echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} | |
1331 | echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" | |
1313 | 1332 | exit ;; |
1314 | 1333 | *:QNX:*:4*) |
1315 | 1334 | echo i386-pc-qnx |
1316 | 1335 | exit ;; |
1317 | NEO-?:NONSTOP_KERNEL:*:*) | |
1318 | echo neo-tandem-nsk${UNAME_RELEASE} | |
1336 | NEO-*:NONSTOP_KERNEL:*:*) | |
1337 | echo neo-tandem-nsk"$UNAME_RELEASE" | |
1319 | 1338 | exit ;; |
1320 | 1339 | NSE-*:NONSTOP_KERNEL:*:*) |
1321 | echo nse-tandem-nsk${UNAME_RELEASE} | |
1322 | exit ;; | |
1323 | NSR-?:NONSTOP_KERNEL:*:*) | |
1324 | echo nsr-tandem-nsk${UNAME_RELEASE} | |
1340 | echo nse-tandem-nsk"$UNAME_RELEASE" | |
1341 | exit ;; | |
1342 | NSR-*:NONSTOP_KERNEL:*:*) | |
1343 | echo nsr-tandem-nsk"$UNAME_RELEASE" | |
1344 | exit ;; | |
1345 | NSV-*:NONSTOP_KERNEL:*:*) | |
1346 | echo nsv-tandem-nsk"$UNAME_RELEASE" | |
1347 | exit ;; | |
1348 | NSX-*:NONSTOP_KERNEL:*:*) | |
1349 | echo nsx-tandem-nsk"$UNAME_RELEASE" | |
1325 | 1350 | exit ;; |
1326 | 1351 | *:NonStop-UX:*:*) |
1327 | 1352 | echo mips-compaq-nonstopux |
1330 | 1355 | echo bs2000-siemens-sysv |
1331 | 1356 | exit ;; |
1332 | 1357 | DS/*:UNIX_System_V:*:*) |
1333 | echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} | |
1358 | echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" | |
1334 | 1359 | exit ;; |
1335 | 1360 | *:Plan9:*:*) |
1336 | 1361 | # "uname -m" is not consistent, so use $cputype instead. 386 |
1337 | 1362 | # is converted to i386 for consistency with other x86 |
1338 | 1363 | # operating systems. |
1339 | if test "$cputype" = "386"; then | |
1364 | if test "$cputype" = 386; then | |
1340 | 1365 | UNAME_MACHINE=i386 |
1341 | 1366 | else |
1342 | 1367 | UNAME_MACHINE="$cputype" |
1343 | 1368 | fi |
1344 | echo ${UNAME_MACHINE}-unknown-plan9 | |
1369 | echo "$UNAME_MACHINE"-unknown-plan9 | |
1345 | 1370 | exit ;; |
1346 | 1371 | *:TOPS-10:*:*) |
1347 | 1372 | echo pdp10-unknown-tops10 |
1362 | 1387 | echo pdp10-unknown-its |
1363 | 1388 | exit ;; |
1364 | 1389 | SEI:*:*:SEIUX) |
1365 | echo mips-sei-seiux${UNAME_RELEASE} | |
1390 | echo mips-sei-seiux"$UNAME_RELEASE" | |
1366 | 1391 | exit ;; |
1367 | 1392 | *:DragonFly:*:*) |
1368 | echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` | |
1393 | echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" | |
1369 | 1394 | exit ;; |
1370 | 1395 | *:*VMS:*:*) |
1371 | 1396 | UNAME_MACHINE=`(uname -p) 2>/dev/null` |
1372 | case "${UNAME_MACHINE}" in | |
1397 | case "$UNAME_MACHINE" in | |
1373 | 1398 | A*) echo alpha-dec-vms ; exit ;; |
1374 | 1399 | I*) echo ia64-dec-vms ; exit ;; |
1375 | 1400 | V*) echo vax-dec-vms ; exit ;; |
1378 | 1403 | echo i386-pc-xenix |
1379 | 1404 | exit ;; |
1380 | 1405 | i*86:skyos:*:*) |
1381 | echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' | |
1406 | echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" | |
1382 | 1407 | exit ;; |
1383 | 1408 | i*86:rdos:*:*) |
1384 | echo ${UNAME_MACHINE}-pc-rdos | |
1409 | echo "$UNAME_MACHINE"-pc-rdos | |
1385 | 1410 | exit ;; |
1386 | 1411 | i*86:AROS:*:*) |
1387 | echo ${UNAME_MACHINE}-pc-aros | |
1412 | echo "$UNAME_MACHINE"-pc-aros | |
1388 | 1413 | exit ;; |
1389 | 1414 | x86_64:VMkernel:*:*) |
1390 | echo ${UNAME_MACHINE}-unknown-esx | |
1415 | echo "$UNAME_MACHINE"-unknown-esx | |
1416 | exit ;; | |
1417 | amd64:Isilon\ OneFS:*:*) | |
1418 | echo x86_64-unknown-onefs | |
1391 | 1419 | exit ;; |
1392 | 1420 | esac |
1393 | 1421 | |
1422 | echo "$0: unable to guess system type" >&2 | |
1423 | ||
1424 | case "$UNAME_MACHINE:$UNAME_SYSTEM" in | |
1425 | mips:Linux | mips64:Linux) | |
1426 | # If we got here on MIPS GNU/Linux, output extra information. | |
1427 | cat >&2 <<EOF | |
1428 | ||
1429 | NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize | |
1430 | the system type. Please install a C compiler and try again. | |
1431 | EOF | |
1432 | ;; | |
1433 | esac | |
1434 | ||
1394 | 1435 | cat >&2 <<EOF |
1395 | $0: unable to guess system type | |
1396 | ||
1397 | This script, last modified $timestamp, has failed to recognize | |
1398 | the operating system you are using. It is advised that you | |
1399 | download the most up to date version of the config scripts from | |
1400 | ||
1401 | http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD | |
1436 | ||
1437 | This script (version $timestamp), has failed to recognize the | |
1438 | operating system you are using. If your script is old, overwrite *all* | |
1439 | copies of config.guess and config.sub with the latest versions from: | |
1440 | ||
1441 | https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess | |
1402 | 1442 | and |
1403 | http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD | |
1404 | ||
1405 | If the version you run ($0) is already up to date, please | |
1406 | send the following data and any information you think might be | |
1407 | pertinent to <config-patches@gnu.org> in order to provide the needed | |
1408 | information to handle your system. | |
1443 | https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub | |
1444 | ||
1445 | If $0 has already been updated, send the following data and any | |
1446 | information you think might be pertinent to config-patches@gnu.org to | |
1447 | provide the necessary information to handle your system. | |
1409 | 1448 | |
1410 | 1449 | config.guess timestamp = $timestamp |
1411 | 1450 | |
1424 | 1463 | /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` |
1425 | 1464 | /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` |
1426 | 1465 | |
1427 | UNAME_MACHINE = ${UNAME_MACHINE} | |
1428 | UNAME_RELEASE = ${UNAME_RELEASE} | |
1429 | UNAME_SYSTEM = ${UNAME_SYSTEM} | |
1430 | UNAME_VERSION = ${UNAME_VERSION} | |
1466 | UNAME_MACHINE = "$UNAME_MACHINE" | |
1467 | UNAME_RELEASE = "$UNAME_RELEASE" | |
1468 | UNAME_SYSTEM = "$UNAME_SYSTEM" | |
1469 | UNAME_VERSION = "$UNAME_VERSION" | |
1431 | 1470 | EOF |
1432 | 1471 | |
1433 | 1472 | exit 1 |
1434 | 1473 | |
1435 | 1474 | # Local variables: |
1436 | # eval: (add-hook 'write-file-hooks 'time-stamp) | |
1475 | # eval: (add-hook 'write-file-functions 'time-stamp) | |
1437 | 1476 | # time-stamp-start: "timestamp='" |
1438 | 1477 | # time-stamp-format: "%:y-%02m-%02d" |
1439 | 1478 | # time-stamp-end: "'" |
0 | 0 | #! /bin/sh |
1 | 1 | # Configuration validation subroutine script. |
2 | # Copyright 1992-2015 Free Software Foundation, Inc. | |
3 | ||
4 | timestamp='2015-08-20' | |
2 | # Copyright 1992-2018 Free Software Foundation, Inc. | |
3 | ||
4 | timestamp='2018-02-22' | |
5 | 5 | |
6 | 6 | # This file is free software; you can redistribute it and/or modify it |
7 | 7 | # under the terms of the GNU General Public License as published by |
14 | 14 | # General Public License for more details. |
15 | 15 | # |
16 | 16 | # You should have received a copy of the GNU General Public License |
17 | # along with this program; if not, see <http://www.gnu.org/licenses/>. | |
17 | # along with this program; if not, see <https://www.gnu.org/licenses/>. | |
18 | 18 | # |
19 | 19 | # As a special exception to the GNU General Public License, if you |
20 | 20 | # distribute this file as part of a program that contains a |
32 | 32 | # Otherwise, we print the canonical config type on stdout and succeed. |
33 | 33 | |
34 | 34 | # You can get the latest version of this script from: |
35 | # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD | |
35 | # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub | |
36 | 36 | |
37 | 37 | # This file is supposed to be the same for all GNU packages |
38 | 38 | # and recognize all the CPU types, system types and aliases |
52 | 52 | me=`echo "$0" | sed -e 's,.*/,,'` |
53 | 53 | |
54 | 54 | usage="\ |
55 | Usage: $0 [OPTION] CPU-MFR-OPSYS | |
56 | $0 [OPTION] ALIAS | |
55 | Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS | |
57 | 56 | |
58 | 57 | Canonicalize a configuration name. |
59 | 58 | |
60 | Operation modes: | |
59 | Options: | |
61 | 60 | -h, --help print this help, then exit |
62 | 61 | -t, --time-stamp print date of last modification, then exit |
63 | 62 | -v, --version print version number, then exit |
67 | 66 | version="\ |
68 | 67 | GNU config.sub ($timestamp) |
69 | 68 | |
70 | Copyright 1992-2015 Free Software Foundation, Inc. | |
69 | Copyright 1992-2018 Free Software Foundation, Inc. | |
71 | 70 | |
72 | 71 | This is free software; see the source for copying conditions. There is NO |
73 | 72 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
94 | 93 | |
95 | 94 | *local*) |
96 | 95 | # First pass through any local machine types. |
97 | echo $1 | |
96 | echo "$1" | |
98 | 97 | exit ;; |
99 | 98 | |
100 | 99 | * ) |
112 | 111 | |
113 | 112 | # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). |
114 | 113 | # Here we must recognize all the valid KERNEL-OS combinations. |
115 | maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` | |
114 | maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` | |
116 | 115 | case $maybe_os in |
117 | 116 | nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ |
118 | 117 | linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ |
119 | 118 | knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ |
120 | kopensolaris*-gnu* | \ | |
119 | kopensolaris*-gnu* | cloudabi*-eabi* | \ | |
121 | 120 | storm-chaos* | os2-emx* | rtmk-nova*) |
122 | 121 | os=-$maybe_os |
123 | basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` | |
122 | basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` | |
124 | 123 | ;; |
125 | 124 | android-linux) |
126 | 125 | os=-linux-android |
127 | basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown | |
126 | basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown | |
128 | 127 | ;; |
129 | 128 | *) |
130 | basic_machine=`echo $1 | sed 's/-[^-]*$//'` | |
131 | if [ $basic_machine != $1 ] | |
132 | then os=`echo $1 | sed 's/.*-/-/'` | |
129 | basic_machine=`echo "$1" | sed 's/-[^-]*$//'` | |
130 | if [ "$basic_machine" != "$1" ] | |
131 | then os=`echo "$1" | sed 's/.*-/-/'` | |
133 | 132 | else os=; fi |
134 | 133 | ;; |
135 | 134 | esac |
178 | 177 | ;; |
179 | 178 | -sco6) |
180 | 179 | os=-sco5v6 |
181 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
180 | basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` | |
182 | 181 | ;; |
183 | 182 | -sco5) |
184 | 183 | os=-sco3.2v5 |
185 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
184 | basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` | |
186 | 185 | ;; |
187 | 186 | -sco4) |
188 | 187 | os=-sco3.2v4 |
189 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
188 | basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` | |
190 | 189 | ;; |
191 | 190 | -sco3.2.[4-9]*) |
192 | 191 | os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` |
193 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
192 | basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` | |
194 | 193 | ;; |
195 | 194 | -sco3.2v[4-9]*) |
196 | 195 | # Don't forget version if it is 3.2v4 or newer. |
197 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
196 | basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` | |
198 | 197 | ;; |
199 | 198 | -sco5v6*) |
200 | 199 | # Don't forget version if it is 3.2v4 or newer. |
201 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
200 | basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` | |
202 | 201 | ;; |
203 | 202 | -sco*) |
204 | 203 | os=-sco3.2v2 |
205 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
204 | basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` | |
206 | 205 | ;; |
207 | 206 | -udk*) |
208 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
207 | basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` | |
209 | 208 | ;; |
210 | 209 | -isc) |
211 | 210 | os=-isc2.2 |
212 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
211 | basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` | |
213 | 212 | ;; |
214 | 213 | -clix*) |
215 | 214 | basic_machine=clipper-intergraph |
216 | 215 | ;; |
217 | 216 | -isc*) |
218 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
217 | basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` | |
219 | 218 | ;; |
220 | 219 | -lynx*178) |
221 | 220 | os=-lynxos178 |
227 | 226 | os=-lynxos |
228 | 227 | ;; |
229 | 228 | -ptx*) |
230 | basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` | |
231 | ;; | |
232 | -windowsnt*) | |
233 | os=`echo $os | sed -e 's/windowsnt/winnt/'` | |
229 | basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` | |
234 | 230 | ;; |
235 | 231 | -psos*) |
236 | 232 | os=-psos |
263 | 259 | | fido | fr30 | frv | ft32 \ |
264 | 260 | | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ |
265 | 261 | | hexagon \ |
266 | | i370 | i860 | i960 | ia64 \ | |
262 | | i370 | i860 | i960 | ia16 | ia64 \ | |
267 | 263 | | ip2k | iq2000 \ |
268 | 264 | | k1om \ |
269 | 265 | | le32 | le64 \ |
299 | 295 | | nios | nios2 | nios2eb | nios2el \ |
300 | 296 | | ns16k | ns32k \ |
301 | 297 | | open8 | or1k | or1knd | or32 \ |
302 | | pdp10 | pdp11 | pj | pjl \ | |
298 | | pdp10 | pj | pjl \ | |
303 | 299 | | powerpc | powerpc64 | powerpc64le | powerpcle \ |
300 | | pru \ | |
304 | 301 | | pyramid \ |
305 | 302 | | riscv32 | riscv64 \ |
306 | 303 | | rl78 | rx \ |
314 | 311 | | ubicom32 \ |
315 | 312 | | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ |
316 | 313 | | visium \ |
317 | | we32k \ | |
314 | | wasm32 \ | |
318 | 315 | | x86 | xc16x | xstormy16 | xtensa \ |
319 | 316 | | z8k | z80) |
320 | 317 | basic_machine=$basic_machine-unknown |
335 | 332 | basic_machine=$basic_machine-unknown |
336 | 333 | os=-none |
337 | 334 | ;; |
338 | m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) | |
335 | m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) | |
339 | 336 | ;; |
340 | 337 | ms1) |
341 | 338 | basic_machine=mt-unknown |
364 | 361 | ;; |
365 | 362 | # Object if more than one company name word. |
366 | 363 | *-*-*) |
367 | echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 | |
364 | echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 | |
368 | 365 | exit 1 |
369 | 366 | ;; |
370 | 367 | # Recognize the basic CPU types with company name. |
387 | 384 | | h8300-* | h8500-* \ |
388 | 385 | | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ |
389 | 386 | | hexagon-* \ |
390 | | i*86-* | i860-* | i960-* | ia64-* \ | |
387 | | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ | |
391 | 388 | | ip2k-* | iq2000-* \ |
392 | 389 | | k1om-* \ |
393 | 390 | | le32-* | le64-* \ |
428 | 425 | | orion-* \ |
429 | 426 | | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ |
430 | 427 | | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ |
428 | | pru-* \ | |
431 | 429 | | pyramid-* \ |
432 | 430 | | riscv32-* | riscv64-* \ |
433 | 431 | | rl78-* | romp-* | rs6000-* | rx-* \ |
444 | 442 | | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ |
445 | 443 | | vax-* \ |
446 | 444 | | visium-* \ |
445 | | wasm32-* \ | |
447 | 446 | | we32k-* \ |
448 | 447 | | x86-* | x86_64-* | xc16x-* | xps100-* \ |
449 | 448 | | xstormy16-* | xtensa*-* \ |
457 | 456 | # Recognize the various machine names and aliases which stand |
458 | 457 | # for a CPU type and a company and sometimes even an OS. |
459 | 458 | 386bsd) |
460 | basic_machine=i386-unknown | |
459 | basic_machine=i386-pc | |
461 | 460 | os=-bsd |
462 | 461 | ;; |
463 | 462 | 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) |
491 | 490 | basic_machine=x86_64-pc |
492 | 491 | ;; |
493 | 492 | amd64-*) |
494 | basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` | |
493 | basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
495 | 494 | ;; |
496 | 495 | amdahl) |
497 | 496 | basic_machine=580-amdahl |
520 | 519 | basic_machine=i386-pc |
521 | 520 | os=-aros |
522 | 521 | ;; |
523 | asmjs) | |
522 | asmjs) | |
524 | 523 | basic_machine=asmjs-unknown |
525 | 524 | ;; |
526 | 525 | aux) |
536 | 535 | os=-linux |
537 | 536 | ;; |
538 | 537 | blackfin-*) |
539 | basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` | |
538 | basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
540 | 539 | os=-linux |
541 | 540 | ;; |
542 | 541 | bluegene*) |
544 | 543 | os=-cnk |
545 | 544 | ;; |
546 | 545 | c54x-*) |
547 | basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` | |
546 | basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
548 | 547 | ;; |
549 | 548 | c55x-*) |
550 | basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` | |
549 | basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
551 | 550 | ;; |
552 | 551 | c6x-*) |
553 | basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` | |
552 | basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
554 | 553 | ;; |
555 | 554 | c90) |
556 | 555 | basic_machine=c90-cray |
639 | 638 | basic_machine=rs6000-bull |
640 | 639 | os=-bosx |
641 | 640 | ;; |
642 | dpx2* | dpx2*-bull) | |
641 | dpx2*) | |
643 | 642 | basic_machine=m68k-bull |
644 | 643 | os=-sysv3 |
644 | ;; | |
645 | e500v[12]) | |
646 | basic_machine=powerpc-unknown | |
647 | os=$os"spe" | |
648 | ;; | |
649 | e500v[12]-*) | |
650 | basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
651 | os=$os"spe" | |
645 | 652 | ;; |
646 | 653 | ebmon29k) |
647 | 654 | basic_machine=a29k-amd |
732 | 739 | hp9k8[0-9][0-9] | hp8[0-9][0-9]) |
733 | 740 | basic_machine=hppa1.0-hp |
734 | 741 | ;; |
735 | hppa-next) | |
736 | os=-nextstep3 | |
737 | ;; | |
738 | 742 | hppaosf) |
739 | 743 | basic_machine=hppa1.1-hp |
740 | 744 | os=-osf |
747 | 751 | basic_machine=i370-ibm |
748 | 752 | ;; |
749 | 753 | i*86v32) |
750 | basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
754 | basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` | |
751 | 755 | os=-sysv32 |
752 | 756 | ;; |
753 | 757 | i*86v4*) |
754 | basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
758 | basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` | |
755 | 759 | os=-sysv4 |
756 | 760 | ;; |
757 | 761 | i*86v) |
758 | basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
762 | basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` | |
759 | 763 | os=-sysv |
760 | 764 | ;; |
761 | 765 | i*86sol2) |
762 | basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
766 | basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` | |
763 | 767 | os=-solaris2 |
764 | 768 | ;; |
765 | 769 | i386mach) |
766 | 770 | basic_machine=i386-mach |
767 | 771 | os=-mach |
768 | 772 | ;; |
769 | i386-vsta | vsta) | |
773 | vsta) | |
770 | 774 | basic_machine=i386-unknown |
771 | 775 | os=-vsta |
772 | 776 | ;; |
785 | 789 | os=-sysv |
786 | 790 | ;; |
787 | 791 | leon-*|leon[3-9]-*) |
788 | basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` | |
792 | basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` | |
789 | 793 | ;; |
790 | 794 | m68knommu) |
791 | 795 | basic_machine=m68k-unknown |
792 | 796 | os=-linux |
793 | 797 | ;; |
794 | 798 | m68knommu-*) |
795 | basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` | |
799 | basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
796 | 800 | os=-linux |
797 | ;; | |
798 | m88k-omron*) | |
799 | basic_machine=m88k-omron | |
800 | 801 | ;; |
801 | 802 | magnum | m3230) |
802 | 803 | basic_machine=mips-mips |
829 | 830 | os=-mint |
830 | 831 | ;; |
831 | 832 | mips3*-*) |
832 | basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` | |
833 | basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` | |
833 | 834 | ;; |
834 | 835 | mips3*) |
835 | basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown | |
836 | basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown | |
836 | 837 | ;; |
837 | 838 | monitor) |
838 | 839 | basic_machine=m68k-rom68k |
851 | 852 | os=-msdos |
852 | 853 | ;; |
853 | 854 | ms1-*) |
854 | basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` | |
855 | basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` | |
855 | 856 | ;; |
856 | 857 | msys) |
857 | 858 | basic_machine=i686-pc |
893 | 894 | basic_machine=v70-nec |
894 | 895 | os=-sysv |
895 | 896 | ;; |
896 | next | m*-next ) | |
897 | next | m*-next) | |
897 | 898 | basic_machine=m68k-next |
898 | 899 | case $os in |
899 | 900 | -nextstep* ) |
938 | 939 | nsr-tandem) |
939 | 940 | basic_machine=nsr-tandem |
940 | 941 | ;; |
942 | nsv-tandem) | |
943 | basic_machine=nsv-tandem | |
944 | ;; | |
945 | nsx-tandem) | |
946 | basic_machine=nsx-tandem | |
947 | ;; | |
941 | 948 | op50n-* | op60c-*) |
942 | 949 | basic_machine=hppa1.1-oki |
943 | 950 | os=-proelf |
970 | 977 | os=-linux |
971 | 978 | ;; |
972 | 979 | parisc-*) |
973 | basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` | |
980 | basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
974 | 981 | os=-linux |
975 | 982 | ;; |
976 | 983 | pbd) |
986 | 993 | basic_machine=i386-pc |
987 | 994 | ;; |
988 | 995 | pc98-*) |
989 | basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` | |
996 | basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
990 | 997 | ;; |
991 | 998 | pentium | p5 | k5 | k6 | nexgen | viac3) |
992 | 999 | basic_machine=i586-pc |
1001 | 1008 | basic_machine=i786-pc |
1002 | 1009 | ;; |
1003 | 1010 | pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) |
1004 | basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` | |
1011 | basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
1005 | 1012 | ;; |
1006 | 1013 | pentiumpro-* | p6-* | 6x86-* | athlon-*) |
1007 | basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` | |
1014 | basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
1008 | 1015 | ;; |
1009 | 1016 | pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) |
1010 | basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` | |
1017 | basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
1011 | 1018 | ;; |
1012 | 1019 | pentium4-*) |
1013 | basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` | |
1020 | basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
1014 | 1021 | ;; |
1015 | 1022 | pn) |
1016 | 1023 | basic_machine=pn-gould |
1020 | 1027 | ppc | ppcbe) basic_machine=powerpc-unknown |
1021 | 1028 | ;; |
1022 | 1029 | ppc-* | ppcbe-*) |
1023 | basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` | |
1024 | ;; | |
1025 | ppcle | powerpclittle | ppc-le | powerpc-little) | |
1030 | basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
1031 | ;; | |
1032 | ppcle | powerpclittle) | |
1026 | 1033 | basic_machine=powerpcle-unknown |
1027 | 1034 | ;; |
1028 | 1035 | ppcle-* | powerpclittle-*) |
1029 | basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` | |
1036 | basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
1030 | 1037 | ;; |
1031 | 1038 | ppc64) basic_machine=powerpc64-unknown |
1032 | 1039 | ;; |
1033 | ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` | |
1034 | ;; | |
1035 | ppc64le | powerpc64little | ppc64-le | powerpc64-little) | |
1040 | ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
1041 | ;; | |
1042 | ppc64le | powerpc64little) | |
1036 | 1043 | basic_machine=powerpc64le-unknown |
1037 | 1044 | ;; |
1038 | 1045 | ppc64le-* | powerpc64little-*) |
1039 | basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` | |
1046 | basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
1040 | 1047 | ;; |
1041 | 1048 | ps2) |
1042 | 1049 | basic_machine=i386-ibm |
1090 | 1097 | sequent) |
1091 | 1098 | basic_machine=i386-sequent |
1092 | 1099 | ;; |
1093 | sh) | |
1094 | basic_machine=sh-hitachi | |
1095 | os=-hms | |
1096 | ;; | |
1097 | 1100 | sh5el) |
1098 | 1101 | basic_machine=sh5le-unknown |
1099 | 1102 | ;; |
1100 | sh64) | |
1101 | basic_machine=sh64-unknown | |
1102 | ;; | |
1103 | sparclite-wrs | simso-wrs) | |
1103 | simso-wrs) | |
1104 | 1104 | basic_machine=sparclite-wrs |
1105 | 1105 | os=-vxworks |
1106 | 1106 | ;; |
1119 | 1119 | os=-sysv4 |
1120 | 1120 | ;; |
1121 | 1121 | strongarm-* | thumb-*) |
1122 | basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` | |
1122 | basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` | |
1123 | 1123 | ;; |
1124 | 1124 | sun2) |
1125 | 1125 | basic_machine=m68000-sun |
1241 | 1241 | basic_machine=hppa1.1-winbond |
1242 | 1242 | os=-proelf |
1243 | 1243 | ;; |
1244 | x64) | |
1245 | basic_machine=x86_64-pc | |
1246 | ;; | |
1244 | 1247 | xbox) |
1245 | 1248 | basic_machine=i686-pc |
1246 | 1249 | os=-mingw32 |
1249 | 1252 | basic_machine=xps100-honeywell |
1250 | 1253 | ;; |
1251 | 1254 | xscale-* | xscalee[bl]-*) |
1252 | basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` | |
1255 | basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` | |
1253 | 1256 | ;; |
1254 | 1257 | ymp) |
1255 | 1258 | basic_machine=ymp-cray |
1256 | 1259 | os=-unicos |
1257 | ;; | |
1258 | z8k-*-coff) | |
1259 | basic_machine=z8k-unknown | |
1260 | os=-sim | |
1261 | ;; | |
1262 | z80-*-coff) | |
1263 | basic_machine=z80-unknown | |
1264 | os=-sim | |
1265 | 1260 | ;; |
1266 | 1261 | none) |
1267 | 1262 | basic_machine=none-none |
1291 | 1286 | vax) |
1292 | 1287 | basic_machine=vax-dec |
1293 | 1288 | ;; |
1294 | pdp10) | |
1295 | # there are many clones, so DEC is not a safe bet | |
1296 | basic_machine=pdp10-unknown | |
1297 | ;; | |
1298 | 1289 | pdp11) |
1299 | 1290 | basic_machine=pdp11-dec |
1300 | 1291 | ;; |
1304 | 1295 | sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) |
1305 | 1296 | basic_machine=sh-unknown |
1306 | 1297 | ;; |
1307 | sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) | |
1308 | basic_machine=sparc-sun | |
1309 | ;; | |
1310 | 1298 | cydra) |
1311 | 1299 | basic_machine=cydra-cydrome |
1312 | 1300 | ;; |
1326 | 1314 | # Make sure to match an already-canonicalized machine name. |
1327 | 1315 | ;; |
1328 | 1316 | *) |
1329 | echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 | |
1317 | echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 | |
1330 | 1318 | exit 1 |
1331 | 1319 | ;; |
1332 | 1320 | esac |
1334 | 1322 | # Here we canonicalize certain aliases for manufacturers. |
1335 | 1323 | case $basic_machine in |
1336 | 1324 | *-digital*) |
1337 | basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` | |
1325 | basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` | |
1338 | 1326 | ;; |
1339 | 1327 | *-commodore*) |
1340 | basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` | |
1328 | basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` | |
1341 | 1329 | ;; |
1342 | 1330 | *) |
1343 | 1331 | ;; |
1348 | 1336 | if [ x"$os" != x"" ] |
1349 | 1337 | then |
1350 | 1338 | case $os in |
1351 | # First match some system type aliases | |
1352 | # that might get confused with valid system types. | |
1339 | # First match some system type aliases that might get confused | |
1340 | # with valid system types. | |
1353 | 1341 | # -solaris* is a basic system type, with this one exception. |
1354 | 1342 | -auroraux) |
1355 | 1343 | os=-auroraux |
1360 | 1348 | -solaris) |
1361 | 1349 | os=-solaris2 |
1362 | 1350 | ;; |
1363 | -svr4*) | |
1364 | os=-sysv4 | |
1365 | ;; | |
1366 | 1351 | -unixware*) |
1367 | 1352 | os=-sysv4.2uw |
1368 | 1353 | ;; |
1369 | 1354 | -gnu/linux*) |
1370 | 1355 | os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` |
1371 | 1356 | ;; |
1372 | # First accept the basic system types. | |
1357 | # es1800 is here to avoid being matched by es* (a different OS) | |
1358 | -es1800*) | |
1359 | os=-ose | |
1360 | ;; | |
1361 | # Now accept the basic system types. | |
1373 | 1362 | # The portable systems comes first. |
1374 | # Each alternative MUST END IN A *, to match a version number. | |
1363 | # Each alternative MUST end in a * to match a version number. | |
1375 | 1364 | # -sysv* is not here because it comes later, after sysvr4. |
1376 | 1365 | -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ |
1377 | 1366 | | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ |
1381 | 1370 | | -aos* | -aros* | -cloudabi* | -sortix* \ |
1382 | 1371 | | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ |
1383 | 1372 | | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ |
1384 | | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | |
1385 | | -bitrig* | -openbsd* | -solidbsd* \ | |
1373 | | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ | |
1374 | | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | |
1386 | 1375 | | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ |
1387 | 1376 | | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ |
1388 | 1377 | | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ |
1389 | 1378 | | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ |
1390 | | -chorusos* | -chorusrdb* | -cegcc* \ | |
1379 | | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ | |
1391 | 1380 | | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ |
1392 | | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | |
1381 | | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | |
1393 | 1382 | | -linux-newlib* | -linux-musl* | -linux-uclibc* \ |
1394 | 1383 | | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ |
1395 | | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | |
1384 | | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ | |
1396 | 1385 | | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ |
1397 | 1386 | | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ |
1398 | 1387 | | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ |
1399 | | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | |
1388 | | -morphos* | -superux* | -rtmk* | -windiss* \ | |
1400 | 1389 | | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ |
1401 | | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) | |
1390 | | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ | |
1391 | | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ | |
1392 | | -midnightbsd*) | |
1402 | 1393 | # Remember, each alternative MUST END IN *, to match a version number. |
1403 | 1394 | ;; |
1404 | 1395 | -qnx*) |
1415 | 1406 | -nto*) |
1416 | 1407 | os=`echo $os | sed -e 's|nto|nto-qnx|'` |
1417 | 1408 | ;; |
1418 | -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | |
1419 | | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | |
1409 | -sim | -xray | -os68k* | -v88r* \ | |
1410 | | -windows* | -osx | -abug | -netware* | -os9* \ | |
1420 | 1411 | | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) |
1421 | 1412 | ;; |
1422 | 1413 | -mac*) |
1423 | os=`echo $os | sed -e 's|mac|macos|'` | |
1414 | os=`echo "$os" | sed -e 's|mac|macos|'` | |
1424 | 1415 | ;; |
1425 | 1416 | -linux-dietlibc) |
1426 | 1417 | os=-linux-dietlibc |
1429 | 1420 | os=`echo $os | sed -e 's|linux|linux-gnu|'` |
1430 | 1421 | ;; |
1431 | 1422 | -sunos5*) |
1432 | os=`echo $os | sed -e 's|sunos5|solaris2|'` | |
1423 | os=`echo "$os" | sed -e 's|sunos5|solaris2|'` | |
1433 | 1424 | ;; |
1434 | 1425 | -sunos6*) |
1435 | os=`echo $os | sed -e 's|sunos6|solaris3|'` | |
1426 | os=`echo "$os" | sed -e 's|sunos6|solaris3|'` | |
1436 | 1427 | ;; |
1437 | 1428 | -opened*) |
1438 | 1429 | os=-openedition |
1443 | 1434 | -wince*) |
1444 | 1435 | os=-wince |
1445 | 1436 | ;; |
1446 | -osfrose*) | |
1447 | os=-osfrose | |
1448 | ;; | |
1449 | -osf*) | |
1450 | os=-osf | |
1451 | ;; | |
1452 | 1437 | -utek*) |
1453 | 1438 | os=-bsd |
1454 | 1439 | ;; |
1473 | 1458 | -nova*) |
1474 | 1459 | os=-rtmk-nova |
1475 | 1460 | ;; |
1476 | -ns2 ) | |
1461 | -ns2) | |
1477 | 1462 | os=-nextstep2 |
1478 | 1463 | ;; |
1479 | 1464 | -nsk*) |
1495 | 1480 | -oss*) |
1496 | 1481 | os=-sysv3 |
1497 | 1482 | ;; |
1498 | -svr4) | |
1483 | -svr4*) | |
1499 | 1484 | os=-sysv4 |
1500 | 1485 | ;; |
1501 | 1486 | -svr3) |
1510 | 1495 | -ose*) |
1511 | 1496 | os=-ose |
1512 | 1497 | ;; |
1513 | -es1800*) | |
1514 | os=-ose | |
1515 | ;; | |
1516 | -xenix) | |
1517 | os=-xenix | |
1518 | ;; | |
1519 | 1498 | -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) |
1520 | 1499 | os=-mint |
1521 | 1500 | ;; |
1522 | -aros*) | |
1523 | os=-aros | |
1524 | ;; | |
1525 | 1501 | -zvmoe) |
1526 | 1502 | os=-zvmoe |
1527 | 1503 | ;; |
1528 | 1504 | -dicos*) |
1529 | 1505 | os=-dicos |
1530 | 1506 | ;; |
1507 | -pikeos*) | |
1508 | # Until real need of OS specific support for | |
1509 | # particular features comes up, bare metal | |
1510 | # configurations are quite functional. | |
1511 | case $basic_machine in | |
1512 | arm*) | |
1513 | os=-eabi | |
1514 | ;; | |
1515 | *) | |
1516 | os=-elf | |
1517 | ;; | |
1518 | esac | |
1519 | ;; | |
1531 | 1520 | -nacl*) |
1521 | ;; | |
1522 | -ios) | |
1532 | 1523 | ;; |
1533 | 1524 | -none) |
1534 | 1525 | ;; |
1535 | 1526 | *) |
1536 | 1527 | # Get rid of the `-' at the beginning of $os. |
1537 | 1528 | os=`echo $os | sed 's/[^-]*-//'` |
1538 | echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 | |
1529 | echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 | |
1539 | 1530 | exit 1 |
1540 | 1531 | ;; |
1541 | 1532 | esac |
1625 | 1616 | sparc-* | *-sun) |
1626 | 1617 | os=-sunos4.1.1 |
1627 | 1618 | ;; |
1619 | pru-*) | |
1620 | os=-elf | |
1621 | ;; | |
1628 | 1622 | *-be) |
1629 | 1623 | os=-beos |
1630 | 1624 | ;; |
1631 | *-haiku) | |
1632 | os=-haiku | |
1633 | ;; | |
1634 | 1625 | *-ibm) |
1635 | 1626 | os=-aix |
1636 | 1627 | ;; |
1670 | 1661 | m88k-omron*) |
1671 | 1662 | os=-luna |
1672 | 1663 | ;; |
1673 | *-next ) | |
1664 | *-next) | |
1674 | 1665 | os=-nextstep |
1675 | 1666 | ;; |
1676 | 1667 | *-sequent) |
1684 | 1675 | ;; |
1685 | 1676 | i370-*) |
1686 | 1677 | os=-mvs |
1687 | ;; | |
1688 | *-next) | |
1689 | os=-nextstep3 | |
1690 | 1678 | ;; |
1691 | 1679 | *-gould) |
1692 | 1680 | os=-sysv |
1797 | 1785 | vendor=stratus |
1798 | 1786 | ;; |
1799 | 1787 | esac |
1800 | basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` | |
1788 | basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` | |
1801 | 1789 | ;; |
1802 | 1790 | esac |
1803 | 1791 | |
1804 | echo $basic_machine$os | |
1792 | echo "$basic_machine$os" | |
1805 | 1793 | exit |
1806 | 1794 | |
1807 | 1795 | # Local variables: |
1808 | # eval: (add-hook 'write-file-hooks 'time-stamp) | |
1796 | # eval: (add-hook 'write-file-functions 'time-stamp) | |
1809 | 1797 | # time-stamp-start: "timestamp='" |
1810 | 1798 | # time-stamp-format: "%:y-%02m-%02d" |
1811 | 1799 | # time-stamp-end: "'" |
0 | 0 | #! /bin/sh |
1 | 1 | # Guess values for system-dependent variables and create Makefiles. |
2 | # Generated by GNU Autoconf 2.69 for teckit 2.5.8. | |
2 | # Generated by GNU Autoconf 2.69 for teckit 2.5.9. | |
3 | 3 | # |
4 | # Report bugs to <nrsi@sil.org>. | |
4 | # Report bugs to <wstech@sil.org>. | |
5 | 5 | # |
6 | 6 | # |
7 | 7 | # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. |
273 | 273 | $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" |
274 | 274 | $as_echo "$0: be upgraded to zsh 4.3.4 or later." |
275 | 275 | else |
276 | $as_echo "$0: Please tell bug-autoconf@gnu.org and nrsi@sil.org about | |
277 | $0: your system, including any error possibly output before | |
278 | $0: this message. Then install a modern shell, or manually | |
279 | $0: run the script under such a shell if you do have one." | |
276 | $as_echo "$0: Please tell bug-autoconf@gnu.org and wstech@sil.org | |
277 | $0: about your system, including any error possibly output | |
278 | $0: before this message. Then install a modern shell, or | |
279 | $0: manually run the script under such a shell if you do | |
280 | $0: have one." | |
280 | 281 | fi |
281 | 282 | exit 1 |
282 | 283 | fi |
588 | 589 | # Identity of this package. |
589 | 590 | PACKAGE_NAME='teckit' |
590 | 591 | PACKAGE_TARNAME='teckit' |
591 | PACKAGE_VERSION='2.5.8' | |
592 | PACKAGE_STRING='teckit 2.5.8' | |
593 | PACKAGE_BUGREPORT='nrsi@sil.org' | |
592 | PACKAGE_VERSION='2.5.9' | |
593 | PACKAGE_STRING='teckit 2.5.9' | |
594 | PACKAGE_BUGREPORT='wstech@sil.org' | |
594 | 595 | PACKAGE_URL='' |
595 | 596 | |
596 | 597 | ac_unique_file="source/UnicodeNames.cpp" |
1363 | 1364 | # Omit some internal or obsolete options to make the list less imposing. |
1364 | 1365 | # This message is too long to be a string in the A/UX 3.1 sh. |
1365 | 1366 | cat <<_ACEOF |
1366 | \`configure' configures teckit 2.5.8 to adapt to many kinds of systems. | |
1367 | \`configure' configures teckit 2.5.9 to adapt to many kinds of systems. | |
1367 | 1368 | |
1368 | 1369 | Usage: $0 [OPTION]... [VAR=VALUE]... |
1369 | 1370 | |
1435 | 1436 | |
1436 | 1437 | if test -n "$ac_init_help"; then |
1437 | 1438 | case $ac_init_help in |
1438 | short | recursive ) echo "Configuration of teckit 2.5.8:";; | |
1439 | short | recursive ) echo "Configuration of teckit 2.5.9:";; | |
1439 | 1440 | esac |
1440 | 1441 | cat <<\_ACEOF |
1441 | 1442 | |
1497 | 1498 | Use these variables to override the choices made by `configure' or to help |
1498 | 1499 | it to find libraries and programs with nonstandard names/locations. |
1499 | 1500 | |
1500 | Report bugs to <nrsi@sil.org>. | |
1501 | Report bugs to <wstech@sil.org>. | |
1501 | 1502 | _ACEOF |
1502 | 1503 | ac_status=$? |
1503 | 1504 | fi |
1560 | 1561 | test -n "$ac_init_help" && exit $ac_status |
1561 | 1562 | if $ac_init_version; then |
1562 | 1563 | cat <<\_ACEOF |
1563 | teckit configure 2.5.8 | |
1564 | teckit configure 2.5.9 | |
1564 | 1565 | generated by GNU Autoconf 2.69 |
1565 | 1566 | |
1566 | 1567 | Copyright (C) 2012 Free Software Foundation, Inc. |
2026 | 2027 | $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} |
2027 | 2028 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 |
2028 | 2029 | $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} |
2029 | ( $as_echo "## --------------------------- ## | |
2030 | ## Report this to nrsi@sil.org ## | |
2031 | ## --------------------------- ##" | |
2030 | ( $as_echo "## ----------------------------- ## | |
2031 | ## Report this to wstech@sil.org ## | |
2032 | ## ----------------------------- ##" | |
2032 | 2033 | ) | sed "s/^/$as_me: WARNING: /" >&2 |
2033 | 2034 | ;; |
2034 | 2035 | esac |
2050 | 2051 | This file contains any messages produced by compilers while |
2051 | 2052 | running configure, to aid debugging if configure makes a mistake. |
2052 | 2053 | |
2053 | It was created by teckit $as_me 2.5.8, which was | |
2054 | It was created by teckit $as_me 2.5.9, which was | |
2054 | 2055 | generated by GNU Autoconf 2.69. Invocation command line was |
2055 | 2056 | |
2056 | 2057 | $ $0 $@ |
3028 | 3029 | |
3029 | 3030 | # Define the identity of the package. |
3030 | 3031 | PACKAGE='teckit' |
3031 | VERSION='2.5.8' | |
3032 | VERSION='2.5.9' | |
3032 | 3033 | |
3033 | 3034 | |
3034 | 3035 | cat >>confdefs.h <<_ACEOF |
16781 | 16782 | SYSTEM_EXPAT_FALSE= |
16782 | 16783 | fi |
16783 | 16784 | |
16784 | expat_CFLAGS="$CFLAGS" | |
16785 | expat_CFLAGS="" | |
16785 | 16786 | expat_LIBS="$LIBS" |
16786 | 16787 | CFLAGS="$noexpat_CFLAGS" |
16787 | 16788 | LIBS="$noexpat_LIBS" |
17341 | 17342 | # report actual input values of CONFIG_FILES etc. instead of their |
17342 | 17343 | # values after options handling. |
17343 | 17344 | ac_log=" |
17344 | This file was extended by teckit $as_me 2.5.8, which was | |
17345 | This file was extended by teckit $as_me 2.5.9, which was | |
17345 | 17346 | generated by GNU Autoconf 2.69. Invocation command line was |
17346 | 17347 | |
17347 | 17348 | CONFIG_FILES = $CONFIG_FILES |
17401 | 17402 | Configuration commands: |
17402 | 17403 | $config_commands |
17403 | 17404 | |
17404 | Report bugs to <nrsi@sil.org>." | |
17405 | Report bugs to <wstech@sil.org>." | |
17405 | 17406 | |
17406 | 17407 | _ACEOF |
17407 | 17408 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
17408 | 17409 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" |
17409 | 17410 | ac_cs_version="\\ |
17410 | teckit config.status 2.5.8 | |
17411 | teckit config.status 2.5.9 | |
17411 | 17412 | configured by $0, generated by GNU Autoconf 2.69, |
17412 | 17413 | with options \\"\$ac_cs_config\\" |
17413 | 17414 | |
18716 | 18717 | cat <<_LT_EOF >> "$cfgfile" |
18717 | 18718 | #! $SHELL |
18718 | 18719 | # Generated automatically by $as_me ($PACKAGE) $VERSION |
18719 | # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: | |
18720 | 18720 | # NOTE: Changes made to this file will be lost: look at ltmain.sh. |
18721 | 18721 | |
18722 | 18722 | # Provide generalized library-building support services. |
0 | 0 | AC_PREREQ(2.54) |
1 | AC_INIT(teckit, 2.5.8, nrsi@sil.org) | |
1 | AC_INIT(teckit, 2.5.9, wstech@sil.org) | |
2 | 2 | AM_CONFIG_HEADER([config.h]) |
3 | 3 | AC_CONFIG_SRCDIR([source/UnicodeNames.cpp]) |
4 | 4 | AC_CONFIG_MACRO_DIR([m4]) |
110 | 110 | noexpat_LIBS="$LIBS" |
111 | 111 | AC_CHECK_LIB(expat, XML_ExpatVersion) |
112 | 112 | AM_CONDITIONAL(SYSTEM_EXPAT, test x$ac_cv_lib_expat_XML_ExpatVersion = xyes) |
113 | expat_CFLAGS="$CFLAGS" | |
113 | expat_CFLAGS="" | |
114 | 114 | expat_LIBS="$LIBS" |
115 | 115 | CFLAGS="$noexpat_CFLAGS" |
116 | 116 | LIBS="$noexpat_LIBS" |
0 | 0 | #! /bin/sh |
1 | 1 | # depcomp - compile a program generating dependencies as side-effects |
2 | 2 | |
3 | scriptversion=2013-05-30.07; # UTC | |
4 | ||
5 | # Copyright (C) 1999-2014 Free Software Foundation, Inc. | |
3 | scriptversion=2016-01-11.22; # UTC | |
4 | ||
5 | # Copyright (C) 1999-2017 Free Software Foundation, Inc. | |
6 | 6 | |
7 | 7 | # This program is free software; you can redistribute it and/or modify |
8 | 8 | # it under the terms of the GNU General Public License as published by |
785 | 785 | # eval: (add-hook 'write-file-hooks 'time-stamp) |
786 | 786 | # time-stamp-start: "scriptversion=" |
787 | 787 | # time-stamp-format: "%:y-%02m-%02d.%02H" |
788 | # time-stamp-time-zone: "UTC" | |
788 | # time-stamp-time-zone: "UTC0" | |
789 | 789 | # time-stamp-end: "; # UTC" |
790 | 790 | # End: |
0 | # Makefile.in generated by automake 1.15 from Makefile.am. | |
0 | # Makefile.in generated by automake 1.15.1 from Makefile.am. | |
1 | 1 | # @configure_input@ |
2 | 2 | |
3 | # Copyright (C) 1994-2014 Free Software Foundation, Inc. | |
3 | # Copyright (C) 1994-2017 Free Software Foundation, Inc. | |
4 | 4 | |
5 | 5 | # This Makefile.in is free software; the Free Software Foundation |
6 | 6 | # gives unlimited permission to copy and/or distribute it, |
Binary diff not shown
0 | # Makefile.in generated by automake 1.15 from Makefile.am. | |
0 | # Makefile.in generated by automake 1.15.1 from Makefile.am. | |
1 | 1 | # @configure_input@ |
2 | 2 | |
3 | # Copyright (C) 1994-2014 Free Software Foundation, Inc. | |
3 | # Copyright (C) 1994-2017 Free Software Foundation, Inc. | |
4 | 4 | |
5 | 5 | # This Makefile.in is free software; the Free Software Foundation |
6 | 6 | # gives unlimited permission to copy and/or distribute it, |
11 | 11 | |
12 | 12 | Rest of the project: |
13 | 13 | |
14 | Copyright 2002-2018, SIL International | |
14 | Copyright 2002-2019, SIL International | |
15 | 15 | All rights reserved. |
16 | 16 | |
17 | 17 | This library is free software; you can redistribute it and/or modify |
30 | 30 | |
31 | 31 | PROGRAM=libtool |
32 | 32 | PACKAGE=libtool |
33 | VERSION="2.4.6 Debian-2.4.6-0.1" | |
33 | VERSION="2.4.6 Debian-2.4.6-2" | |
34 | 34 | package_revision=2.4.6 |
35 | 35 | |
36 | 36 | |
2067 | 2067 | compiler: $LTCC |
2068 | 2068 | compiler flags: $LTCFLAGS |
2069 | 2069 | linker: $LD (gnu? $with_gnu_ld) |
2070 | version: $progname (GNU libtool) 2.4.6 | |
2070 | version: $progname $scriptversion Debian-2.4.6-2 | |
2071 | 2071 | automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` |
2072 | 2072 | autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` |
2073 | 2073 |
727 | 727 | cat <<_LT_EOF >> "$cfgfile" |
728 | 728 | #! $SHELL |
729 | 729 | # Generated automatically by $as_me ($PACKAGE) $VERSION |
730 | # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: | |
731 | 730 | # NOTE: Changes made to this file will be lost: look at ltmain.sh. |
732 | 731 | |
733 | 732 | # Provide generalized library-building support services. |
74 | 74 | const UInt32 byteMask = 0x000000BFUL; |
75 | 75 | const UInt32 byteMark = 0x00000080UL; |
76 | 76 | |
77 | #define FOUR_CHAR_CODE(a,b,c,d) (UInt32)((a << 24) + (b << 16) + (c << 8) + d) | |
77 | #define FOUR_CHAR_CODE(a,b,c,d) UInt32((a << 24) + (b << 16) + (c << 8) + d) | |
78 | 78 | |
79 | 79 | const UInt32 kCode_Byte = FOUR_CHAR_CODE('B','y','t','e'); |
80 | 80 | const UInt32 kCode_BU = FOUR_CHAR_CODE('B','-','>','U'); |
141 | 141 | { |
142 | 142 | TECkit_Status result = kStatus_CompilationFailed; |
143 | 143 | try { |
144 | Compiler* cmp = new Compiler(txt, len, kForm_Unspecified, (bool)doCompression, false, errFunc, userData); | |
144 | Compiler* cmp = new Compiler(txt, len, kForm_Unspecified, bool(doCompression), false, errFunc, userData); | |
145 | 145 | cmp->GetCompiledTable(*outTable, *outLen); |
146 | 146 | if (*outTable == 0) |
147 | 147 | result = kStatus_CompilationFailed; |
195 | 195 | const CharName *c = &gUnicodeNames[0]; |
196 | 196 | while (c->name != 0) |
197 | 197 | if (c->usv == usv) |
198 | return (char*)c->name; | |
198 | return const_cast<char*>(c->name); | |
199 | 199 | else |
200 | 200 | ++c; |
201 | 201 | return NULL; |
251 | 251 | TECkit_GetUnicodeValue(char* name) |
252 | 252 | { |
253 | 253 | const CharName *c = &gUnicodeNames[0]; |
254 | int len = strlen(name); | |
254 | size_t len = strlen(name); | |
255 | 255 | while (c->name != 0) |
256 | 256 | if (unicodeNameCompare(c->name, name, len) == 0) |
257 | return c->usv; | |
257 | return static_cast<int>(c->usv); | |
258 | 258 | else |
259 | 259 | ++c; |
260 | 260 | return -1; |
523 | 523 | compiledSize = 0; |
524 | 524 | usedExtStringRules = false; |
525 | 525 | |
526 | textPtr = (const unsigned char*)txt; | |
526 | textPtr = reinterpret_cast<const unsigned char*>(txt); | |
527 | 527 | textEnd = textPtr + len; |
528 | 528 | |
529 | 529 | ungotten = kInvalidChar; |
627 | 627 | errorState = false; |
628 | 628 | |
629 | 629 | string32::const_iterator i; |
630 | switch ((int)tok.type) { | |
630 | switch (int(tok.type)) { | |
631 | 631 | default: |
632 | 632 | Error("this can't happen!"); |
633 | 633 | break; |
770 | 770 | case '^': |
771 | 771 | // negation can only apply to a few things: |
772 | 772 | GetNextToken(); |
773 | switch ((int)tok.type) { | |
773 | switch (int(tok.type)) { | |
774 | 774 | case tok_Number: |
775 | 775 | AppendLiteral(tok.val, true); |
776 | 776 | break; |
942 | 942 | |
943 | 943 | case '{': |
944 | 944 | { |
945 | int repeatMin = 0; | |
946 | int repeatMax = 15; | |
945 | UInt32 repeatMin = 0; | |
946 | UInt32 repeatMax = 15; | |
947 | 947 | GetNextToken(); |
948 | 948 | if (tok.type == tok_Number) { |
949 | 949 | repeatMin = repeatMax = tok.val; |
996 | 996 | break; |
997 | 997 | if (!ExpectToken(tok_Number, "expected (NUMBER) STRING after Name")) |
998 | 998 | break; |
999 | int nameID = tok.val; | |
999 | UInt16 nameID = tok.val; | |
1000 | 1000 | if (!ExpectToken(')', "expected (NUMBER) STRING after Name")) |
1001 | 1001 | break; |
1002 | 1002 | ReadNameString(nameID); |
1128 | 1128 | bool ellipsisOK = false; |
1129 | 1129 | while (tok.type != ')' && tok.type != tok_Newline) { |
1130 | 1130 | GetNextToken(); |
1131 | switch ((int)tok.type) { | |
1131 | switch (int(tok.type)) { | |
1132 | 1132 | case tok_USV: |
1133 | 1133 | if (classType == 'B') { |
1134 | 1134 | Error("can't use Unicode value in byte encoding"); |
1249 | 1249 | break; |
1250 | 1250 | |
1251 | 1251 | default: |
1252 | Error("unexpected token within class", string((const char*)tokStart, (const char*)textPtr - (const char*)tokStart).c_str()); | |
1252 | Error("unexpected token within class", string(reinterpret_cast<const char *>(tokStart), reinterpret_cast<const char *>(textPtr - tokStart)).c_str()); | |
1253 | 1253 | break; |
1254 | 1254 | } |
1255 | 1255 | } |
1338 | 1338 | string trailer("</teckitMapping>\n"); |
1339 | 1339 | |
1340 | 1340 | compiledSize = header.length() + xmlRepresentation.length() + trailer.length(); |
1341 | compiledTable = (Byte*)malloc(compiledSize + 1); | |
1341 | compiledTable = static_cast<Byte*>(malloc(compiledSize + 1)); | |
1342 | 1342 | if (compiledTable == NULL) |
1343 | 1343 | throw bad_alloc(); |
1344 | 1344 | |
1377 | 1377 | // pack all the name records |
1378 | 1378 | string namesData; |
1379 | 1379 | for (vector<UInt16>::const_iterator i = nameIDs.begin(); i != nameIDs.end(); ++i) { |
1380 | appendToTable(offsets, (const char*)&offset, sizeof(offset)); | |
1380 | appendToTable(offsets, reinterpret_cast<const char*>(&offset), sizeof(offset)); | |
1381 | 1381 | NameRec r; |
1382 | 1382 | WRITE(r.nameID, *i); |
1383 | 1383 | WRITE(r.nameLength, names[*i].length()); |
1384 | namesData.append((const char*)&r, sizeof(r)); | |
1384 | namesData.append(reinterpret_cast<const char*>(&r), sizeof(r)); | |
1385 | 1385 | namesData.append(names[*i]); |
1386 | 1386 | if ((namesData.length() & 1) != 0) |
1387 | namesData.append(1, (char)0); | |
1387 | namesData.append(1, '\0'); | |
1388 | 1388 | offset += namesData.length() - prevLength; |
1389 | 1389 | prevLength = namesData.length(); |
1390 | 1390 | } |
1391 | 1391 | if ((namesData.length() & 2) != 0) |
1392 | namesData.append(2, (char)0); | |
1392 | namesData.append(2, '\0'); | |
1393 | 1393 | offset += namesData.length() - prevLength; |
1394 | 1394 | |
1395 | 1395 | // pack the offsets to the actual mapping tables |
1396 | 1396 | vector<string>::const_iterator t; |
1397 | 1397 | for (t = fwdTables.begin(); t != fwdTables.end(); ++t) { |
1398 | appendToTable(offsets, (const char*)&offset, sizeof(offset)); | |
1398 | appendToTable(offsets, reinterpret_cast<const char*>(&offset), sizeof(offset)); | |
1399 | 1399 | offset += t->size(); |
1400 | 1400 | } |
1401 | 1401 | for (t = revTables.end(); t != revTables.begin(); ) { |
1402 | 1402 | --t; |
1403 | appendToTable(offsets, (const char*)&offset, sizeof(offset)); | |
1403 | appendToTable(offsets, reinterpret_cast<const char*>(&offset), sizeof(offset)); | |
1404 | 1404 | offset += t->size(); |
1405 | 1405 | } |
1406 | 1406 | |
1416 | 1416 | for (t = revTables.begin(); t != revTables.end(); ++t) |
1417 | 1417 | compiledSize += t->length(); |
1418 | 1418 | |
1419 | compiledTable = (Byte*)malloc(compiledSize); | |
1419 | compiledTable = static_cast<Byte*>(malloc(compiledSize)); | |
1420 | 1420 | if (compiledTable != 0) { |
1421 | char* cp = (char*)compiledTable; | |
1421 | Byte* cp = compiledTable; | |
1422 | 1422 | memcpy(cp, &fh, sizeof(fh)); |
1423 | 1423 | cp += sizeof(fh); |
1424 | 1424 | memcpy(cp, offsets.data(), offsets.length()); |
1434 | 1434 | memcpy(cp, t->data(), t->length()); |
1435 | 1435 | cp += t->length(); |
1436 | 1436 | } |
1437 | if ((char*)compiledTable + compiledSize != cp) | |
1437 | if (compiledTable + compiledSize != cp) | |
1438 | 1438 | cerr << "error!" << endl; |
1439 | 1439 | } |
1440 | 1440 | else |
1444 | 1444 | if (errorCount == 0 && cmp) { |
1445 | 1445 | // do the compression... |
1446 | 1446 | unsigned long destLen = compiledSize * 11 / 10 + 20; |
1447 | Byte* dest = (Byte*)malloc(destLen + 8); | |
1447 | Byte* dest = static_cast<Byte*>(malloc(destLen + 8)); | |
1448 | 1448 | if (dest != 0) { |
1449 | 1449 | int result = compress2(dest + 8, &destLen, compiledTable, compiledSize, Z_BEST_COMPRESSION); |
1450 | 1450 | if (result == Z_OK) { |
1451 | 1451 | destLen += 8; |
1452 | dest = (Byte*)realloc(dest, destLen); // shrink dest to fit | |
1453 | WRITE(((FileHeader*)dest)->type, kMagicNumberCmp); | |
1454 | WRITE(((FileHeader*)dest)->version, compiledSize); | |
1452 | dest = static_cast<Byte*>(realloc(dest, destLen)); // shrink dest to fit | |
1453 | WRITE(reinterpret_cast<FileHeader*>(dest)->type, kMagicNumberCmp); | |
1454 | WRITE(reinterpret_cast<FileHeader*>(dest)->version, compiledSize); | |
1455 | 1455 | free(compiledTable); |
1456 | 1456 | compiledTable = dest; |
1457 | 1457 | compiledSize = destLen; |
1499 | 1499 | } else { bytesToWrite = 2; |
1500 | 1500 | c = 0x0000fffd; |
1501 | 1501 | }; |
1502 | rval.append((size_t)bytesToWrite, 0); | |
1503 | int index = rval.length(); | |
1502 | rval.append(size_t(bytesToWrite), 0); | |
1503 | size_t index = rval.length(); | |
1504 | 1504 | switch (bytesToWrite) { /* note: code falls through cases! */ |
1505 | case 4: rval[--index] = (c | byteMark) & byteMask; c >>= 6; | |
1506 | case 3: rval[--index] = (c | byteMark) & byteMask; c >>= 6; | |
1507 | case 2: rval[--index] = (c | byteMark) & byteMask; c >>= 6; | |
1505 | case 4: rval[--index] = static_cast<char>((c | byteMark) & byteMask); c >>= 6; | |
1506 | case 3: rval[--index] = static_cast<char>((c | byteMark) & byteMask); c >>= 6; | |
1507 | case 2: rval[--index] = static_cast<char>((c | byteMark) & byteMask); c >>= 6; | |
1508 | 1508 | case 1: rval[--index] = c | firstByteMark[bytesToWrite]; |
1509 | 1509 | }; |
1510 | 1510 | } |
1745 | 1745 | tok.strval.erase(tok.strval.begin(), tok.strval.end()); |
1746 | 1746 | #endif |
1747 | 1747 | while (len-- > 0) |
1748 | tok.strval.append(1, *str++); | |
1748 | tok.strval.append(1, static_cast<UInt32>(*str++)); | |
1749 | 1749 | return tok_Identifier; |
1750 | 1750 | } |
1751 | 1751 | |
1789 | 1789 | |
1790 | 1790 | case kForm_UTF16BE: |
1791 | 1791 | CHECK_AVAIL(2); |
1792 | rval = *textPtr++ << 8; | |
1792 | rval = static_cast<UInt32>(*textPtr++) << 8; | |
1793 | 1793 | rval += *textPtr++; |
1794 | 1794 | if (rval >= kSurrogateHighStart && rval <= kSurrogateHighEnd) { |
1795 | 1795 | // check that 2 more bytes are available |
1796 | 1796 | CHECK_AVAIL(2); |
1797 | UInt32 low = *textPtr++ << 8; | |
1797 | UInt32 low = static_cast<UInt32>(*textPtr++) << 8; | |
1798 | 1798 | low += *textPtr++; |
1799 | 1799 | rval = ((rval - kSurrogateHighStart) << halfShift) + (low - kSurrogateLowStart) + halfBase; |
1800 | 1800 | } |
1803 | 1803 | case kForm_UTF16LE: |
1804 | 1804 | CHECK_AVAIL(2); |
1805 | 1805 | rval = *textPtr++; |
1806 | rval += *textPtr++ << 8; | |
1806 | rval += static_cast<UInt32>(*textPtr++) << 8; | |
1807 | 1807 | if (rval >= kSurrogateHighStart && rval <= kSurrogateHighEnd) { |
1808 | 1808 | CHECK_AVAIL(2); |
1809 | 1809 | UInt32 low = *textPtr++; |
1810 | low += *textPtr++ << 8; | |
1810 | low += static_cast<UInt32>(*textPtr++) << 8; | |
1811 | 1811 | rval = ((rval - kSurrogateHighStart) << halfShift) + (low - kSurrogateLowStart) + halfBase; |
1812 | 1812 | } |
1813 | 1813 | break; |
1814 | 1814 | |
1815 | 1815 | case kForm_UTF32BE: |
1816 | 1816 | CHECK_AVAIL(4); |
1817 | rval = *textPtr++ << 24; | |
1818 | rval += *textPtr++ << 16; | |
1819 | rval += *textPtr++ << 8; | |
1817 | rval = static_cast<UInt32>(*textPtr++) << 24; | |
1818 | rval += static_cast<UInt32>(*textPtr++) << 16; | |
1819 | rval += static_cast<UInt32>(*textPtr++) << 8; | |
1820 | 1820 | rval += *textPtr++; |
1821 | 1821 | break; |
1822 | 1822 | |
1823 | 1823 | case kForm_UTF32LE: |
1824 | 1824 | CHECK_AVAIL(4); |
1825 | 1825 | rval = *textPtr++; |
1826 | rval += *textPtr++ << 8; | |
1827 | rval += *textPtr++ << 16; | |
1828 | rval += *textPtr++ << 24; | |
1826 | rval += static_cast<UInt32>(*textPtr++) << 8; | |
1827 | rval += static_cast<UInt32>(*textPtr++) << 16; | |
1828 | rval += static_cast<UInt32>(*textPtr++) << 24; | |
1829 | 1829 | break; |
1830 | 1830 | } |
1831 | 1831 | |
1945 | 1945 | case '/': |
1946 | 1946 | case '=': |
1947 | 1947 | case '@': |
1948 | tok.type = (tokenType)currCh; | |
1948 | tok.type = tokenType(currCh); | |
1949 | 1949 | return true; |
1950 | 1950 | |
1951 | 1951 | case '<': |
1952 | tok.type = (tokenType)'<'; | |
1952 | tok.type = tokenType('<'); | |
1953 | 1953 | if (textPtr < textEnd) { |
1954 | 1954 | if ((currCh = getChar()) == '>') |
1955 | 1955 | tok.type = tok_Map; |
1959 | 1959 | return true; |
1960 | 1960 | |
1961 | 1961 | case '.': |
1962 | tok.type = (tokenType)'.'; | |
1962 | tok.type = tokenType('.'); | |
1963 | 1963 | if (textPtr < textEnd) { |
1964 | 1964 | if ((currCh = getChar()) == '.') |
1965 | 1965 | tok.type = tok_Ellipsis; |
1977 | 1977 | goto DEFAULT; |
1978 | 1978 | } |
1979 | 1979 | } |
1980 | tok.type = (tokenType)'_'; | |
1980 | tok.type = tokenType('_'); | |
1981 | 1981 | return true; |
1982 | 1982 | |
1983 | 1983 | case '0': |
2132 | 2132 | cout << " at line " << line << endl; |
2133 | 2133 | } |
2134 | 2134 | else |
2135 | (*errorFunction)(errFuncUserData, (char*)msg, (char*)s, line); | |
2135 | (*errorFunction)(errFuncUserData, const_cast<char*>(msg), const_cast<char*>(s), line); | |
2136 | 2136 | errorState = true; |
2137 | 2137 | ++errorCount; |
2138 | 2138 | } |
2355 | 2355 | } |
2356 | 2356 | |
2357 | 2357 | void |
2358 | Compiler::SetMinMax(int repeatMin, int repeatMax) | |
2358 | Compiler::SetMinMax(UInt32 repeatMin, UInt32 repeatMax) | |
2359 | 2359 | { |
2360 | 2360 | Item* item = 0; |
2361 | 2361 | switch (ruleState) { |
2576 | 2576 | continue; |
2577 | 2577 | |
2578 | 2578 | default: |
2579 | cerr << "bad rep elem type: " << (int)i->type << endl; | |
2579 | cerr << "bad rep elem type: " << i->type << endl; | |
2580 | 2580 | break; |
2581 | 2581 | } |
2582 | 2582 | } |
2943 | 2943 | } |
2944 | 2944 | |
2945 | 2945 | void |
2946 | Compiler::appendMatchElem(string& packedRule, Item& item, int index, | |
2946 | Compiler::appendMatchElem(string& packedRule, Item& item, unsigned int index, | |
2947 | 2947 | vector<MatClass>& matchClasses) |
2948 | 2948 | { |
2949 | 2949 | MatchElem m; |
2950 | 2950 | WRITE(m.value.usv.data, 0); |
2951 | WRITE(m.flags.repeat, (item.repeatMin << 4) + item.repeatMax); | |
2951 | WRITE(m.flags.repeat, (static_cast<UInt32>(item.repeatMin) << 4) + item.repeatMax); | |
2952 | 2952 | if (item.negate) |
2953 | 2953 | WRITE(m.flags.type, kMatchElem_Negate); |
2954 | 2954 | else |
2996 | 2996 | WRITE(m.flags.type, READ(m.flags.type) | (kMatchElem_NonLit + kMatchElem_Type_EOS)); |
2997 | 2997 | break; |
2998 | 2998 | } |
2999 | const char* p = (const char*)&m; | |
3000 | packedRule.append(p, sizeof(m)); | |
2999 | packedRule.append(reinterpret_cast<const char*>(&m), sizeof(m)); | |
3001 | 3000 | } |
3002 | 3001 | |
3003 | 3002 | void |
3038 | 3037 | WRITE(r.flags.type, kRepElem_Unmapped); |
3039 | 3038 | break; |
3040 | 3039 | } |
3041 | const char* p = (const char*)&r; | |
3042 | packedRule.append(p, sizeof(r)); | |
3040 | packedRule.append(reinterpret_cast<const char*>(&r), sizeof(r)); | |
3043 | 3041 | } |
3044 | 3042 | |
3045 | 3043 | vector<Compiler::Item> |
3067 | 3065 | UInt8 plane = ch >> 16; |
3068 | 3066 | UInt8 page = (ch & 0x00ffff) >> 8; |
3069 | 3067 | if (buildVars.planeMap.size() <= plane) |
3070 | buildVars.planeMap.resize(plane + 1, 0xff); | |
3071 | if ((UInt8)buildVars.planeMap[plane] == (UInt8)0xff) { | |
3068 | buildVars.planeMap.resize(plane + 1, '\xff'); | |
3069 | if (UInt8(buildVars.planeMap[plane]) == 0xff) { | |
3072 | 3070 | buildVars.planeMap[plane] = buildVars.pageMaps.size(); |
3073 | 3071 | buildVars.pageMaps.resize(buildVars.pageMaps.size() + 1); |
3074 | buildVars.pageMaps.back().resize(256, 0xff); | |
3075 | } | |
3076 | UInt8 planeIndex = buildVars.planeMap[plane]; | |
3072 | buildVars.pageMaps.back().resize(256, '\xff'); | |
3073 | } | |
3074 | UInt8 planeIndex = static_cast<UInt8>(buildVars.planeMap[plane]); | |
3077 | 3075 | string& pageMap = buildVars.pageMaps[planeIndex]; |
3078 | if ((UInt8)pageMap[page] == (UInt8)0xff) { | |
3076 | if (UInt8(pageMap[page]) == 0xff) { | |
3079 | 3077 | pageMap[page] = buildVars.charMaps.size(); |
3080 | 3078 | buildVars.charMaps.resize(buildVars.charMaps.size() + 1); |
3081 | 3079 | buildVars.charMaps.back().resize(256); |
3082 | 3080 | } |
3083 | vector<UInt16>& charMap = buildVars.charMaps[(UInt8)pageMap[page]]; | |
3081 | vector<UInt16>& charMap = buildVars.charMaps[UInt8(pageMap[page])]; | |
3084 | 3082 | charMap[ch & 0x0000ff] = index; |
3085 | 3083 | } |
3086 | 3084 | |
3087 | 3085 | void |
3088 | Compiler::align(string& table, int alignment) | |
3089 | { | |
3090 | int remainder = table.size() % alignment; | |
3086 | Compiler::align(string& table, string::size_type alignment) | |
3087 | { | |
3088 | const string::size_type length = table.size(); | |
3089 | const string::size_type remainder = length % alignment; | |
3091 | 3090 | if (remainder != 0) |
3092 | table.resize(table.size() + alignment - remainder); | |
3091 | table.resize(length + alignment - remainder); | |
3093 | 3092 | } |
3094 | 3093 | |
3095 | 3094 | class Member { |
3267 | 3266 | // mapping to Unicode: direct lookup can only support one Unicode character |
3268 | 3267 | if (rule.replaceStr.size() == 1) { |
3269 | 3268 | const Item& rep = rule.replaceStr.front(); |
3270 | int t = rep.tag.length() > 0 ? findTag(rep.tag, rule.matchStr) : 0; | |
3269 | vector<Item>::size_type tag; | |
3270 | if (rep.tag.length() > 0) { | |
3271 | const int result = findTag(rep.tag, rule.matchStr); | |
3272 | if (result < 0) { | |
3273 | Error("tag not found", rep.tag.c_str(), rule.lineNumber); | |
3274 | continue; | |
3275 | } | |
3276 | tag = static_cast<vector<Item>::size_type>(result); | |
3277 | } else { | |
3278 | tag = 0; | |
3279 | } | |
3271 | 3280 | switch (rep.type) { |
3272 | 3281 | case 0: |
3273 | 3282 | WRITE(lookup[i].usv, rep.val); |
3275 | 3284 | |
3276 | 3285 | case kMatchElem_Type_Class: |
3277 | 3286 | { |
3278 | if (t == -1) { | |
3279 | Error("tag not found", rep.tag.c_str(), rule.lineNumber); | |
3280 | continue; | |
3281 | } | |
3282 | const Item& mat = rule.matchStr[t]; | |
3287 | const Item& mat = rule.matchStr[tag]; | |
3283 | 3288 | if (mat.type != kMatchElem_Type_Class) { |
3284 | 3289 | Error("improper use of class as target of mapping", 0, rule.lineNumber); |
3285 | 3290 | continue; |
3306 | 3311 | |
3307 | 3312 | case kMatchElem_Type_Copy: |
3308 | 3313 | // should only occur in UU table |
3309 | if (t > (int)rule.matchStr.size()) { | |
3314 | if (tag > rule.matchStr.size()) { | |
3310 | 3315 | Error("no corresponding item for copy", 0, rule.lineNumber); |
3311 | 3316 | goto ERR_FOUND; |
3312 | 3317 | } |
3323 | 3328 | if (rule.replaceStr.size() <= 3) { |
3324 | 3329 | WRITE(lookup[i].bytes.count, rule.replaceStr.size()); |
3325 | 3330 | // this will get overwritten by lookup[i].rules.type if string rules turn out to be needed |
3326 | UInt32 j; | |
3327 | for (j = 0; j < rule.replaceStr.size(); ++j) { | |
3331 | for (UInt32 j = 0; j < rule.replaceStr.size(); ++j) { | |
3328 | 3332 | const Item& rep = rule.replaceStr[j]; |
3329 | int t = rep.tag.length() > 0 ? findTag(rep.tag, rule.matchStr) : j; | |
3330 | if (t == -1) { | |
3331 | Error("tag not found", rep.tag.c_str(), rule.lineNumber); | |
3332 | goto ERR_FOUND; | |
3333 | vector<Item>::size_type tag; | |
3334 | if (rep.tag.length() > 0) { | |
3335 | const int result = findTag(rep.tag, rule.matchStr); | |
3336 | if (result < 0) { | |
3337 | Error("tag not found", rep.tag.c_str(), rule.lineNumber); | |
3338 | goto ERR_FOUND; | |
3339 | } | |
3340 | tag = static_cast<vector<Item>::size_type>(result); | |
3341 | } else { | |
3342 | tag = j; | |
3333 | 3343 | } |
3334 | 3344 | switch (rep.type) { |
3335 | 3345 | case 0: // literal |
3337 | 3347 | break; |
3338 | 3348 | |
3339 | 3349 | case kMatchElem_Type_Class: |
3340 | if (t > (int)rule.matchStr.size()) { | |
3350 | if (tag > rule.matchStr.size()) { | |
3341 | 3351 | Error("no corresponding item for class replacement", 0, rule.lineNumber); |
3342 | 3352 | goto ERR_FOUND; |
3343 | 3353 | } |
3344 | 3354 | else { |
3345 | const Item& mat = rule.matchStr[t]; | |
3355 | const Item& mat = rule.matchStr[tag]; | |
3346 | 3356 | if (mat.type != kMatchElem_Type_Class) { |
3347 | 3357 | Error("improper use of class as target of mapping", 0, rule.lineNumber); |
3348 | 3358 | goto ERR_FOUND; |
3369 | 3379 | |
3370 | 3380 | case kMatchElem_Type_Copy: |
3371 | 3381 | // should only occur in BB table |
3372 | if (t > (int)rule.matchStr.size()) { | |
3382 | if (tag > rule.matchStr.size()) { | |
3373 | 3383 | Error("no corresponding item for copy", 0, rule.lineNumber); |
3374 | 3384 | goto ERR_FOUND; |
3375 | 3385 | } |
3454 | 3464 | currentPass.supplementaryChars = true; |
3455 | 3465 | |
3456 | 3466 | UInt32 headerOffset = table.size(); |
3457 | table.append((const char*)&th, sizeof(th)); | |
3467 | table.append(reinterpret_cast<const char*>(&th), sizeof(th)); | |
3458 | 3468 | |
3459 | 3469 | if (fromUni) { |
3460 | 3470 | WRITE(th.pageBase, table.size()); |
3461 | 3471 | UInt32 i, j; |
3462 | 3472 | if (currentPass.supplementaryChars) { |
3463 | buildVars.planeMap.resize(17, 0xff); | |
3473 | buildVars.planeMap.resize(17, '\xff'); | |
3464 | 3474 | for (i = 0; i < buildVars.planeMap.size(); ++i) |
3465 | 3475 | appendToTable(table, buildVars.planeMap[i]); |
3466 | appendToTable(table, (UInt8)buildVars.pageMaps.size()); | |
3476 | appendToTable(table, UInt8(buildVars.pageMaps.size())); | |
3467 | 3477 | align(table, 4); |
3468 | 3478 | } |
3469 | 3479 | |
3470 | 3480 | for (i = 0; i < buildVars.pageMaps.size(); ++i) |
3471 | 3481 | for (j = 0; j < buildVars.pageMaps[i].size(); ++j) |
3472 | appendToTable(table, (UInt8)buildVars.pageMaps[i][j]); | |
3482 | appendToTable(table, UInt8(buildVars.pageMaps[i][j])); | |
3473 | 3483 | align(table, 4); |
3474 | 3484 | |
3475 | 3485 | for (i = 0; i < buildVars.charMaps.size(); ++i) |
3514 | 3524 | sortedClass.erase(sortedClass.begin() + j); |
3515 | 3525 | } |
3516 | 3526 | |
3517 | appendToTable(classes, (UInt32)sortedClass.size()); | |
3527 | appendToTable(classes, UInt32(sortedClass.size())); | |
3518 | 3528 | if (fromUni) |
3519 | 3529 | if (currentPass.supplementaryChars) |
3520 | 3530 | for (Class::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x) |
3521 | 3531 | appendToTable(classes, *x); |
3522 | 3532 | else |
3523 | 3533 | for (Class::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x) |
3524 | appendToTable(classes, (UInt16)*x); | |
3534 | appendToTable(classes, UInt16(*x)); | |
3525 | 3535 | else |
3526 | 3536 | for (Class::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x) |
3527 | appendToTable(classes, (UInt8)*x); | |
3537 | appendToTable(classes, UInt8(*x)); | |
3528 | 3538 | align(classes, 4); |
3529 | 3539 | } |
3530 | 3540 | // copy the real classOffsets into the table |
3562 | 3572 | sortedClass.erase(sortedClass.begin() + j); |
3563 | 3573 | } |
3564 | 3574 | |
3565 | appendToTable(classes, (UInt32)sortedClass.size()); | |
3575 | appendToTable(classes, UInt32(sortedClass.size())); | |
3566 | 3576 | if (toUni) |
3567 | 3577 | if (currentPass.supplementaryChars) |
3568 | 3578 | for (vector<Member>::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x) |
3569 | 3579 | appendToTable(classes, x->value); |
3570 | 3580 | else |
3571 | 3581 | for (vector<Member>::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x) |
3572 | appendToTable(classes, (UInt16)x->value); | |
3582 | appendToTable(classes, UInt16(x->value)); | |
3573 | 3583 | else |
3574 | 3584 | for (vector<Member>::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x) |
3575 | appendToTable(classes, (UInt8)(x->value)); | |
3585 | appendToTable(classes, UInt8(x->value)); | |
3576 | 3586 | align(classes, 4); |
3577 | 3587 | } |
3578 | 3588 | // copy the real classOffsets into the table |
3587 | 3597 | if (currentPass.supplementaryChars) |
3588 | 3598 | WRITE(th.flags, READ(th.flags) | kTableFlags_Supplementary); |
3589 | 3599 | WRITE(th.length, table.size()); |
3590 | table.replace(0, sizeof(th), (const char*)&th, sizeof(th)); | |
3600 | table.replace(0, sizeof(th), reinterpret_cast<const char*>(&th), sizeof(th)); | |
3591 | 3601 | } |
3592 | 3602 | |
3593 | 3603 | void |
19 | 19 | |
20 | 20 | -------------------------------------------------------------------------*/ |
21 | 21 | |
22 | #ifndef __Compiler_H__ | |
23 | #define __Compiler_H__ | |
22 | #pragma once | |
24 | 23 | |
25 | 24 | #ifdef HAVE_CONFIG_H |
26 | 25 | # include "config.h" /* a Unix-ish setup where we have config.h available */ |
273 | 272 | bool GetNextToken(); |
274 | 273 | bool ExpectToken(tokenType type, const char* errMsg); |
275 | 274 | bool ExpectToken(char c, const char* errMsg) |
276 | { return ExpectToken((tokenType)c, errMsg); } | |
275 | { return ExpectToken(tokenType(c), errMsg); } | |
277 | 276 | void Error(const char* errMsg, const char* s = 0, UInt32 line = 0xffffffff); |
278 | 277 | void StartDefaultPass(); |
279 | 278 | void AppendLiteral(UInt32 val, bool negate = false); |
283 | 282 | void AppendToRule(const Item& item); |
284 | 283 | bool tagExists(bool rhs, const string& tag); |
285 | 284 | void AssignTag(const string& tag); |
286 | void SetMinMax(int repeatMin, int repeatMax); | |
285 | void SetMinMax(UInt32 repeatMin, UInt32 repeatMax); | |
287 | 286 | void FinishPass(); |
288 | 287 | string asUTF8(const string32 s); |
289 | 288 | void ReadNameString(UInt16 nameID); |
306 | 305 | long uniClassIndex(UInt32 charCode, UInt32 classIndex); |
307 | 306 | long byteClassIndex(UInt8 charCode, UInt32 classIndex); |
308 | 307 | bool isSingleCharRule(const Rule& rule); |
309 | void appendMatchElem(string& packedRule, Item& item, int index, | |
308 | void appendMatchElem(string& packedRule, Item& item, unsigned int index, | |
310 | 309 | vector<MatClass>& matchClasses); |
311 | 310 | void appendReplaceElem(string& packedRule, Item& item, |
312 | 311 | vector<Item>& matchStr, vector<RepClass>& repClasses); |
313 | 312 | void appendToTable(string& s, const char* ptr, UInt32 len); |
314 | 313 | template <class T> |
315 | 314 | void appendToTable(string& table, T x) { |
315 | const char* xp = reinterpret_cast<const char*>(&x); | |
316 | 316 | #ifdef WORDS_BIGENDIAN |
317 | const char* xp = (const char*)&x; | |
318 | 317 | table.append(xp, sizeof(x)); |
319 | 318 | #else |
320 | 319 | /* split into separate statements to work around VC++6 problems */ |
321 | const char* xp = (const char*)&x; | |
322 | 320 | xp = xp + sizeof(T); |
323 | 321 | for (unsigned int i = 0; i < sizeof(T); ++i) { |
324 | 322 | xp = xp - 1; |
328 | 326 | } |
329 | 327 | |
330 | 328 | vector<Item> reverseContext(const vector<Item>& ctx); |
331 | void align(string& table, int alignment); | |
329 | void align(string& table, string::size_type alignment); | |
332 | 330 | |
333 | 331 | void xmlOut(const char* s); |
334 | 332 | void xmlOut(const string& s); |
344 | 342 | }; |
345 | 343 | extern CharName gUnicodeNames[]; |
346 | 344 | } |
347 | ||
348 | #endif /* __Compiler_H__ */ |
101 | 101 | #endif |
102 | 102 | } |
103 | 103 | |
104 | #ifndef __GNUC__ | |
105 | #pragma mark --- class Stage --- | |
106 | #endif | |
107 | ||
108 | 104 | Stage::Stage() |
109 | 105 | : oBuffer(0) |
110 | 106 | , oBufSize(0) |
125 | 121 | { |
126 | 122 | return 0; |
127 | 123 | } |
128 | ||
129 | #ifndef __GNUC__ | |
130 | #pragma mark --- class Normalizer --- | |
131 | #endif | |
132 | 124 | |
133 | 125 | #include "NormalizationData.c" |
134 | 126 | |
399 | 391 | return c; |
400 | 392 | } |
401 | 393 | |
402 | #ifndef __GNUC__ | |
403 | #pragma mark --- class Pass --- | |
404 | #endif | |
405 | ||
406 | 394 | Pass::Pass(const TableHeader* inTable, Converter* cnv) |
407 | 395 | : converter(cnv) |
408 | 396 | , tableHeader(inTable) |
417 | 405 | bSupplementaryChars = (READ(tableHeader->flags) & kTableFlags_Supplementary) != 0; |
418 | 406 | |
419 | 407 | numPageMaps = 1; |
420 | pageBase = (const Byte*)tableHeader + READ(tableHeader->pageBase); | |
421 | lookupBase = (const Lookup*)((const Byte*)tableHeader + READ(tableHeader->lookupBase)); | |
422 | matchClassBase = (const Byte*)tableHeader + READ(tableHeader->matchClassBase); | |
423 | repClassBase = (const Byte*)tableHeader + READ(tableHeader->repClassBase); | |
424 | stringListBase = (const Byte*)tableHeader + READ(tableHeader->stringListBase); | |
425 | stringRuleData = (const Byte*)tableHeader + READ(tableHeader->stringRuleData); | |
408 | pageBase = reinterpret_cast<const Byte*>(tableHeader) + READ(tableHeader->pageBase); | |
409 | lookupBase = reinterpret_cast<const Lookup*>(reinterpret_cast<const Byte*>(tableHeader) + READ(tableHeader->lookupBase)); | |
410 | matchClassBase = reinterpret_cast<const Byte*>(tableHeader) + READ(tableHeader->matchClassBase); | |
411 | repClassBase = reinterpret_cast<const Byte*>(tableHeader) + READ(tableHeader->repClassBase); | |
412 | stringListBase = reinterpret_cast<const Byte*>(tableHeader) + READ(tableHeader->stringListBase); | |
413 | stringRuleData = reinterpret_cast<const Byte*>(tableHeader) + READ(tableHeader->stringRuleData); | |
426 | 414 | |
427 | 415 | if (bInputIsUnicode && bSupplementaryChars) { |
428 | 416 | // support supplementary plane chars |
597 | 585 | long |
598 | 586 | Pass::classMatch(UInt32 classNumber, UInt32 inChar) const |
599 | 587 | { |
600 | const UInt32* classPtr = (const UInt32*)(matchClassBase + READ(*((const UInt32*)matchClassBase + classNumber))); | |
588 | const UInt32* classPtr = reinterpret_cast<const UInt32*>(matchClassBase + READ(*(reinterpret_cast<const UInt32*>(matchClassBase) + classNumber))); | |
601 | 589 | UInt32 memberCount = READ(*classPtr++); |
602 | 590 | if (bInputIsUnicode) { |
603 | 591 | if (bSupplementaryChars) { |
608 | 596 | } |
609 | 597 | else { |
610 | 598 | // classes are 16-bit |
611 | const UInt16* p = binary_search((const UInt16*)classPtr, memberCount, inChar); | |
599 | const UInt16* p = binary_search(reinterpret_cast<const UInt16*>(classPtr), memberCount, inChar); | |
612 | 600 | if (READ(*p) == inChar) |
613 | return p - (const UInt16*)classPtr; | |
601 | return p - reinterpret_cast<const UInt16*>(classPtr); | |
614 | 602 | } |
615 | 603 | } |
616 | 604 | else { |
617 | 605 | // classes are 8-bit |
618 | const UInt8* p = binary_search((const UInt8*)classPtr, memberCount, inChar); | |
606 | const UInt8* p = binary_search(reinterpret_cast<const UInt8*>(classPtr), memberCount, inChar); | |
619 | 607 | if (READ(*p) == inChar) |
620 | return p - (const UInt8*)classPtr; | |
608 | return p - reinterpret_cast<const UInt8*>(classPtr); | |
621 | 609 | } |
622 | 610 | return -1; |
623 | 611 | } |
625 | 613 | UInt32 |
626 | 614 | Pass::repClassMember(UInt32 classNumber, UInt32 index) const |
627 | 615 | { |
628 | const UInt32* classPtr = (const UInt32*)(repClassBase + READ(*((const UInt32*)repClassBase + classNumber))); | |
616 | const UInt32* classPtr = reinterpret_cast<const UInt32*>(repClassBase + READ(*(reinterpret_cast<const UInt32*>(repClassBase) + classNumber))); | |
629 | 617 | UInt32 memberCount = READ(*classPtr++); |
630 | 618 | if (index < memberCount) |
631 | 619 | if (bOutputIsUnicode) |
632 | 620 | if (bSupplementaryChars) |
633 | 621 | return READ(classPtr[index]); |
634 | 622 | else |
635 | return READ(((const UInt16*)classPtr)[index]); | |
623 | return READ(reinterpret_cast<const UInt16*>(classPtr)[index]); | |
636 | 624 | else { |
637 | return READ(((const UInt8*)classPtr)[index]); | |
625 | return READ(reinterpret_cast<const UInt8*>(classPtr)[index]); | |
638 | 626 | } |
639 | 627 | else |
640 | 628 | return 0; // this can't happen if the compiler is right! |
1014 | 1002 | if (bInputIsUnicode) { |
1015 | 1003 | // Unicode lookup |
1016 | 1004 | UInt16 charIndex = 0; |
1017 | if ((const UInt8*)lookupBase == pageBase) { | |
1005 | if (reinterpret_cast<const UInt8*>(lookupBase) == pageBase) { | |
1018 | 1006 | // leave charIndex == 0 : pass with no rules |
1019 | 1007 | } |
1020 | 1008 | else { |
1022 | 1010 | const UInt8* pageMap = 0; |
1023 | 1011 | if (bSupplementaryChars) { |
1024 | 1012 | if ((plane < 17) && (READ(planeMap[plane]) != 0xff)) { |
1025 | pageMap = (const UInt8*)(pageBase + 256 * READ(planeMap[plane])); | |
1013 | pageMap = reinterpret_cast<const UInt8*>(pageBase + 256 * READ(planeMap[plane])); | |
1026 | 1014 | goto GOT_PAGE_MAP; |
1027 | 1015 | } |
1028 | 1016 | } |
1031 | 1019 | GOT_PAGE_MAP: |
1032 | 1020 | UInt8 page = (inChar >> 8) & 0xff; |
1033 | 1021 | if (READ(pageMap[page]) != 0xff) { |
1034 | const UInt16* charMapBase = (const UInt16*)(pageBase + 256 * numPageMaps); | |
1022 | const UInt16* charMapBase = reinterpret_cast<const UInt16*>(pageBase + 256 * numPageMaps); | |
1035 | 1023 | const UInt16* charMap = charMapBase + 256 * READ(pageMap[page]); |
1036 | 1024 | charIndex = READ(charMap[inChar & 0xff]); |
1037 | 1025 | } |
1041 | 1029 | } |
1042 | 1030 | else { |
1043 | 1031 | // byte-oriented lookup |
1044 | if (pageBase != (const Byte*)tableHeader) { | |
1032 | if (pageBase != reinterpret_cast<const Byte*>(tableHeader)) { | |
1045 | 1033 | // dbcsPage present |
1046 | 1034 | long pageNumber = READ(pageBase[inChar]); |
1047 | 1035 | if (pageNumber == 0) |
1071 | 1059 | UInt8 ruleType = READ(lookup->rules.type); |
1072 | 1060 | if (ruleType == kLookupType_StringRules || (ruleType & kLookupType_RuleTypeMask) == kLookupType_ExtStringRules) { |
1073 | 1061 | // process string rule list |
1074 | const UInt32* ruleList = (const UInt32*)stringListBase + READ(lookup->rules.ruleIndex); | |
1062 | const UInt32* ruleList = reinterpret_cast<const UInt32*>(stringListBase) + READ(lookup->rules.ruleIndex); | |
1075 | 1063 | bool matched = false; |
1076 | 1064 | bool allowInsertion = true; |
1077 | 1065 | int ruleCount = READ(lookup->rules.ruleCount); |
1078 | 1066 | if ((ruleType & kLookupType_RuleTypeMask) == kLookupType_ExtStringRules) |
1079 | 1067 | ruleCount += 256 * (ruleType & kLookupType_ExtRuleCountMask); |
1080 | 1068 | for ( ; ruleCount > 0; --ruleCount) { |
1081 | const StringRule* rule = (const StringRule*)(stringRuleData + READ(*ruleList)); | |
1069 | const StringRule* rule = reinterpret_cast<const StringRule*>(stringRuleData + READ(*ruleList)); | |
1082 | 1070 | #ifdef TRACING |
1083 | 1071 | if (traceLevel > 0) { |
1084 | 1072 | cerr << "** trying match: "; |
1092 | 1080 | if (matchElems == 0 && allowInsertion == false) |
1093 | 1081 | continue; |
1094 | 1082 | patternLength = matchElems + READ(rule->postLength); |
1095 | pattern = (MatchElem*)(rule + 1); // point past the defined struct for the rule header | |
1083 | pattern = reinterpret_cast<const MatchElem*>(rule + 1); // point past the defined struct for the rule header | |
1096 | 1084 | direction = 1; |
1097 | 1085 | infoLimit = matchElems; |
1098 | 1086 | |
1133 | 1121 | cerr << "** GENERATES:"; |
1134 | 1122 | } |
1135 | 1123 | #endif |
1136 | const RepElem* r = (const RepElem*)(pattern + patternLength); | |
1124 | const RepElem* r = reinterpret_cast<const RepElem*>(pattern + patternLength); | |
1137 | 1125 | for (int i = 0; i < READ(rule->repLength); ++i, ++r) { |
1138 | 1126 | #ifdef TRACING |
1139 | 1127 | if (traceLevel > 0) |
1287 | 1275 | return 0; |
1288 | 1276 | } |
1289 | 1277 | |
1290 | #ifndef __GNUC__ | |
1291 | #pragma mark --- class Converter --- | |
1292 | #endif | |
1293 | ||
1294 | 1278 | Converter::Converter(const Byte* inTable, UInt32 inTableSize, bool inForward, |
1295 | 1279 | UInt16 inForm, UInt16 outForm) |
1296 | 1280 | : table(0) |
1306 | 1290 | finalStage = this; |
1307 | 1291 | UInt16 normForm = 0; |
1308 | 1292 | if (inTable != 0) { |
1309 | const FileHeader* fh = (const FileHeader*)inTable; | |
1293 | const FileHeader* fh = reinterpret_cast<const FileHeader*>(inTable); | |
1310 | 1294 | if (READ(fh->type) == kMagicNumberCmp) { |
1311 | 1295 | // the table is compressed; allocate a new buffer and decompress |
1312 | 1296 | unsigned long uncompressedLen = READ(fh->version); |
1313 | table = (Byte*)malloc(uncompressedLen); | |
1297 | table = static_cast<Byte*>(malloc(uncompressedLen)); | |
1314 | 1298 | if (table == 0) { |
1315 | 1299 | status = kStatus_OutOfMemory; |
1316 | 1300 | return; |
1320 | 1304 | status = kStatus_InvalidMapping; |
1321 | 1305 | return; |
1322 | 1306 | } |
1323 | fh = (const FileHeader*)table; | |
1307 | fh = reinterpret_cast<const FileHeader*>(table); | |
1324 | 1308 | } |
1325 | 1309 | |
1326 | 1310 | if (READ(fh->type) != kMagicNumber) { |
1333 | 1317 | } |
1334 | 1318 | |
1335 | 1319 | if (table == 0) { |
1336 | table = (Byte*)malloc(inTableSize); | |
1320 | table = static_cast<Byte*>(malloc(inTableSize)); | |
1337 | 1321 | if (table == 0) { |
1338 | 1322 | status = kStatus_OutOfMemory; |
1339 | 1323 | return; |
1341 | 1325 | memcpy(table, inTable, inTableSize); |
1342 | 1326 | } |
1343 | 1327 | |
1344 | fh = (const FileHeader*)table; | |
1345 | const UInt32* nameOffsets = (const UInt32*)(table + sizeof(FileHeader)); | |
1328 | fh = reinterpret_cast<const FileHeader*>(table); | |
1329 | const UInt32* nameOffsets = reinterpret_cast<const UInt32*>(table + sizeof(FileHeader)); | |
1346 | 1330 | const UInt32* tableBase = nameOffsets + READ(fh->numNames); |
1347 | 1331 | UInt32 numTables = READ(fh->numFwdTables); |
1348 | 1332 | if (!forward) { |
1397 | 1381 | |
1398 | 1382 | // create the processing pipeline |
1399 | 1383 | for (UInt32 i = 0; i < numTables; ++i) { |
1400 | const TableHeader* t = (const TableHeader*)(table + READ(tableBase[i])); | |
1384 | const TableHeader* t = reinterpret_cast<const TableHeader*>(table + READ(tableBase[i])); | |
1401 | 1385 | Stage* p = 0; |
1402 | 1386 | switch (READ(t->type)) { |
1403 | 1387 | case kTableType_BB: |
1707 | 1691 | void |
1708 | 1692 | Converter::GetFlags(UInt32& sourceFlags, UInt32& targetFlags) const |
1709 | 1693 | { |
1710 | const FileHeader* fh = (const FileHeader*)table; | |
1694 | const FileHeader* fh = reinterpret_cast<const FileHeader*>(table); | |
1711 | 1695 | if (forward) { |
1712 | 1696 | sourceFlags = READ(fh->formFlagsLHS); |
1713 | 1697 | targetFlags = READ(fh->formFlagsRHS); |
1721 | 1705 | static bool |
1722 | 1706 | getNamePtrFromTable(const Byte* table, UInt16 nameID, const Byte*& outNamePtr, UInt32& outNameLen) |
1723 | 1707 | { |
1724 | const FileHeader* fh = (const FileHeader*)table; | |
1725 | const UInt32* nameOffsets = (const UInt32*)(table + sizeof(FileHeader)); | |
1708 | const FileHeader* fh = reinterpret_cast<const FileHeader*>(table); | |
1709 | const UInt32* nameOffsets = reinterpret_cast<const UInt32*>(table + sizeof(FileHeader)); | |
1726 | 1710 | for (UInt32 i = 0; i < READ(fh->numNames); ++i) { |
1727 | const NameRec* n = (const NameRec*)(table + READ(nameOffsets[i])); | |
1711 | const NameRec* n = reinterpret_cast<const NameRec*>(table + READ(nameOffsets[i])); | |
1728 | 1712 | if (READ(n->nameID) == nameID) { |
1729 | 1713 | outNameLen = READ(n->nameLength); |
1730 | outNamePtr = (const Byte*)n + sizeof(NameRec); | |
1714 | outNamePtr = reinterpret_cast<const Byte*>(n) + sizeof(NameRec); | |
1731 | 1715 | return true; |
1732 | 1716 | } |
1733 | 1717 | } |
1934 | 1918 | if (cnv->status != kStatus_NoError) |
1935 | 1919 | return false; |
1936 | 1920 | if (cnv->table != 0) { |
1937 | const FileHeader* fh = (const FileHeader*)cnv->table; | |
1921 | const FileHeader* fh = reinterpret_cast<const FileHeader*>(cnv->table); | |
1938 | 1922 | if (READ(fh->type) != kMagicNumber) |
1939 | 1923 | return false; |
1940 | 1924 | } |
1941 | 1925 | return true; |
1942 | 1926 | } |
1943 | ||
1944 | #ifndef __GNUC__ | |
1945 | #pragma mark --- Public "C" API functions --- | |
1946 | #endif | |
1947 | 1927 | |
1948 | 1928 | TECkit_Status |
1949 | 1929 | WINAPI |
1962 | 1942 | cnv = new Converter(mapping, mappingSize, mapForward, inputForm, outputForm); |
1963 | 1943 | status = cnv->creationStatus(); |
1964 | 1944 | if (status == kStatus_NoError) |
1965 | *converter = (TECkit_Converter)cnv; | |
1945 | *converter = reinterpret_cast<TECkit_Converter>(cnv); | |
1966 | 1946 | else |
1967 | 1947 | delete cnv; |
1968 | 1948 | } |
1981 | 1961 | TECkit_Converter converter) |
1982 | 1962 | { |
1983 | 1963 | TECkit_Status status = kStatus_NoError; |
1984 | Converter* cnv = (Converter*)converter; | |
1964 | Converter* cnv = reinterpret_cast<Converter*>(converter); | |
1985 | 1965 | if (!Converter::Validate(cnv)) |
1986 | 1966 | status = kStatus_InvalidConverter; |
1987 | 1967 | else |
1999 | 1979 | UInt32* nameLength) |
2000 | 1980 | { |
2001 | 1981 | TECkit_Status status = kStatus_NoError; |
2002 | Converter* cnv = (Converter*)converter; | |
1982 | Converter* cnv = reinterpret_cast<Converter*>(converter); | |
2003 | 1983 | if (!Converter::Validate(cnv)) |
2004 | 1984 | status = kStatus_InvalidConverter; |
2005 | 1985 | else { |
2023 | 2003 | UInt32* targetFlags) |
2024 | 2004 | { |
2025 | 2005 | TECkit_Status status = kStatus_NoError; |
2026 | Converter* cnv = (Converter*)converter; | |
2006 | Converter* cnv = reinterpret_cast<Converter*>(converter); | |
2027 | 2007 | if (!Converter::Validate(cnv)) |
2028 | 2008 | status = kStatus_InvalidConverter; |
2029 | 2009 | else |
2037 | 2017 | TECkit_Converter converter) |
2038 | 2018 | { |
2039 | 2019 | TECkit_Status status = kStatus_NoError; |
2040 | Converter* cnv = (Converter*)converter; | |
2020 | Converter* cnv = reinterpret_cast<Converter*>(converter); | |
2041 | 2021 | if (!Converter::Validate(cnv)) |
2042 | 2022 | status = kStatus_InvalidConverter; |
2043 | 2023 | else |
2059 | 2039 | UInt32* lookaheadCount) |
2060 | 2040 | { |
2061 | 2041 | TECkit_Status status = kStatus_NoError; |
2062 | Converter* cnv = (Converter*)converter; | |
2042 | Converter* cnv = reinterpret_cast<Converter*>(converter); | |
2063 | 2043 | if (!Converter::Validate(cnv)) |
2064 | 2044 | status = kStatus_InvalidConverter; |
2065 | 2045 | else |
2094 | 2074 | UInt32* lookaheadCount) |
2095 | 2075 | { |
2096 | 2076 | TECkit_Status status = kStatus_NoError; |
2097 | Converter* cnv = (Converter*)converter; | |
2077 | Converter* cnv = reinterpret_cast<Converter*>(converter); | |
2098 | 2078 | if (!Converter::Validate(cnv)) |
2099 | 2079 | status = kStatus_InvalidConverter; |
2100 | 2080 | else |
2126 | 2106 | if (mapping == 0) |
2127 | 2107 | status = kStatus_InvalidMapping; |
2128 | 2108 | else { |
2129 | const FileHeader* fh = (const FileHeader*)mapping; | |
2109 | const FileHeader* fh = reinterpret_cast<const FileHeader*>(mapping); | |
2130 | 2110 | FileHeader header; |
2131 | 2111 | if (READ(fh->type) == kMagicNumberCmp) { |
2132 | 2112 | // compressed mapping, so we need to decompress enough of it to read the flags |
2133 | 2113 | unsigned long uncompressedLen = sizeof(FileHeader); |
2134 | int result = uncompress((Byte*)&header, &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32)); | |
2114 | int result = uncompress(reinterpret_cast<Byte*>(&header), &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32)); | |
2135 | 2115 | if (result != Z_BUF_ERROR) |
2136 | 2116 | status = kStatus_InvalidMapping; |
2137 | 2117 | fh = &header; |
2165 | 2145 | if (mapping == 0) |
2166 | 2146 | status = kStatus_InvalidMapping; |
2167 | 2147 | else { |
2168 | const FileHeader* fh = (const FileHeader*)mapping; | |
2148 | const FileHeader* fh = reinterpret_cast<const FileHeader*>(mapping); | |
2169 | 2149 | FileHeader header; |
2170 | 2150 | if (READ(fh->type) == kMagicNumberCmp) { |
2171 | 2151 | // compressed mapping, so we need to decompress the fixed header to read the headerLength field, |
2172 | 2152 | // and then decompress the complete header to get the names |
2173 | 2153 | unsigned long uncompressedLen = sizeof(FileHeader); |
2174 | int result = uncompress((Byte*)&header, &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32)); | |
2154 | int result = uncompress(reinterpret_cast<Byte*>(&header), &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32)); | |
2175 | 2155 | if (result != Z_BUF_ERROR) |
2176 | 2156 | status = kStatus_InvalidMapping; |
2177 | 2157 | else { |
2181 | 2161 | if (buf == 0) |
2182 | 2162 | status = kStatus_OutOfMemory; |
2183 | 2163 | else { |
2184 | result = uncompress((Byte*)buf, &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32)); | |
2164 | result = uncompress(static_cast<Byte*>(buf), &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32)); | |
2185 | 2165 | if (result != Z_BUF_ERROR) |
2186 | 2166 | status = kStatus_InvalidMapping; |
2187 | fh = (const FileHeader*)buf; | |
2167 | fh = static_cast<const FileHeader*>(buf); | |
2188 | 2168 | } |
2189 | 2169 | } |
2190 | 2170 | } |
2193 | 2173 | status = kStatus_BadMappingVersion; |
2194 | 2174 | else { |
2195 | 2175 | const Byte* namePtr; |
2196 | if (getNamePtrFromTable((Byte*)fh, nameID, namePtr, *nameLength)) { | |
2176 | if (getNamePtrFromTable(reinterpret_cast<const Byte*>(fh), nameID, namePtr, *nameLength)) { | |
2197 | 2177 | UInt16 copyBytes = *nameLength < bufferSize ? *nameLength : bufferSize; |
2198 | 2178 | if (copyBytes > 0) |
2199 | 2179 | memcpy(nameBuffer, namePtr, copyBytes); |
16 | 16 | 2003-09-23 jk updated for version 2.1 with new Opt APIs |
17 | 17 | */ |
18 | 18 | |
19 | #ifndef __Engine_H__ | |
20 | #define __Engine_H__ | |
19 | #pragma once | |
21 | 20 | |
22 | 21 | #include "TECkit_Engine.h" |
23 | 22 | #include "TECkit_Format.h" |
116 | 115 | |
117 | 116 | UInt32 match(int index, int repeats, int textLoc); |
118 | 117 | // returns 0 for no match, 1 for match, or kNeedMoreInput/kInvalidChar |
119 | MatchElem* pattern; | |
118 | const MatchElem* pattern; | |
120 | 119 | int patternLength; |
121 | 120 | int direction; |
122 | 121 | MatchInfo info[256]; |
219 | 218 | |
220 | 219 | UInt32 warningStatus; |
221 | 220 | }; |
222 | ||
223 | #endif /* __Engine_H__ */ |
1 | 1 | |
2 | 2 | const UInt8 ccPageMaps[][256] = { |
3 | 3 | {0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,0,0,15,0,0,0,16,17,18,19,20,21,22,0,0,23,0,0,0,0,0,0,0,0,0,0,0,24,25,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,28,29,30,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,33,0}, |
4 | {0,34,35,36,0,0,0,0,0,0,37,0,0,38,0,39,40,41,42,43,44,45,46,47,48,0,49,0,50,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,56,0,0,0,0,0,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,58,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, | |
4 | {0,34,35,36,0,0,0,0,0,0,37,0,0,38,0,39,40,41,42,43,44,45,46,47,48,49,50,0,51,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,57,0,0,0,0,0,0,0,0,0,0,0,0,0,58,54,59,0,0,0,0,0,60,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, | |
5 | 5 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
6 | 6 | }; |
7 | 7 | |
18 | 18 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
19 | 19 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,84,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
20 | 20 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
21 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,103,9,0,0,0,0,0,0,0,0,0,0,0,0,0,107,107,107,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,122,122,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, | |
21 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,103,9,0,0,0,0,0,0,0,0,0,0,0,0,0,107,107,107,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,118,9,0,0,0,0,0,0,0,0,0,0,0,0,0,122,122,122,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, | |
22 | 22 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,0,220,0,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,130,0,132,0,0,0,0,0,130,130,130,130,0,0,130,0,230,230,9,0,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
23 | 23 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
24 | 24 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
55 | 55 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
56 | 56 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
57 | 57 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
58 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, | |
58 | 59 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
59 | 60 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
60 | 61 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
64 | 65 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,216,1,1,1,0,0,0,226,216,216,216,216,216,0,0,0,0,0,0,0,0,220,220,220,220,220,220,220,220,0,0,230,230,230,230,230,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
65 | 66 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
66 | 67 | {230,230,230,230,230,230,230,0,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,0,0,230,230,230,230,230,230,230,0,230,230,0,230,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
68 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, | |
67 | 69 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,220,220,220,220,220,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
68 | 70 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,230,230,230,230,230,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
69 | 71 | }; |
22 | 22 | xx-xxx-2002 jk version 2.0 initial release |
23 | 23 | */ |
24 | 24 | |
25 | #ifndef __TECkit_Common_H__ | |
26 | #define __TECkit_Common_H__ | |
25 | #pragma once | |
27 | 26 | |
28 | 27 | #define kCurrentTECkitVersion 0x00020004 /* 16.16 version number */ |
29 | 28 | |
90 | 89 | #define kForm_UTF16LE 4 |
91 | 90 | #define kForm_UTF32BE 5 |
92 | 91 | #define kForm_UTF32LE 6 |
93 | ||
94 | #endif |
17 | 17 | Copyright (c) 2002-2016 SIL International. |
18 | 18 | */ |
19 | 19 | |
20 | #ifndef __TECkit_Compiler_H__ | |
21 | #define __TECkit_Compiler_H__ | |
20 | #pragma once | |
22 | 21 | |
23 | 22 | #include "TECkit_Common.h" |
24 | 23 | |
94 | 93 | #ifdef __cplusplus |
95 | 94 | } |
96 | 95 | #endif |
97 | ||
98 | #endif |
25 | 25 | 22-Dec-2001 jk initial version |
26 | 26 | */ |
27 | 27 | |
28 | #ifndef __TECkit_Engine_H__ | |
29 | #define __TECkit_Engine_H__ | |
28 | #pragma once | |
30 | 29 | |
31 | 30 | #include "TECkit_Common.h" |
32 | 31 | |
33 | 32 | /* formFlags bits for normalization; if none are set, then this side of the mapping is normalization-form-agnostic on input, and may generate an unspecified mixture */ |
34 | #define kFlags_ExpectsNFC 0x00000001 /* expects fully composed text (NC) */ | |
35 | #define kFlags_ExpectsNFD 0x00000002 /* expects fully decomposed text (NCD) */ | |
36 | #define kFlags_GeneratesNFC 0x00000004 /* generates fully composed text (NC) */ | |
37 | #define kFlags_GeneratesNFD 0x00000008 /* generates fully decomposed text (NCD) */ | |
33 | #define kFlags_ExpectsNFC 0x00000001U /* expects fully composed text (NC) */ | |
34 | #define kFlags_ExpectsNFD 0x00000002U /* expects fully decomposed text (NCD) */ | |
35 | #define kFlags_GeneratesNFC 0x00000004U /* generates fully composed text (NC) */ | |
36 | #define kFlags_GeneratesNFD 0x00000008U /* generates fully decomposed text (NCD) */ | |
38 | 37 | |
39 | 38 | /* if VisualOrder is set, this side of the mapping deals with visual-order rather than logical-order text (only relevant for bidi scripts) */ |
40 | #define kFlags_VisualOrder 0x00008000 /* visual rather than logical order */ | |
39 | #define kFlags_VisualOrder 0x00008000U /* visual rather than logical order */ | |
41 | 40 | |
42 | 41 | /* if Unicode is set, the encoding is Unicode on this side of the mapping */ |
43 | #define kFlags_Unicode 0x00010000 /* this is Unicode rather than a byte encoding */ | |
42 | #define kFlags_Unicode 0x00010000U /* this is Unicode rather than a byte encoding */ | |
44 | 43 | |
45 | 44 | /* required names */ |
46 | 45 | #define kNameID_LHS_Name 0 /* "source" or LHS encoding name, e.g. "SIL-EEG_URDU-2001" */ |
263 | 262 | #if defined(__cplusplus) |
264 | 263 | } /* extern "C" */ |
265 | 264 | #endif |
266 | ||
267 | #endif /* __TECkit_Engine_H__ */ |
35 | 35 | if (param != 0) |
36 | 36 | fprintf(stderr, ": \"%s\"", param); |
37 | 37 | if (line != 0) |
38 | fprintf(stderr, " at line %lu", (unsigned long)line); | |
38 | fprintf(stderr, " at line %lu", static_cast<unsigned long>(line)); | |
39 | 39 | fprintf(stderr, "\n"); |
40 | 40 | } |
41 | 41 | |
113 | 113 | |
114 | 114 | if (tecFileName == 0) { |
115 | 115 | int x = strlen(mapFileName); |
116 | tecFileName = (char*)malloc(x + 5); | |
116 | tecFileName = static_cast<char*>(malloc(x + 5)); | |
117 | 117 | if (tecFileName == 0) |
118 | 118 | return 1; // unlikely! |
119 | 119 | strcpy(tecFileName, mapFileName); |
142 | 142 | |
143 | 143 | if (inFile == 0) { |
144 | 144 | // try adding .map |
145 | char* mapFileName2 = (char*)malloc(strlen(mapFileName) + 5); | |
145 | char* mapFileName2 = static_cast<char*>(malloc(strlen(mapFileName) + 5)); | |
146 | 146 | if (mapFileName2 == 0) |
147 | 147 | return 1; |
148 | 148 | strcpy(mapFileName2, mapFileName); |
158 | 158 | len = ftell(inFile); |
159 | 159 | fseek(inFile, 0, SEEK_SET); |
160 | 160 | |
161 | txt = (char*)malloc(len); | |
161 | txt = static_cast<char*>(malloc(len)); | |
162 | 162 | if (txt == 0) { |
163 | 163 | fprintf(stderr, "not enough memory to read mapping file\n"); |
164 | 164 | return 1; // not enough memory |
193 | 193 | TECkit_DisposeCompiled(compiledTable); |
194 | 194 | } |
195 | 195 | else { |
196 | fprintf(stderr, "compilation failed: status = %d\n", (int)status); | |
196 | fprintf(stderr, "compilation failed: status = %d\n", int(status)); | |
197 | 197 | return 1; |
198 | 198 | } |
199 | 199 |
75 | 75 | } |
76 | 76 | |
77 | 77 | if (inAvail > 0) { |
78 | status = TECkit_ConvertBufferOpt(cnv, (Byte*)inPtr, inAvail, &inUsed, | |
79 | (Byte*)outBuffer, kOutBufLen, &outUsed, opts, &lookahead); | |
78 | status = TECkit_ConvertBufferOpt(cnv, reinterpret_cast<Byte*>(inPtr), inAvail, &inUsed, | |
79 | reinterpret_cast<Byte*>(outBuffer), kOutBufLen, &outUsed, opts, &lookahead); | |
80 | 80 | fwrite(outBuffer, 1, outUsed, outFile); |
81 | 81 | |
82 | 82 | switch (status & kStatusMask_Basic) { |
92 | 92 | |
93 | 93 | case kStatus_UnmappedChar: |
94 | 94 | fprintf(stderr, "processing aborted at unmappable character, within %lu characters before file offset %lu\n", |
95 | (unsigned long)lookahead, (unsigned long)(offset - amountToRead + inUsed)); | |
95 | static_cast<unsigned long>(lookahead), static_cast<unsigned long>(offset - amountToRead + inUsed)); | |
96 | 96 | break; |
97 | 97 | |
98 | 98 | default: |
104 | 104 | if ((status & kStatusMask_Basic) != kStatus_UnmappedChar) { |
105 | 105 | // flush the converter |
106 | 106 | do { |
107 | status = TECkit_FlushOpt(cnv, (Byte*)outBuffer, kOutBufLen, &outUsed, opts, &lookahead); | |
107 | status = TECkit_FlushOpt(cnv, reinterpret_cast<Byte*>(outBuffer), kOutBufLen, &outUsed, opts, &lookahead); | |
108 | 108 | fwrite(outBuffer, 1, outUsed, outFile); |
109 | 109 | savedLen -= inUsed; |
110 | 110 | inPtr += inUsed; |
112 | 112 | } while ((status & kStatusMask_Basic) == kStatus_OutputBufferFull); |
113 | 113 | |
114 | 114 | if ((status & kStatusMask_Basic) == kStatus_UnmappedChar) |
115 | fprintf(stderr, "processing aborted at unmappable character, within %lu characters before end of input\n", (unsigned long)lookahead); | |
115 | fprintf(stderr, "processing aborted at unmappable character, within %lu characters before end of input\n", static_cast<unsigned long>(lookahead)); | |
116 | 116 | else if ((status & kStatusMask_Basic) != kStatus_NoError) |
117 | 117 | fprintf(stderr, "bad returned status from TECkit_Flush: %ld\n", status); |
118 | 118 | } |
339 | 339 | len = ftell(tecFile); |
340 | 340 | fseek(tecFile, 0, SEEK_SET); |
341 | 341 | |
342 | table = (char*)malloc(len); | |
342 | table = static_cast<char*>(malloc(len)); | |
343 | 343 | if (table == 0) { |
344 | 344 | fprintf(stderr, "out of memory!\n"); |
345 | 345 | fclose(tecFile); |
350 | 350 | fclose(tecFile); |
351 | 351 | |
352 | 352 | status = forward |
353 | ? TECkit_GetMappingFlags((Byte*)table, len, &sourceFlags, &targetFlags) | |
354 | : TECkit_GetMappingFlags((Byte*)table, len, &targetFlags, &sourceFlags); | |
353 | ? TECkit_GetMappingFlags(reinterpret_cast<Byte*>(table), len, &sourceFlags, &targetFlags) | |
354 | : TECkit_GetMappingFlags(reinterpret_cast<Byte*>(table), len, &targetFlags, &sourceFlags); | |
355 | 355 | if (status != kStatus_NoError) { |
356 | 356 | fprintf(stderr, "couldn't get encoding flags from mapping\n"); |
357 | 357 | return 1; |
509 | 509 | |
510 | 510 | // OK, we have figured out the input and output encoding forms we want to use; |
511 | 511 | // now at last we can instantiate a converter |
512 | status = TECkit_CreateConverter((Byte*)table, len, forward, inForm, outForm | normForm, &cnv); | |
512 | status = TECkit_CreateConverter(reinterpret_cast<Byte*>(table), len, forward, inForm, outForm | normForm, &cnv); | |
513 | 513 | if (table != 0) |
514 | 514 | free(table); |
515 | 515 | if (status != kStatus_NoError) { |
13 | 13 | 2006-06-02 jk added support for extended string rules (>255 per initial char) |
14 | 14 | -------------------------------------------------------------------------*/ |
15 | 15 | |
16 | #ifndef __TECkit_Format_H__ | |
17 | #define __TECkit_Format_H__ | |
16 | #pragma once | |
18 | 17 | |
19 | 18 | #include "TECkit_Common.h" |
20 | 19 | |
216 | 215 | #define kRepElem_Class kMatchElem_Type_Class |
217 | 216 | #define kRepElem_Copy kMatchElem_Type_Copy |
218 | 217 | #define kRepElem_Unmapped 0x0f /* used in default terminator rules */ |
219 | ||
220 | #endif /* __TECkit_Format_H__ */ |
8 | 8 | {0x00B4,"ACUTE ACCENT"}, |
9 | 9 | {0x299F,"ACUTE ANGLE"}, |
10 | 10 | {0x2101,"ADDRESSED TO THE SUBJECT"}, |
11 | {0x1FA79,"ADHESIVE BANDAGE"}, | |
11 | 12 | {0x262C,"ADI SHAKTI"}, |
12 | 13 | {0x1E944,"ADLAM ALIF LENGTHENER"}, |
13 | 14 | {0x1E900,"ADLAM CAPITAL LETTER ALIF"}, |
60 | 61 | {0x1E947,"ADLAM HAMZA"}, |
61 | 62 | {0x1E95E,"ADLAM INITIAL EXCLAMATION MARK"}, |
62 | 63 | {0x1E95F,"ADLAM INITIAL QUESTION MARK"}, |
64 | {0x1E94B,"ADLAM NASALIZATION MARK"}, | |
63 | 65 | {0x1E94A,"ADLAM NUKTA"}, |
64 | 66 | {0x1E922,"ADLAM SMALL LETTER ALIF"}, |
65 | 67 | {0x1E926,"ADLAM SMALL LETTER BA"}, |
2409 | 2411 | {0x269B,"ATOM SYMBOL"}, |
2410 | 2412 | {0x1F346,"AUBERGINE"}, |
2411 | 2413 | {0x20B3,"AUSTRAL SIGN"}, |
2414 | {0x1F6FA,"AUTO RICKSHAW"}, | |
2412 | 2415 | {0x1F3E7,"AUTOMATED TELLER MACHINE"}, |
2413 | 2416 | {0x1F697,"AUTOMOBILE"}, |
2414 | 2417 | {0x10B39,"AVESTAN ABBREVIATION MARK"}, |
2467 | 2470 | {0x10B30,"AVESTAN LETTER ZE"}, |
2468 | 2471 | {0x10B32,"AVESTAN LETTER ZHE"}, |
2469 | 2472 | {0x1F951,"AVOCADO"}, |
2473 | {0x1FA93,"AXE"}, | |
2470 | 2474 | {0x1F476,"BABY"}, |
2471 | 2475 | {0x1F47C,"BABY ANGEL"}, |
2472 | 2476 | {0x1F37C,"BABY BOTTLE"}, |
2606 | 2610 | {0x1B37,"BALINESE VOWEL SIGN ULU SARI"}, |
2607 | 2611 | {0x1B5C,"BALINESE WINDU"}, |
2608 | 2612 | {0x1F9F6,"BALL OF YARN"}, |
2613 | {0x1FA70,"BALLET SHOES"}, | |
2609 | 2614 | {0x1F388,"BALLOON"}, |
2610 | 2615 | {0x2749,"BALLOON-SPOKED ASTERISK"}, |
2611 | 2616 | {0x1F5F6,"BALLOT BOLD SCRIPT X"}, |
3277 | 3282 | {0xA6F7,"BAMUM QUESTION MARK"}, |
3278 | 3283 | {0xA6F6,"BAMUM SEMICOLON"}, |
3279 | 3284 | {0x1F34C,"BANANA"}, |
3285 | {0x1FA95,"BANJO"}, | |
3280 | 3286 | {0x1F3E6,"BANK"}, |
3281 | 3287 | {0x1F4B5,"BANKNOTE WITH DOLLAR SIGN"}, |
3282 | 3288 | {0x1F4B6,"BANKNOTE WITH EURO SIGN"}, |
3501 | 3507 | {0x23E3,"BENZENE RING WITH CIRCLE"}, |
3502 | 3508 | {0x2136,"BET SYMBOL"}, |
3503 | 3509 | {0x226C,"BETWEEN"}, |
3510 | {0x1F9C3,"BEVERAGE BOX"}, | |
3504 | 3511 | {0x11C41,"BHAIKSUKI DANDA"}, |
3505 | 3512 | {0x11C58,"BHAIKSUKI DIGIT EIGHT"}, |
3506 | 3513 | {0x11C55,"BHAIKSUKI DIGIT FIVE"}, |
3612 | 3619 | {0x29D3,"BLACK BOWTIE"}, |
3613 | 3620 | {0x272C,"BLACK CENTRE WHITE STAR"}, |
3614 | 3621 | {0x265D,"BLACK CHESS BISHOP"}, |
3622 | {0x1FA12,"BLACK CHESS BISHOP ROTATED NINETY DEGREES"}, | |
3623 | {0x1FA3C,"BLACK CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
3624 | {0x1FA49,"BLACK CHESS EQUIHOPPER"}, | |
3625 | {0x1FA4C,"BLACK CHESS EQUIHOPPER ROTATED NINETY DEGREES"}, | |
3615 | 3626 | {0x265A,"BLACK CHESS KING"}, |
3627 | {0x1FA0F,"BLACK CHESS KING ROTATED NINETY DEGREES"}, | |
3628 | {0x1FA39,"BLACK CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
3616 | 3629 | {0x265E,"BLACK CHESS KNIGHT"}, |
3630 | {0x1FA07,"BLACK CHESS KNIGHT ROTATED FORTY-FIVE DEGREES"}, | |
3631 | {0x1FA13,"BLACK CHESS KNIGHT ROTATED NINETY DEGREES"}, | |
3632 | {0x1FA1C,"BLACK CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES"}, | |
3633 | {0x1FA46,"BLACK CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES"}, | |
3634 | {0x1FA3D,"BLACK CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
3635 | {0x1FA31,"BLACK CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES"}, | |
3636 | {0x1FA53,"BLACK CHESS KNIGHT-BISHOP"}, | |
3637 | {0x1FA51,"BLACK CHESS KNIGHT-QUEEN"}, | |
3638 | {0x1FA52,"BLACK CHESS KNIGHT-ROOK"}, | |
3617 | 3639 | {0x265F,"BLACK CHESS PAWN"}, |
3640 | {0x1FA14,"BLACK CHESS PAWN ROTATED NINETY DEGREES"}, | |
3641 | {0x1FA3E,"BLACK CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
3618 | 3642 | {0x265B,"BLACK CHESS QUEEN"}, |
3643 | {0x1FA10,"BLACK CHESS QUEEN ROTATED NINETY DEGREES"}, | |
3644 | {0x1FA3A,"BLACK CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
3619 | 3645 | {0x265C,"BLACK CHESS ROOK"}, |
3646 | {0x1FA11,"BLACK CHESS ROOK ROTATED NINETY DEGREES"}, | |
3647 | {0x1FA3B,"BLACK CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
3648 | {0x1FA27,"BLACK CHESS TURNED BISHOP"}, | |
3649 | {0x1FA24,"BLACK CHESS TURNED KING"}, | |
3650 | {0x1FA28,"BLACK CHESS TURNED KNIGHT"}, | |
3651 | {0x1FA29,"BLACK CHESS TURNED PAWN"}, | |
3652 | {0x1FA25,"BLACK CHESS TURNED QUEEN"}, | |
3653 | {0x1FA26,"BLACK CHESS TURNED ROOK"}, | |
3620 | 3654 | {0x25CF,"BLACK CIRCLE"}, |
3621 | 3655 | {0x23FA,"BLACK CIRCLE FOR RECORD"}, |
3622 | 3656 | {0x29ED,"BLACK CIRCLE WITH DOWN ARROW"}, |
4376 | 4410 | {0x1F470,"BRIDE WITH VEIL"}, |
4377 | 4411 | {0x1F309,"BRIDGE AT NIGHT"}, |
4378 | 4412 | {0x1F4BC,"BRIEFCASE"}, |
4413 | {0x1FA72,"BRIEFS"}, | |
4379 | 4414 | {0x1F966,"BROCCOLI"}, |
4380 | 4415 | {0x00A6,"BROKEN BAR"}, |
4381 | 4416 | {0x238B,"BROKEN CIRCLE WITH NORTHWEST ARROW"}, |
4382 | 4417 | {0x1F494,"BROKEN HEART"}, |
4383 | 4418 | {0x1F9F9,"BROOM"}, |
4419 | {0x1F90E,"BROWN HEART"}, | |
4384 | 4420 | {0x1F41B,"BUG"}, |
4385 | 4421 | {0x1A1F,"BUGINESE END OF SECTION"}, |
4386 | 4422 | {0x1A15,"BUGINESE LETTER A"}, |
4443 | 4479 | {0x1F68F,"BUS STOP"}, |
4444 | 4480 | {0x1F464,"BUST IN SILHOUETTE"}, |
4445 | 4481 | {0x1F465,"BUSTS IN SILHOUETTE"}, |
4482 | {0x1F9C8,"BUTTER"}, | |
4446 | 4483 | {0x1F98B,"BUTTERFLY"}, |
4447 | 4484 | {0x1D09C,"BYZANTINE MUSICAL SYMBOL AGOGI ARGI"}, |
4448 | 4485 | {0x1D09B,"BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI"}, |
5545 | 5582 | {0xFE4A,"CENTRELINE OVERLINE"}, |
5546 | 5583 | {0x26B3,"CERES"}, |
5547 | 5584 | {0x26D3,"CHAINS"}, |
5585 | {0x1FA91,"CHAIR"}, | |
5548 | 5586 | {0x11132,"CHAKMA AU MARK"}, |
5549 | 5587 | {0x11141,"CHAKMA DANDA"}, |
5550 | 5588 | {0x1113E,"CHAKMA DIGIT EIGHT"}, |
7998 | 8036 | {0x2CE8,"COPTIC SYMBOL TAU RO"}, |
7999 | 8037 | {0x1F12F,"COPYLEFT SYMBOL"}, |
8000 | 8038 | {0x00A9,"COPYRIGHT SIGN"}, |
8039 | {0x2E4F,"CORNISH VERSE DIVIDER"}, | |
8001 | 8040 | {0x2258,"CORRESPONDS TO"}, |
8002 | 8041 | {0x1F6CB,"COUCH AND LAMP"}, |
8003 | 8042 | {0x2334,"COUNTERBORE"}, |
9751 | 9790 | {0xFE4D,"DASHED LOW LINE"}, |
9752 | 9791 | {0xFE49,"DASHED OVERLINE"}, |
9753 | 9792 | {0x279F,"DASHED TRIANGLE-HEADED RIGHTWARDS ARROW"}, |
9793 | {0x1F9CF,"DEAF PERSON"}, | |
9754 | 9794 | {0x1F333,"DECIDUOUS TREE"}, |
9755 | 9795 | {0x23E8,"DECIMAL EXPONENT SYMBOL"}, |
9756 | 9796 | {0x2396,"DECIMAL SEPARATOR KEY SYMBOL"}, |
10102 | 10142 | {0x2382,"DISCONTINUOUS UNDERLINE SYMBOL"}, |
10103 | 10143 | {0x3003,"DITTO MARK"}, |
10104 | 10144 | {0x2223,"DIVIDES"}, |
10145 | {0x1F93F,"DIVING MASK"}, | |
10105 | 10146 | {0x00F7,"DIVISION SIGN"}, |
10106 | 10147 | {0x2215,"DIVISION SLASH"}, |
10107 | 10148 | {0x22C7,"DIVISION TIMES"}, |
10108 | 10149 | {0x26AE,"DIVORCE SYMBOL"}, |
10150 | {0x1FA94,"DIYA LAMP"}, | |
10109 | 10151 | {0x1F635,"DIZZY FACE"}, |
10110 | 10152 | {0x1F4AB,"DIZZY SYMBOL"}, |
10111 | 10153 | {0x1F9EC,"DNA DOUBLE HELIX"}, |
10464 | 10506 | {0x26DA,"DRIVE SLOW SIGN"}, |
10465 | 10507 | {0x1F42A,"DROMEDARY CAMEL"}, |
10466 | 10508 | {0x1F924,"DROOLING FACE"}, |
10509 | {0x1FA78,"DROP OF BLOOD"}, | |
10467 | 10510 | {0x1F4A7,"DROPLET"}, |
10468 | 10511 | {0x1F941,"DRUM WITH DRUMSTICKS"}, |
10469 | 10512 | {0x1F986,"DUCK"}, |
10617 | 10660 | {0x1F442,"EAR"}, |
10618 | 10661 | {0x1F33D,"EAR OF MAIZE"}, |
10619 | 10662 | {0x1F33E,"EAR OF RICE"}, |
10663 | {0x1F9BB,"EAR WITH HEARING AID"}, | |
10620 | 10664 | {0x2641,"EARTH"}, |
10621 | 10665 | {0x1F30E,"EARTH GLOBE AMERICAS"}, |
10622 | 10666 | {0x1F30F,"EARTH GLOBE ASIA-AUSTRALIA"}, |
10749 | 10793 | {0x13057,"EGYPTIAN HIEROGLYPH B007"}, |
10750 | 10794 | {0x13058,"EGYPTIAN HIEROGLYPH B008"}, |
10751 | 10795 | {0x13059,"EGYPTIAN HIEROGLYPH B009"}, |
10796 | {0x13437,"EGYPTIAN HIEROGLYPH BEGIN SEGMENT"}, | |
10752 | 10797 | {0x1305A,"EGYPTIAN HIEROGLYPH C001"}, |
10753 | 10798 | {0x1305B,"EGYPTIAN HIEROGLYPH C002"}, |
10754 | 10799 | {0x1305C,"EGYPTIAN HIEROGLYPH C002A"}, |
10913 | 10958 | {0x130FB,"EGYPTIAN HIEROGLYPH E036"}, |
10914 | 10959 | {0x130FC,"EGYPTIAN HIEROGLYPH E037"}, |
10915 | 10960 | {0x130FD,"EGYPTIAN HIEROGLYPH E038"}, |
10961 | {0x13438,"EGYPTIAN HIEROGLYPH END SEGMENT"}, | |
10916 | 10962 | {0x130FE,"EGYPTIAN HIEROGLYPH F001"}, |
10917 | 10963 | {0x130FF,"EGYPTIAN HIEROGLYPH F001A"}, |
10918 | 10964 | {0x13100,"EGYPTIAN HIEROGLYPH F002"}, |
11051 | 11097 | {0x13185,"EGYPTIAN HIEROGLYPH H006A"}, |
11052 | 11098 | {0x13186,"EGYPTIAN HIEROGLYPH H007"}, |
11053 | 11099 | {0x13187,"EGYPTIAN HIEROGLYPH H008"}, |
11100 | {0x13431,"EGYPTIAN HIEROGLYPH HORIZONTAL JOINER"}, | |
11054 | 11101 | {0x13188,"EGYPTIAN HIEROGLYPH I001"}, |
11055 | 11102 | {0x13189,"EGYPTIAN HIEROGLYPH I002"}, |
11056 | 11103 | {0x1318A,"EGYPTIAN HIEROGLYPH I003"}, |
11070 | 11117 | {0x13198,"EGYPTIAN HIEROGLYPH I013"}, |
11071 | 11118 | {0x13199,"EGYPTIAN HIEROGLYPH I014"}, |
11072 | 11119 | {0x1319A,"EGYPTIAN HIEROGLYPH I015"}, |
11120 | {0x13435,"EGYPTIAN HIEROGLYPH INSERT AT BOTTOM END"}, | |
11121 | {0x13433,"EGYPTIAN HIEROGLYPH INSERT AT BOTTOM START"}, | |
11122 | {0x13434,"EGYPTIAN HIEROGLYPH INSERT AT TOP END"}, | |
11123 | {0x13432,"EGYPTIAN HIEROGLYPH INSERT AT TOP START"}, | |
11073 | 11124 | {0x1319B,"EGYPTIAN HIEROGLYPH K001"}, |
11074 | 11125 | {0x1319C,"EGYPTIAN HIEROGLYPH K002"}, |
11075 | 11126 | {0x1319D,"EGYPTIAN HIEROGLYPH K003"}, |
11326 | 11377 | {0x13298,"EGYPTIAN HIEROGLYPH O050A"}, |
11327 | 11378 | {0x13299,"EGYPTIAN HIEROGLYPH O050B"}, |
11328 | 11379 | {0x1329A,"EGYPTIAN HIEROGLYPH O051"}, |
11380 | {0x13436,"EGYPTIAN HIEROGLYPH OVERLAY MIDDLE"}, | |
11329 | 11381 | {0x1329B,"EGYPTIAN HIEROGLYPH P001"}, |
11330 | 11382 | {0x1329C,"EGYPTIAN HIEROGLYPH P001A"}, |
11331 | 11383 | {0x1329D,"EGYPTIAN HIEROGLYPH P002"}, |
11602 | 11654 | {0x133AC,"EGYPTIAN HIEROGLYPH V039"}, |
11603 | 11655 | {0x133AD,"EGYPTIAN HIEROGLYPH V040"}, |
11604 | 11656 | {0x133AE,"EGYPTIAN HIEROGLYPH V040A"}, |
11657 | {0x13430,"EGYPTIAN HIEROGLYPH VERTICAL JOINER"}, | |
11605 | 11658 | {0x133AF,"EGYPTIAN HIEROGLYPH W001"}, |
11606 | 11659 | {0x133B0,"EGYPTIAN HIEROGLYPH W002"}, |
11607 | 11660 | {0x133B1,"EGYPTIAN HIEROGLYPH W003"}, |
11760 | 11813 | {0x22F3,"ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE"}, |
11761 | 11814 | {0x1F418,"ELEPHANT"}, |
11762 | 11815 | {0x1F9DD,"ELF"}, |
11816 | {0x10FE0,"ELYMAIC LETTER ALEPH"}, | |
11817 | {0x10FEF,"ELYMAIC LETTER AYIN"}, | |
11818 | {0x10FE1,"ELYMAIC LETTER BETH"}, | |
11819 | {0x10FE3,"ELYMAIC LETTER DALETH"}, | |
11820 | {0x10FE2,"ELYMAIC LETTER GIMEL"}, | |
11821 | {0x10FE4,"ELYMAIC LETTER HE"}, | |
11822 | {0x10FE7,"ELYMAIC LETTER HETH"}, | |
11823 | {0x10FEA,"ELYMAIC LETTER KAPH"}, | |
11824 | {0x10FEB,"ELYMAIC LETTER LAMEDH"}, | |
11825 | {0x10FEC,"ELYMAIC LETTER MEM"}, | |
11826 | {0x10FED,"ELYMAIC LETTER NUN"}, | |
11827 | {0x10FF0,"ELYMAIC LETTER PE"}, | |
11828 | {0x10FF2,"ELYMAIC LETTER QOPH"}, | |
11829 | {0x10FF3,"ELYMAIC LETTER RESH"}, | |
11830 | {0x10FF1,"ELYMAIC LETTER SADHE"}, | |
11831 | {0x10FEE,"ELYMAIC LETTER SAMEKH"}, | |
11832 | {0x10FF4,"ELYMAIC LETTER SHIN"}, | |
11833 | {0x10FF5,"ELYMAIC LETTER TAW"}, | |
11834 | {0x10FE8,"ELYMAIC LETTER TETH"}, | |
11835 | {0x10FE5,"ELYMAIC LETTER WAW"}, | |
11836 | {0x10FE9,"ELYMAIC LETTER YODH"}, | |
11837 | {0x10FE6,"ELYMAIC LETTER ZAYIN"}, | |
11838 | {0x10FF6,"ELYMAIC LIGATURE ZAYIN-YODH"}, | |
11763 | 11839 | {0x2014,"EM DASH"}, |
11764 | 11840 | {0x2001,"EM QUAD"}, |
11765 | 11841 | {0x2003,"EM SPACE"}, |
12383 | 12459 | {0x213B,"FACSIMILE SIGN"}, |
12384 | 12460 | {0x1F3ED,"FACTORY"}, |
12385 | 12461 | {0x1F9DA,"FAIRY"}, |
12462 | {0x1F9C6,"FALAFEL"}, | |
12386 | 12463 | {0x1F342,"FALLEN LEAF"}, |
12387 | 12464 | {0x292F,"FALLING DIAGONAL CROSSING NORTH EAST ARROW"}, |
12388 | 12465 | {0x292C,"FALLING DIAGONAL CROSSING RISING DIAGONAL"}, |
12425 | 12502 | {0x2E2D,"FIVE DOT MARK"}, |
12426 | 12503 | {0x2059,"FIVE DOT PUNCTUATION"}, |
12427 | 12504 | {0x26F3,"FLAG IN HOLE"}, |
12505 | {0x1F9A9,"FLAMINGO"}, | |
12428 | 12506 | {0x1F97F,"FLAT SHOE"}, |
12429 | 12507 | {0x23E5,"FLATNESS"}, |
12430 | 12508 | {0x269C,"FLEUR-DE-LIS"}, |
12589 | 12667 | {0x26B1,"FUNERAL URN"}, |
12590 | 12668 | {0x23DB,"FUSE"}, |
12591 | 12669 | {0x1F3B2,"GAME DIE"}, |
12670 | {0x1F9C4,"GARLIC"}, | |
12592 | 12671 | {0x2699,"GEAR"}, |
12593 | 12672 | {0x26EE,"GEAR WITH HANDLES"}, |
12594 | 12673 | {0x26ED,"GEAR WITHOUT HUB"}, |
13538 | 13617 | {0x1F497,"GROWING HEART"}, |
13539 | 13618 | {0x20B2,"GUARANI SIGN"}, |
13540 | 13619 | {0x1F482,"GUARDSMAN"}, |
13620 | {0x1F9AE,"GUIDE DOG"}, | |
13541 | 13621 | {0x1F3B8,"GUITAR"}, |
13542 | 13622 | {0x0AF0,"GUJARATI ABBREVIATION SIGN"}, |
13543 | 13623 | {0x0AEE,"GUJARATI DIGIT EIGHT"}, |
14711 | 14791 | {0x05EF,"HEBREW YOD TRIANGLE"}, |
14712 | 14792 | {0x1F994,"HEDGEHOG"}, |
14713 | 14793 | {0x1F681,"HELICOPTER"}, |
14794 | {0x2BFF,"HELLSCHREIBER PAUSE SYMBOL"}, | |
14714 | 14795 | {0x2388,"HELM SYMBOL"}, |
14715 | 14796 | {0x26D1,"HELMET WITH WHITE CROSS"}, |
14716 | 14797 | {0x1B002,"HENTAIGANA LETTER A-1"}, |
15071 | 15152 | {0x1F684,"HIGH-SPEED TRAIN"}, |
15072 | 15153 | {0x1F685,"HIGH-SPEED TRAIN WITH BULLET NOSE"}, |
15073 | 15154 | {0x1F97E,"HIKING BOOT"}, |
15155 | {0x1F6D5,"HINDU TEMPLE"}, | |
15074 | 15156 | {0x1F99B,"HIPPOPOTAMUS"}, |
15075 | 15157 | {0x309F,"HIRAGANA DIGRAPH YORI"}, |
15076 | 15158 | {0x309D,"HIRAGANA ITERATION MARK"}, |
15137 | 15219 | {0x3063,"HIRAGANA LETTER SMALL TU"}, |
15138 | 15220 | {0x3045,"HIRAGANA LETTER SMALL U"}, |
15139 | 15221 | {0x308E,"HIRAGANA LETTER SMALL WA"}, |
15222 | {0x1B151,"HIRAGANA LETTER SMALL WE"}, | |
15223 | {0x1B150,"HIRAGANA LETTER SMALL WI"}, | |
15224 | {0x1B152,"HIRAGANA LETTER SMALL WO"}, | |
15140 | 15225 | {0x3083,"HIRAGANA LETTER SMALL YA"}, |
15141 | 15226 | {0x3087,"HIRAGANA LETTER SMALL YO"}, |
15142 | 15227 | {0x3085,"HIRAGANA LETTER SMALL YU"}, |
15211 | 15296 | {0x238E,"HYSTERESIS SYMBOL"}, |
15212 | 15297 | {0x1F91F,"I LOVE YOU HAND SIGN"}, |
15213 | 15298 | {0x1F368,"ICE CREAM"}, |
15299 | {0x1F9CA,"ICE CUBE"}, | |
15214 | 15300 | {0x1F3D2,"ICE HOCKEY STICK AND PUCK"}, |
15215 | 15301 | {0x26F8,"ICE SKATE"}, |
15216 | 15302 | {0x2261,"IDENTICAL TO"}, |
16095 | 16181 | {0x30F6,"KATAKANA LETTER SMALL KE"}, |
16096 | 16182 | {0x31F0,"KATAKANA LETTER SMALL KU"}, |
16097 | 16183 | {0x31FA,"KATAKANA LETTER SMALL MU"}, |
16184 | {0x1B167,"KATAKANA LETTER SMALL N"}, | |
16098 | 16185 | {0x31F4,"KATAKANA LETTER SMALL NU"}, |
16099 | 16186 | {0x30A9,"KATAKANA LETTER SMALL O"}, |
16100 | 16187 | {0x31FB,"KATAKANA LETTER SMALL RA"}, |
16108 | 16195 | {0x30C3,"KATAKANA LETTER SMALL TU"}, |
16109 | 16196 | {0x30A5,"KATAKANA LETTER SMALL U"}, |
16110 | 16197 | {0x30EE,"KATAKANA LETTER SMALL WA"}, |
16198 | {0x1B165,"KATAKANA LETTER SMALL WE"}, | |
16199 | {0x1B164,"KATAKANA LETTER SMALL WI"}, | |
16200 | {0x1B166,"KATAKANA LETTER SMALL WO"}, | |
16111 | 16201 | {0x30E3,"KATAKANA LETTER SMALL YA"}, |
16112 | 16202 | {0x30E7,"KATAKANA LETTER SMALL YO"}, |
16113 | 16203 | {0x30E5,"KATAKANA LETTER SMALL YU"}, |
16548 | 16638 | {0x1F617,"KISSING FACE"}, |
16549 | 16639 | {0x1F61A,"KISSING FACE WITH CLOSED EYES"}, |
16550 | 16640 | {0x1F619,"KISSING FACE WITH SMILING EYES"}, |
16641 | {0x1FA81,"KITE"}, | |
16551 | 16642 | {0x1F95D,"KIWIFRUIT"}, |
16643 | {0x1F9CE,"KNEELING PERSON"}, | |
16552 | 16644 | {0x1F428,"KOALA"}, |
16553 | 16645 | {0x327F,"KOREAN STANDARD SYMBOL"}, |
16554 | 16646 | {0x2BE3,"KRONOS"}, |
16592 | 16684 | {0x0E99,"LAO LETTER NO"}, |
16593 | 16685 | {0x0E8D,"LAO LETTER NYO"}, |
16594 | 16686 | {0x0EAD,"LAO LETTER O"}, |
16687 | {0x0EA0,"LAO LETTER PALI BHA"}, | |
16688 | {0x0E89,"LAO LETTER PALI CHA"}, | |
16689 | {0x0E91,"LAO LETTER PALI DDA"}, | |
16690 | {0x0E92,"LAO LETTER PALI DDHA"}, | |
16691 | {0x0E98,"LAO LETTER PALI DHA"}, | |
16692 | {0x0E86,"LAO LETTER PALI GHA"}, | |
16693 | {0x0E8C,"LAO LETTER PALI JHA"}, | |
16694 | {0x0EAC,"LAO LETTER PALI LLA"}, | |
16695 | {0x0E93,"LAO LETTER PALI NNA"}, | |
16696 | {0x0E8E,"LAO LETTER PALI NYA"}, | |
16697 | {0x0E8F,"LAO LETTER PALI TTA"}, | |
16698 | {0x0E90,"LAO LETTER PALI TTHA"}, | |
16595 | 16699 | {0x0E9C,"LAO LETTER PHO SUNG"}, |
16596 | 16700 | {0x0E9E,"LAO LETTER PHO TAM"}, |
16597 | 16701 | {0x0E9B,"LAO LETTER PO"}, |
16702 | {0x0EA8,"LAO LETTER SANSKRIT SHA"}, | |
16703 | {0x0EA9,"LAO LETTER SANSKRIT SSA"}, | |
16598 | 16704 | {0x0EAA,"LAO LETTER SO SUNG"}, |
16599 | 16705 | {0x0E8A,"LAO LETTER SO TAM"}, |
16600 | 16706 | {0x0E96,"LAO LETTER THO SUNG"}, |
16605 | 16711 | {0x0ECD,"LAO NIGGAHITA"}, |
16606 | 16712 | {0x0EBC,"LAO SEMIVOWEL SIGN LO"}, |
16607 | 16713 | {0x0EBD,"LAO SEMIVOWEL SIGN NYO"}, |
16714 | {0x0EBA,"LAO SIGN PALI VIRAMA"}, | |
16608 | 16715 | {0x0ECB,"LAO TONE MAI CATAWA"}, |
16609 | 16716 | {0x0EC8,"LAO TONE MAI EK"}, |
16610 | 16717 | {0x0EC9,"LAO TONE MAI THO"}, |
16627 | 16734 | {0x0EB7,"LAO VOWEL SIGN YY"}, |
16628 | 16735 | {0x1F535,"LARGE BLUE CIRCLE"}, |
16629 | 16736 | {0x1F537,"LARGE BLUE DIAMOND"}, |
16737 | {0x1F7E6,"LARGE BLUE SQUARE"}, | |
16738 | {0x1F7E4,"LARGE BROWN CIRCLE"}, | |
16739 | {0x1F7EB,"LARGE BROWN SQUARE"}, | |
16630 | 16740 | {0x25EF,"LARGE CIRCLE"}, |
16631 | 16741 | {0x27D9,"LARGE DOWN TACK"}, |
16742 | {0x1F7E2,"LARGE GREEN CIRCLE"}, | |
16743 | {0x1F7E9,"LARGE GREEN SQUARE"}, | |
16632 | 16744 | {0x2A1E,"LARGE LEFT TRIANGLE OPERATOR"}, |
16633 | 16745 | {0x10B3D,"LARGE ONE DOT OVER TWO DOTS PUNCTUATION"}, |
16634 | 16746 | {0x10B3F,"LARGE ONE RING OVER TWO RINGS PUNCTUATION"}, |
16747 | {0x1F7E0,"LARGE ORANGE CIRCLE"}, | |
16635 | 16748 | {0x1F536,"LARGE ORANGE DIAMOND"}, |
16749 | {0x1F7E7,"LARGE ORANGE SQUARE"}, | |
16750 | {0x1F7E3,"LARGE PURPLE CIRCLE"}, | |
16751 | {0x1F7EA,"LARGE PURPLE SQUARE"}, | |
16636 | 16752 | {0x1F534,"LARGE RED CIRCLE"}, |
16753 | {0x1F7E5,"LARGE RED SQUARE"}, | |
16637 | 16754 | {0x2AFC,"LARGE TRIPLE VERTICAL BAR OPERATOR"}, |
16638 | 16755 | {0x10B3C,"LARGE TWO DOTS OVER ONE DOT PUNCTUATION"}, |
16639 | 16756 | {0x10B3E,"LARGE TWO RINGS OVER ONE RING PUNCTUATION"}, |
16640 | 16757 | {0x27D8,"LARGE UP TACK"}, |
16758 | {0x1F7E1,"LARGE YELLOW CIRCLE"}, | |
16759 | {0x1F7E8,"LARGE YELLOW SQUARE"}, | |
16641 | 16760 | {0x2AAB,"LARGER THAN"}, |
16642 | 16761 | {0x2AAD,"LARGER THAN OR EQUAL TO"}, |
16643 | 16762 | {0x20BE,"LARI SIGN"}, |
16681 | 16800 | {0x01E2,"LATIN CAPITAL LETTER AE WITH MACRON"}, |
16682 | 16801 | {0x0189,"LATIN CAPITAL LETTER AFRICAN D"}, |
16683 | 16802 | {0x2C6D,"LATIN CAPITAL LETTER ALPHA"}, |
16803 | {0xA7C2,"LATIN CAPITAL LETTER ANGLICANA W"}, | |
16684 | 16804 | {0xA734,"LATIN CAPITAL LETTER AO"}, |
16685 | 16805 | {0xA736,"LATIN CAPITAL LETTER AU"}, |
16686 | 16806 | {0xA738,"LATIN CAPITAL LETTER AV"}, |
16705 | 16825 | {0x0108,"LATIN CAPITAL LETTER C WITH CIRCUMFLEX"}, |
16706 | 16826 | {0x010A,"LATIN CAPITAL LETTER C WITH DOT ABOVE"}, |
16707 | 16827 | {0x0187,"LATIN CAPITAL LETTER C WITH HOOK"}, |
16828 | {0xA7C4,"LATIN CAPITAL LETTER C WITH PALATAL HOOK"}, | |
16708 | 16829 | {0x023B,"LATIN CAPITAL LETTER C WITH STROKE"}, |
16709 | 16830 | {0xA7B3,"LATIN CAPITAL LETTER CHI"}, |
16710 | 16831 | {0xA76E,"LATIN CAPITAL LETTER CON"}, |
16776 | 16897 | {0xA7A0,"LATIN CAPITAL LETTER G WITH OBLIQUE STROKE"}, |
16777 | 16898 | {0x01E4,"LATIN CAPITAL LETTER G WITH STROKE"}, |
16778 | 16899 | {0x0194,"LATIN CAPITAL LETTER GAMMA"}, |
16900 | {0xA7BA,"LATIN CAPITAL LETTER GLOTTAL A"}, | |
16901 | {0xA7BC,"LATIN CAPITAL LETTER GLOTTAL I"}, | |
16779 | 16902 | {0x0241,"LATIN CAPITAL LETTER GLOTTAL STOP"}, |
16903 | {0xA7BE,"LATIN CAPITAL LETTER GLOTTAL U"}, | |
16780 | 16904 | {0x0048,"LATIN CAPITAL LETTER H"}, |
16781 | 16905 | {0x1E2A,"LATIN CAPITAL LETTER H WITH BREVE BELOW"}, |
16782 | 16906 | {0x021E,"LATIN CAPITAL LETTER H WITH CARON"}, |
16959 | 17083 | {0x1E60,"LATIN CAPITAL LETTER S WITH DOT ABOVE"}, |
16960 | 17084 | {0x1E62,"LATIN CAPITAL LETTER S WITH DOT BELOW"}, |
16961 | 17085 | {0x1E68,"LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE"}, |
17086 | {0xA7C5,"LATIN CAPITAL LETTER S WITH HOOK"}, | |
16962 | 17087 | {0xA7A8,"LATIN CAPITAL LETTER S WITH OBLIQUE STROKE"}, |
16963 | 17088 | {0x2C7E,"LATIN CAPITAL LETTER S WITH SWASH TAIL"}, |
16964 | 17089 | {0xA78B,"LATIN CAPITAL LETTER SALTILLO"}, |
17076 | 17201 | {0x1E92,"LATIN CAPITAL LETTER Z WITH DOT BELOW"}, |
17077 | 17202 | {0x0224,"LATIN CAPITAL LETTER Z WITH HOOK"}, |
17078 | 17203 | {0x1E94,"LATIN CAPITAL LETTER Z WITH LINE BELOW"}, |
17204 | {0xA7C6,"LATIN CAPITAL LETTER Z WITH PALATAL HOOK"}, | |
17079 | 17205 | {0x01B5,"LATIN CAPITAL LETTER Z WITH STROKE"}, |
17080 | 17206 | {0x2C7F,"LATIN CAPITAL LETTER Z WITH SWASH TAIL"}, |
17081 | 17207 | {0x0132,"LATIN CAPITAL LIGATURE IJ"}, |
17192 | 17318 | {0x01E3,"LATIN SMALL LETTER AE WITH MACRON"}, |
17193 | 17319 | {0x0251,"LATIN SMALL LETTER ALPHA"}, |
17194 | 17320 | {0x1D90,"LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK"}, |
17321 | {0xA7C3,"LATIN SMALL LETTER ANGLICANA W"}, | |
17195 | 17322 | {0xA735,"LATIN SMALL LETTER AO"}, |
17196 | 17323 | {0xA737,"LATIN SMALL LETTER AU"}, |
17197 | 17324 | {0xA739,"LATIN SMALL LETTER AV"}, |
17266 | 17393 | {0x01F3,"LATIN SMALL LETTER DZ"}, |
17267 | 17394 | {0x02A3,"LATIN SMALL LETTER DZ DIGRAPH"}, |
17268 | 17395 | {0x02A5,"LATIN SMALL LETTER DZ DIGRAPH WITH CURL"}, |
17396 | {0xAB66,"LATIN SMALL LETTER DZ DIGRAPH WITH RETROFLEX HOOK"}, | |
17269 | 17397 | {0x01C6,"LATIN SMALL LETTER DZ WITH CARON"}, |
17270 | 17398 | {0x0065,"LATIN SMALL LETTER E"}, |
17271 | 17399 | {0x00E9,"LATIN SMALL LETTER E WITH ACUTE"}, |
17333 | 17461 | {0x1D83,"LATIN SMALL LETTER G WITH PALATAL HOOK"}, |
17334 | 17462 | {0x01E5,"LATIN SMALL LETTER G WITH STROKE"}, |
17335 | 17463 | {0x0263,"LATIN SMALL LETTER GAMMA"}, |
17464 | {0xA7BB,"LATIN SMALL LETTER GLOTTAL A"}, | |
17465 | {0xA7BD,"LATIN SMALL LETTER GLOTTAL I"}, | |
17336 | 17466 | {0x0242,"LATIN SMALL LETTER GLOTTAL STOP"}, |
17467 | {0xA7BF,"LATIN SMALL LETTER GLOTTAL U"}, | |
17337 | 17468 | {0x0068,"LATIN SMALL LETTER H"}, |
17338 | 17469 | {0x1E2B,"LATIN SMALL LETTER H WITH BREVE BELOW"}, |
17339 | 17470 | {0x021F,"LATIN SMALL LETTER H WITH CARON"}, |
17627 | 17758 | {0x1D16,"LATIN SMALL LETTER TOP HALF O"}, |
17628 | 17759 | {0xA72B,"LATIN SMALL LETTER TRESILLO"}, |
17629 | 17760 | {0x02A6,"LATIN SMALL LETTER TS DIGRAPH"}, |
17761 | {0xAB67,"LATIN SMALL LETTER TS DIGRAPH WITH RETROFLEX HOOK"}, | |
17630 | 17762 | {0xA777,"LATIN SMALL LETTER TUM"}, |
17631 | 17763 | {0x0250,"LATIN SMALL LETTER TURNED A"}, |
17632 | 17764 | {0x1D02,"LATIN SMALL LETTER TURNED AE"}, |
19268 | 19400 | {0x10AC8,"MANICHAEAN SIGN UD"}, |
19269 | 19401 | {0x1F45E,"MANS SHOE"}, |
19270 | 19402 | {0x1F570,"MANTELPIECE CLOCK"}, |
19403 | {0x1F9BD,"MANUAL WHEELCHAIR"}, | |
19271 | 19404 | {0x26EF,"MAP SYMBOL FOR LIGHTHOUSE"}, |
19272 | 19405 | {0x1F341,"MAPLE LEAF"}, |
19273 | 19406 | {0x11C70,"MARCHEN HEAD MARK"}, |
19417 | 19550 | {0x11D36,"MASARAM GONDI VOWEL SIGN VOCALIC R"}, |
19418 | 19551 | {0x00BA,"MASCULINE ORDINAL INDICATOR"}, |
19419 | 19552 | {0x303C,"MASU MARK"}, |
19553 | {0x1F9C9,"MATE DRINK"}, | |
19420 | 19554 | {0x1D400,"MATHEMATICAL BOLD CAPITAL A"}, |
19421 | 19555 | {0x1D6A8,"MATHEMATICAL BOLD CAPITAL ALPHA"}, |
19422 | 19556 | {0x1D401,"MATHEMATICAL BOLD CAPITAL B"}, |
20459 | 20593 | {0x225E,"MEASURED BY"}, |
20460 | 20594 | {0x299D,"MEASURED RIGHT ANGLE WITH DOT"}, |
20461 | 20595 | {0x1F356,"MEAT ON BONE"}, |
20596 | {0x1F9BE,"MECHANICAL ARM"}, | |
20597 | {0x1F9BF,"MECHANICAL LEG"}, | |
20462 | 20598 | {0x16E4D,"MEDEFAIDRIN CAPITAL LETTER A"}, |
20463 | 20599 | {0x16E5E,"MEDEFAIDRIN CAPITAL LETTER AI"}, |
20464 | 20600 | {0x16E44,"MEDEFAIDRIN CAPITAL LETTER ATIU"}, |
21014 | 21150 | {0x16F25,"MIAO LETTER ARCHAIC NGA"}, |
21015 | 21151 | {0x16F3F,"MIAO LETTER ARCHAIC ZZA"}, |
21016 | 21152 | {0x16F01,"MIAO LETTER BA"}, |
21153 | {0x16F45,"MIAO LETTER BRI"}, | |
21017 | 21154 | {0x16F0B,"MIAO LETTER DA"}, |
21018 | 21155 | {0x16F0F,"MIAO LETTER DDA"}, |
21019 | 21156 | {0x16F1B,"MIAO LETTER DLHA"}, |
21020 | 21157 | {0x16F1D,"MIAO LETTER DLHYA"}, |
21021 | 21158 | {0x16F38,"MIAO LETTER DZA"}, |
21022 | 21159 | {0x16F2F,"MIAO LETTER DZHA"}, |
21160 | {0x16F47,"MIAO LETTER DZYI"}, | |
21023 | 21161 | {0x16F2B,"MIAO LETTER DZZA"}, |
21024 | 21162 | {0x16F07,"MIAO LETTER FA"}, |
21025 | 21163 | {0x16F1F,"MIAO LETTER GA"}, |
21054 | 21192 | {0x16F9E,"MIAO LETTER REFORMED TONE-6"}, |
21055 | 21193 | {0x16F9F,"MIAO LETTER REFORMED TONE-8"}, |
21056 | 21194 | {0x16F32,"MIAO LETTER REFORMED TSHA"}, |
21195 | {0x16F4A,"MIAO LETTER RTE"}, | |
21057 | 21196 | {0x16F3A,"MIAO LETTER SA"}, |
21058 | 21197 | {0x16F33,"MIAO LETTER SHA"}, |
21059 | 21198 | {0x16F34,"MIAO LETTER SSA"}, |
21199 | {0x16F46,"MIAO LETTER SYI"}, | |
21060 | 21200 | {0x16F0A,"MIAO LETTER TA"}, |
21201 | {0x16F48,"MIAO LETTER TE"}, | |
21061 | 21202 | {0x16F1A,"MIAO LETTER TLHA"}, |
21062 | 21203 | {0x16F1C,"MIAO LETTER TLHYA"}, |
21063 | 21204 | {0x16F93,"MIAO LETTER TONE-2"}, |
21068 | 21209 | {0x16F98,"MIAO LETTER TONE-7"}, |
21069 | 21210 | {0x16F99,"MIAO LETTER TONE-8"}, |
21070 | 21211 | {0x16F37,"MIAO LETTER TSA"}, |
21212 | {0x16F49,"MIAO LETTER TSE"}, | |
21071 | 21213 | {0x16F2E,"MIAO LETTER TSHA"}, |
21072 | 21214 | {0x16F2A,"MIAO LETTER TSSA"}, |
21073 | 21215 | {0x16F0E,"MIAO LETTER TTA"}, |
21092 | 21234 | {0x16F41,"MIAO LETTER ZZSYA"}, |
21093 | 21235 | {0x16F40,"MIAO LETTER ZZYA"}, |
21094 | 21236 | {0x16F51,"MIAO SIGN ASPIRATION"}, |
21237 | {0x16F4F,"MIAO SIGN CONSONANT MODIFIER BAR"}, | |
21095 | 21238 | {0x16F53,"MIAO SIGN REFORMED ASPIRATION"}, |
21096 | 21239 | {0x16F52,"MIAO SIGN REFORMED VOICING"}, |
21097 | 21240 | {0x16F91,"MIAO TONE ABOVE"}, |
21108 | 21251 | {0x16F58,"MIAO VOWEL SIGN ANG"}, |
21109 | 21252 | {0x16F7B,"MIAO VOWEL SIGN AU"}, |
21110 | 21253 | {0x16F5D,"MIAO VOWEL SIGN E"}, |
21254 | {0x16F85,"MIAO VOWEL SIGN EA"}, | |
21111 | 21255 | {0x16F7A,"MIAO VOWEL SIGN EI"}, |
21112 | 21256 | {0x16F5E,"MIAO VOWEL SIGN EN"}, |
21113 | 21257 | {0x16F5F,"MIAO VOWEL SIGN ENG"}, |
21118 | 21262 | {0x16F63,"MIAO VOWEL SIGN IAN"}, |
21119 | 21263 | {0x16F64,"MIAO VOWEL SIGN IANG"}, |
21120 | 21264 | {0x16F66,"MIAO VOWEL SIGN IE"}, |
21265 | {0x16F84,"MIAO VOWEL SIGN IG"}, | |
21121 | 21266 | {0x16F67,"MIAO VOWEL SIGN II"}, |
21122 | 21267 | {0x16F69,"MIAO VOWEL SIGN ING"}, |
21123 | 21268 | {0x16F65,"MIAO VOWEL SIGN IO"}, |
21269 | {0x16F86,"MIAO VOWEL SIGN IONG"}, | |
21124 | 21270 | {0x16F68,"MIAO VOWEL SIGN IU"}, |
21125 | 21271 | {0x16F7D,"MIAO VOWEL SIGN N"}, |
21126 | 21272 | {0x16F7E,"MIAO VOWEL SIGN NG"}, |
21127 | 21273 | {0x16F59,"MIAO VOWEL SIGN O"}, |
21274 | {0x16F82,"MIAO VOWEL SIGN OER"}, | |
21128 | 21275 | {0x16F60,"MIAO VOWEL SIGN OEY"}, |
21276 | {0x16F81,"MIAO VOWEL SIGN OG"}, | |
21129 | 21277 | {0x16F5A,"MIAO VOWEL SIGN OO"}, |
21130 | 21278 | {0x16F7C,"MIAO VOWEL SIGN OU"}, |
21131 | 21279 | {0x16F78,"MIAO VOWEL SIGN ROUNDED ER"}, |
21135 | 21283 | {0x16F6C,"MIAO VOWEL SIGN UAN"}, |
21136 | 21284 | {0x16F6D,"MIAO VOWEL SIGN UANG"}, |
21137 | 21285 | {0x16F6F,"MIAO VOWEL SIGN UEI"}, |
21286 | {0x16F87,"MIAO VOWEL SIGN UI"}, | |
21138 | 21287 | {0x16F70,"MIAO VOWEL SIGN UNG"}, |
21288 | {0x16F7F,"MIAO VOWEL SIGN UOG"}, | |
21139 | 21289 | {0x16F6E,"MIAO VOWEL SIGN UU"}, |
21290 | {0x16F83,"MIAO VOWEL SIGN VW"}, | |
21140 | 21291 | {0x16F5C,"MIAO VOWEL SIGN W"}, |
21141 | 21292 | {0x16F5B,"MIAO VOWEL SIGN WO"}, |
21142 | 21293 | {0x16F71,"MIAO VOWEL SIGN Y"}, |
21143 | 21294 | {0x16F72,"MIAO VOWEL SIGN YI"}, |
21295 | {0x16F80,"MIAO VOWEL SIGN YUI"}, | |
21144 | 21296 | {0x00B5,"MICRO SIGN"}, |
21145 | 21297 | {0x1F9A0,"MICROBE"}, |
21146 | 21298 | {0x1F3A4,"MICROPHONE"}, |
21649 | 21801 | {0x1F936,"MOTHER CHRISTMAS"}, |
21650 | 21802 | {0x1F6E5,"MOTOR BOAT"}, |
21651 | 21803 | {0x1F6F5,"MOTOR SCOOTER"}, |
21804 | {0x1F9BC,"MOTORIZED WHEELCHAIR"}, | |
21652 | 21805 | {0x1F6E3,"MOTORWAY"}, |
21653 | 21806 | {0x1F5FB,"MOUNT FUJI"}, |
21654 | 21807 | {0x26F0,"MOUNTAIN"}, |
22279 | 22432 | {0x20A6,"NAIRA SIGN"}, |
22280 | 22433 | {0x1F4DB,"NAME BADGE"}, |
22281 | 22434 | {0x22BC,"NAND"}, |
22435 | {0x119E3,"NANDINAGARI HEADSTROKE"}, | |
22436 | {0x119A0,"NANDINAGARI LETTER A"}, | |
22437 | {0x119A1,"NANDINAGARI LETTER AA"}, | |
22438 | {0x119AB,"NANDINAGARI LETTER AI"}, | |
22439 | {0x119AD,"NANDINAGARI LETTER AU"}, | |
22440 | {0x119C4,"NANDINAGARI LETTER BA"}, | |
22441 | {0x119C5,"NANDINAGARI LETTER BHA"}, | |
22442 | {0x119B3,"NANDINAGARI LETTER CA"}, | |
22443 | {0x119B4,"NANDINAGARI LETTER CHA"}, | |
22444 | {0x119BF,"NANDINAGARI LETTER DA"}, | |
22445 | {0x119BA,"NANDINAGARI LETTER DDA"}, | |
22446 | {0x119BB,"NANDINAGARI LETTER DDHA"}, | |
22447 | {0x119C0,"NANDINAGARI LETTER DHA"}, | |
22448 | {0x119AA,"NANDINAGARI LETTER E"}, | |
22449 | {0x119B0,"NANDINAGARI LETTER GA"}, | |
22450 | {0x119B1,"NANDINAGARI LETTER GHA"}, | |
22451 | {0x119CE,"NANDINAGARI LETTER HA"}, | |
22452 | {0x119A2,"NANDINAGARI LETTER I"}, | |
22453 | {0x119A3,"NANDINAGARI LETTER II"}, | |
22454 | {0x119B5,"NANDINAGARI LETTER JA"}, | |
22455 | {0x119B6,"NANDINAGARI LETTER JHA"}, | |
22456 | {0x119AE,"NANDINAGARI LETTER KA"}, | |
22457 | {0x119AF,"NANDINAGARI LETTER KHA"}, | |
22458 | {0x119C9,"NANDINAGARI LETTER LA"}, | |
22459 | {0x119CF,"NANDINAGARI LETTER LLA"}, | |
22460 | {0x119C6,"NANDINAGARI LETTER MA"}, | |
22461 | {0x119C1,"NANDINAGARI LETTER NA"}, | |
22462 | {0x119B2,"NANDINAGARI LETTER NGA"}, | |
22463 | {0x119BC,"NANDINAGARI LETTER NNA"}, | |
22464 | {0x119B7,"NANDINAGARI LETTER NYA"}, | |
22465 | {0x119AC,"NANDINAGARI LETTER O"}, | |
22466 | {0x119C2,"NANDINAGARI LETTER PA"}, | |
22467 | {0x119C3,"NANDINAGARI LETTER PHA"}, | |
22468 | {0x119C8,"NANDINAGARI LETTER RA"}, | |
22469 | {0x119D0,"NANDINAGARI LETTER RRA"}, | |
22470 | {0x119CD,"NANDINAGARI LETTER SA"}, | |
22471 | {0x119CB,"NANDINAGARI LETTER SHA"}, | |
22472 | {0x119CC,"NANDINAGARI LETTER SSA"}, | |
22473 | {0x119BD,"NANDINAGARI LETTER TA"}, | |
22474 | {0x119BE,"NANDINAGARI LETTER THA"}, | |
22475 | {0x119B8,"NANDINAGARI LETTER TTA"}, | |
22476 | {0x119B9,"NANDINAGARI LETTER TTHA"}, | |
22477 | {0x119A4,"NANDINAGARI LETTER U"}, | |
22478 | {0x119A5,"NANDINAGARI LETTER UU"}, | |
22479 | {0x119CA,"NANDINAGARI LETTER VA"}, | |
22480 | {0x119A6,"NANDINAGARI LETTER VOCALIC R"}, | |
22481 | {0x119A7,"NANDINAGARI LETTER VOCALIC RR"}, | |
22482 | {0x119C7,"NANDINAGARI LETTER YA"}, | |
22483 | {0x119DE,"NANDINAGARI SIGN ANUSVARA"}, | |
22484 | {0x119E1,"NANDINAGARI SIGN AVAGRAHA"}, | |
22485 | {0x119E2,"NANDINAGARI SIGN SIDDHAM"}, | |
22486 | {0x119E0,"NANDINAGARI SIGN VIRAMA"}, | |
22487 | {0x119DF,"NANDINAGARI SIGN VISARGA"}, | |
22488 | {0x119D1,"NANDINAGARI VOWEL SIGN AA"}, | |
22489 | {0x119DB,"NANDINAGARI VOWEL SIGN AI"}, | |
22490 | {0x119DD,"NANDINAGARI VOWEL SIGN AU"}, | |
22491 | {0x119DA,"NANDINAGARI VOWEL SIGN E"}, | |
22492 | {0x119D2,"NANDINAGARI VOWEL SIGN I"}, | |
22493 | {0x119D3,"NANDINAGARI VOWEL SIGN II"}, | |
22494 | {0x119DC,"NANDINAGARI VOWEL SIGN O"}, | |
22495 | {0x119E4,"NANDINAGARI VOWEL SIGN PRISHTHAMATRA E"}, | |
22496 | {0x119D4,"NANDINAGARI VOWEL SIGN U"}, | |
22497 | {0x119D5,"NANDINAGARI VOWEL SIGN UU"}, | |
22498 | {0x119D6,"NANDINAGARI VOWEL SIGN VOCALIC R"}, | |
22499 | {0x119D7,"NANDINAGARI VOWEL SIGN VOCALIC RR"}, | |
22282 | 22500 | {0x202F,"NARROW NO-BREAK SPACE"}, |
22283 | 22501 | {0x206E,"NATIONAL DIGIT SHAPES"}, |
22284 | 22502 | {0x1F3DE,"NATIONAL PARK"}, |
22367 | 22585 | {0x2274,"NEITHER LESS-THAN NOR EQUIVALENT TO"}, |
22368 | 22586 | {0x2278,"NEITHER LESS-THAN NOR GREATER-THAN"}, |
22369 | 22587 | {0x2646,"NEPTUNE"}, |
22588 | {0x2BC9,"NEPTUNE FORM TWO"}, | |
22370 | 22589 | {0x1F913,"NERD FACE"}, |
22371 | 22590 | {0x2BDC,"NESSUS"}, |
22372 | 22591 | {0x26B2,"NEUTER"}, |
22592 | {0x1FA03,"NEUTRAL CHESS BISHOP"}, | |
22593 | {0x1FA18,"NEUTRAL CHESS BISHOP ROTATED NINETY DEGREES"}, | |
22594 | {0x1FA42,"NEUTRAL CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
22595 | {0x1FA4A,"NEUTRAL CHESS EQUIHOPPER"}, | |
22596 | {0x1FA4D,"NEUTRAL CHESS EQUIHOPPER ROTATED NINETY DEGREES"}, | |
22597 | {0x1FA00,"NEUTRAL CHESS KING"}, | |
22598 | {0x1FA15,"NEUTRAL CHESS KING ROTATED NINETY DEGREES"}, | |
22599 | {0x1FA3F,"NEUTRAL CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
22600 | {0x1FA04,"NEUTRAL CHESS KNIGHT"}, | |
22601 | {0x1FA08,"NEUTRAL CHESS KNIGHT ROTATED FORTY-FIVE DEGREES"}, | |
22602 | {0x1FA19,"NEUTRAL CHESS KNIGHT ROTATED NINETY DEGREES"}, | |
22603 | {0x1FA1D,"NEUTRAL CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES"}, | |
22604 | {0x1FA47,"NEUTRAL CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES"}, | |
22605 | {0x1FA43,"NEUTRAL CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
22606 | {0x1FA32,"NEUTRAL CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES"}, | |
22607 | {0x1FA05,"NEUTRAL CHESS PAWN"}, | |
22608 | {0x1FA1A,"NEUTRAL CHESS PAWN ROTATED NINETY DEGREES"}, | |
22609 | {0x1FA44,"NEUTRAL CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
22610 | {0x1FA01,"NEUTRAL CHESS QUEEN"}, | |
22611 | {0x1FA16,"NEUTRAL CHESS QUEEN ROTATED NINETY DEGREES"}, | |
22612 | {0x1FA40,"NEUTRAL CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
22613 | {0x1FA02,"NEUTRAL CHESS ROOK"}, | |
22614 | {0x1FA17,"NEUTRAL CHESS ROOK ROTATED NINETY DEGREES"}, | |
22615 | {0x1FA41,"NEUTRAL CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
22616 | {0x1FA2D,"NEUTRAL CHESS TURNED BISHOP"}, | |
22617 | {0x1FA2A,"NEUTRAL CHESS TURNED KING"}, | |
22618 | {0x1FA2E,"NEUTRAL CHESS TURNED KNIGHT"}, | |
22619 | {0x1FA2F,"NEUTRAL CHESS TURNED PAWN"}, | |
22620 | {0x1FA2B,"NEUTRAL CHESS TURNED QUEEN"}, | |
22621 | {0x1FA2C,"NEUTRAL CHESS TURNED ROOK"}, | |
22373 | 22622 | {0x1F610,"NEUTRAL FACE"}, |
22374 | 22623 | {0x1F311,"NEW MOON SYMBOL"}, |
22375 | 22624 | {0x1F31A,"NEW MOON WITH FACE"}, |
22520 | 22769 | {0x1141B,"NEWA LETTER TTHA"}, |
22521 | 22770 | {0x11404,"NEWA LETTER U"}, |
22522 | 22771 | {0x11405,"NEWA LETTER UU"}, |
22772 | {0x1145F,"NEWA LETTER VEDIC ANUSVARA"}, | |
22523 | 22773 | {0x11408,"NEWA LETTER VOCALIC L"}, |
22524 | 22774 | {0x11409,"NEWA LETTER VOCALIC LL"}, |
22525 | 22775 | {0x11406,"NEWA LETTER VOCALIC R"}, |
23117 | 23367 | {0x1B2FB,"NUSHU CHARACTER-1B2FB"}, |
23118 | 23368 | {0x16FE1,"NUSHU ITERATION MARK"}, |
23119 | 23369 | {0x1F529,"NUT AND BOLT"}, |
23370 | {0x1E14F,"NYIAKENG PUACHUE HMONG CIRCLED CA"}, | |
23371 | {0x1E148,"NYIAKENG PUACHUE HMONG DIGIT EIGHT"}, | |
23372 | {0x1E145,"NYIAKENG PUACHUE HMONG DIGIT FIVE"}, | |
23373 | {0x1E144,"NYIAKENG PUACHUE HMONG DIGIT FOUR"}, | |
23374 | {0x1E149,"NYIAKENG PUACHUE HMONG DIGIT NINE"}, | |
23375 | {0x1E141,"NYIAKENG PUACHUE HMONG DIGIT ONE"}, | |
23376 | {0x1E147,"NYIAKENG PUACHUE HMONG DIGIT SEVEN"}, | |
23377 | {0x1E146,"NYIAKENG PUACHUE HMONG DIGIT SIX"}, | |
23378 | {0x1E143,"NYIAKENG PUACHUE HMONG DIGIT THREE"}, | |
23379 | {0x1E142,"NYIAKENG PUACHUE HMONG DIGIT TWO"}, | |
23380 | {0x1E140,"NYIAKENG PUACHUE HMONG DIGIT ZERO"}, | |
23381 | {0x1E124,"NYIAKENG PUACHUE HMONG LETTER A"}, | |
23382 | {0x1E125,"NYIAKENG PUACHUE HMONG LETTER AA"}, | |
23383 | {0x1E108,"NYIAKENG PUACHUE HMONG LETTER CA"}, | |
23384 | {0x1E10F,"NYIAKENG PUACHUE HMONG LETTER DA"}, | |
23385 | {0x1E11D,"NYIAKENG PUACHUE HMONG LETTER DLA"}, | |
23386 | {0x1E12A,"NYIAKENG PUACHUE HMONG LETTER E"}, | |
23387 | {0x1E12B,"NYIAKENG PUACHUE HMONG LETTER EE"}, | |
23388 | {0x1E115,"NYIAKENG PUACHUE HMONG LETTER FA"}, | |
23389 | {0x1E122,"NYIAKENG PUACHUE HMONG LETTER GA"}, | |
23390 | {0x1E104,"NYIAKENG PUACHUE HMONG LETTER HA"}, | |
23391 | {0x1E11F,"NYIAKENG PUACHUE HMONG LETTER HAH"}, | |
23392 | {0x1E126,"NYIAKENG PUACHUE HMONG LETTER I"}, | |
23393 | {0x1E10E,"NYIAKENG PUACHUE HMONG LETTER KA"}, | |
23394 | {0x1E109,"NYIAKENG PUACHUE HMONG LETTER LA"}, | |
23395 | {0x1E100,"NYIAKENG PUACHUE HMONG LETTER MA"}, | |
23396 | {0x1E120,"NYIAKENG PUACHUE HMONG LETTER MLA"}, | |
23397 | {0x1E105,"NYIAKENG PUACHUE HMONG LETTER NA"}, | |
23398 | {0x1E10C,"NYIAKENG PUACHUE HMONG LETTER NCA"}, | |
23399 | {0x1E107,"NYIAKENG PUACHUE HMONG LETTER NKA"}, | |
23400 | {0x1E11C,"NYIAKENG PUACHUE HMONG LETTER NPA"}, | |
23401 | {0x1E11E,"NYIAKENG PUACHUE HMONG LETTER NPLA"}, | |
23402 | {0x1E119,"NYIAKENG PUACHUE HMONG LETTER NQA"}, | |
23403 | {0x1E111,"NYIAKENG PUACHUE HMONG LETTER NRA"}, | |
23404 | {0x1E102,"NYIAKENG PUACHUE HMONG LETTER NTA"}, | |
23405 | {0x1E10D,"NYIAKENG PUACHUE HMONG LETTER NTSA"}, | |
23406 | {0x1E113,"NYIAKENG PUACHUE HMONG LETTER NTXA"}, | |
23407 | {0x1E110,"NYIAKENG PUACHUE HMONG LETTER NYA"}, | |
23408 | {0x1E128,"NYIAKENG PUACHUE HMONG LETTER O"}, | |
23409 | {0x1E129,"NYIAKENG PUACHUE HMONG LETTER OO"}, | |
23410 | {0x1E11A,"NYIAKENG PUACHUE HMONG LETTER PA"}, | |
23411 | {0x1E121,"NYIAKENG PUACHUE HMONG LETTER PLA"}, | |
23412 | {0x1E117,"NYIAKENG PUACHUE HMONG LETTER QA"}, | |
23413 | {0x1E116,"NYIAKENG PUACHUE HMONG LETTER RA"}, | |
23414 | {0x1E123,"NYIAKENG PUACHUE HMONG LETTER RRA"}, | |
23415 | {0x1E10A,"NYIAKENG PUACHUE HMONG LETTER SA"}, | |
23416 | {0x1E103,"NYIAKENG PUACHUE HMONG LETTER TA"}, | |
23417 | {0x1E101,"NYIAKENG PUACHUE HMONG LETTER TSA"}, | |
23418 | {0x1E114,"NYIAKENG PUACHUE HMONG LETTER TXA"}, | |
23419 | {0x1E127,"NYIAKENG PUACHUE HMONG LETTER U"}, | |
23420 | {0x1E112,"NYIAKENG PUACHUE HMONG LETTER VA"}, | |
23421 | {0x1E12C,"NYIAKENG PUACHUE HMONG LETTER W"}, | |
23422 | {0x1E106,"NYIAKENG PUACHUE HMONG LETTER XA"}, | |
23423 | {0x1E11B,"NYIAKENG PUACHUE HMONG LETTER XYA"}, | |
23424 | {0x1E118,"NYIAKENG PUACHUE HMONG LETTER YA"}, | |
23425 | {0x1E10B,"NYIAKENG PUACHUE HMONG LETTER ZA"}, | |
23426 | {0x1E14E,"NYIAKENG PUACHUE HMONG LOGOGRAM NYAJ"}, | |
23427 | {0x1E13A,"NYIAKENG PUACHUE HMONG SIGN FOR ANIMAL"}, | |
23428 | {0x1E13B,"NYIAKENG PUACHUE HMONG SIGN FOR INVERTEBRATE"}, | |
23429 | {0x1E139,"NYIAKENG PUACHUE HMONG SIGN FOR LOCATION"}, | |
23430 | {0x1E137,"NYIAKENG PUACHUE HMONG SIGN FOR PERSON"}, | |
23431 | {0x1E138,"NYIAKENG PUACHUE HMONG SIGN FOR THING"}, | |
23432 | {0x1E13C,"NYIAKENG PUACHUE HMONG SIGN XW XW"}, | |
23433 | {0x1E13D,"NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER"}, | |
23434 | {0x1E130,"NYIAKENG PUACHUE HMONG TONE-B"}, | |
23435 | {0x1E136,"NYIAKENG PUACHUE HMONG TONE-D"}, | |
23436 | {0x1E135,"NYIAKENG PUACHUE HMONG TONE-G"}, | |
23437 | {0x1E132,"NYIAKENG PUACHUE HMONG TONE-J"}, | |
23438 | {0x1E131,"NYIAKENG PUACHUE HMONG TONE-M"}, | |
23439 | {0x1E134,"NYIAKENG PUACHUE HMONG TONE-S"}, | |
23440 | {0x1E133,"NYIAKENG PUACHUE HMONG TONE-V"}, | |
23120 | 23441 | {0xFFFC,"OBJECT REPLACEMENT CHARACTER"}, |
23121 | 23442 | {0x29A7,"OBLIQUE ANGLE OPENING DOWN"}, |
23122 | 23443 | {0x29A6,"OBLIQUE ANGLE OPENING UP"}, |
23217 | 23538 | {0x1C7F,"OL CHIKI PUNCTUATION DOUBLE MUCAAD"}, |
23218 | 23539 | {0x1C7E,"OL CHIKI PUNCTUATION MUCAAD"}, |
23219 | 23540 | {0x1C7B,"OL CHIKI RELAA"}, |
23541 | {0x16FE2,"OLD CHINESE HOOK MARK"}, | |
23542 | {0x16FE3,"OLD CHINESE ITERATION MARK"}, | |
23220 | 23543 | {0x10C80,"OLD HUNGARIAN CAPITAL LETTER A"}, |
23221 | 23544 | {0x10C81,"OLD HUNGARIAN CAPITAL LETTER AA"}, |
23222 | 23545 | {0x10C94,"OLD HUNGARIAN CAPITAL LETTER AK"}, |
23644 | 23967 | {0x1F5AF,"ONE BUTTON MOUSE"}, |
23645 | 23968 | {0x2024,"ONE DOT LEADER"}, |
23646 | 23969 | {0x2E2B,"ONE DOT OVER TWO DOTS PUNCTUATION"}, |
23970 | {0x1FA71,"ONE-PIECE SWIMSUIT"}, | |
23971 | {0x1F9C5,"ONION"}, | |
23647 | 23972 | {0x1F4D6,"OPEN BOOK"}, |
23648 | 23973 | {0x2423,"OPEN BOX"}, |
23649 | 23974 | {0x2732,"OPEN CENTRE ASTERISK"}, |
23669 | 23994 | {0x27C7,"OR WITH DOT INSIDE"}, |
23670 | 23995 | {0x1F4D9,"ORANGE BOOK"}, |
23671 | 23996 | {0x1F9E1,"ORANGE HEART"}, |
23997 | {0x1F9A7,"ORANGUTAN"}, | |
23672 | 23998 | {0x22B6,"ORIGINAL OF"}, |
23673 | 23999 | {0x0B56,"ORIYA AI LENGTH MARK"}, |
23674 | 24000 | {0x0B57,"ORIYA AU LENGTH MARK"}, |
23875 | 24201 | {0x10493,"OSMANYA LETTER WAW"}, |
23876 | 24202 | {0x10484,"OSMANYA LETTER XA"}, |
23877 | 24203 | {0x10495,"OSMANYA LETTER YA"}, |
24204 | {0x1F9A6,"OTTER"}, | |
24205 | {0x1ED35,"OTTOMAN SIYAQ ALTERNATE NUMBER EIGHT"}, | |
24206 | {0x1ED32,"OTTOMAN SIYAQ ALTERNATE NUMBER FIVE"}, | |
24207 | {0x1ED31,"OTTOMAN SIYAQ ALTERNATE NUMBER FOUR"}, | |
24208 | {0x1ED38,"OTTOMAN SIYAQ ALTERNATE NUMBER FOUR HUNDRED"}, | |
24209 | {0x1ED36,"OTTOMAN SIYAQ ALTERNATE NUMBER NINE"}, | |
24210 | {0x1ED34,"OTTOMAN SIYAQ ALTERNATE NUMBER SEVEN"}, | |
24211 | {0x1ED33,"OTTOMAN SIYAQ ALTERNATE NUMBER SIX"}, | |
24212 | {0x1ED39,"OTTOMAN SIYAQ ALTERNATE NUMBER SIX HUNDRED"}, | |
24213 | {0x1ED37,"OTTOMAN SIYAQ ALTERNATE NUMBER TEN"}, | |
24214 | {0x1ED3B,"OTTOMAN SIYAQ ALTERNATE NUMBER TEN THOUSAND"}, | |
24215 | {0x1ED30,"OTTOMAN SIYAQ ALTERNATE NUMBER THREE"}, | |
24216 | {0x1ED2F,"OTTOMAN SIYAQ ALTERNATE NUMBER TWO"}, | |
24217 | {0x1ED3A,"OTTOMAN SIYAQ ALTERNATE NUMBER TWO THOUSAND"}, | |
24218 | {0x1ED3C,"OTTOMAN SIYAQ FRACTION ONE HALF"}, | |
24219 | {0x1ED3D,"OTTOMAN SIYAQ FRACTION ONE SIXTH"}, | |
24220 | {0x1ED2E,"OTTOMAN SIYAQ MARRATAN"}, | |
24221 | {0x1ED08,"OTTOMAN SIYAQ NUMBER EIGHT"}, | |
24222 | {0x1ED1A,"OTTOMAN SIYAQ NUMBER EIGHT HUNDRED"}, | |
24223 | {0x1ED23,"OTTOMAN SIYAQ NUMBER EIGHT THOUSAND"}, | |
24224 | {0x1ED11,"OTTOMAN SIYAQ NUMBER EIGHTY"}, | |
24225 | {0x1ED2C,"OTTOMAN SIYAQ NUMBER EIGHTY THOUSAND"}, | |
24226 | {0x1ED0E,"OTTOMAN SIYAQ NUMBER FIFTY"}, | |
24227 | {0x1ED29,"OTTOMAN SIYAQ NUMBER FIFTY THOUSAND"}, | |
24228 | {0x1ED05,"OTTOMAN SIYAQ NUMBER FIVE"}, | |
24229 | {0x1ED17,"OTTOMAN SIYAQ NUMBER FIVE HUNDRED"}, | |
24230 | {0x1ED20,"OTTOMAN SIYAQ NUMBER FIVE THOUSAND"}, | |
24231 | {0x1ED0D,"OTTOMAN SIYAQ NUMBER FORTY"}, | |
24232 | {0x1ED28,"OTTOMAN SIYAQ NUMBER FORTY THOUSAND"}, | |
24233 | {0x1ED04,"OTTOMAN SIYAQ NUMBER FOUR"}, | |
24234 | {0x1ED16,"OTTOMAN SIYAQ NUMBER FOUR HUNDRED"}, | |
24235 | {0x1ED1F,"OTTOMAN SIYAQ NUMBER FOUR THOUSAND"}, | |
24236 | {0x1ED09,"OTTOMAN SIYAQ NUMBER NINE"}, | |
24237 | {0x1ED1B,"OTTOMAN SIYAQ NUMBER NINE HUNDRED"}, | |
24238 | {0x1ED24,"OTTOMAN SIYAQ NUMBER NINE THOUSAND"}, | |
24239 | {0x1ED12,"OTTOMAN SIYAQ NUMBER NINETY"}, | |
24240 | {0x1ED2D,"OTTOMAN SIYAQ NUMBER NINETY THOUSAND"}, | |
24241 | {0x1ED01,"OTTOMAN SIYAQ NUMBER ONE"}, | |
24242 | {0x1ED13,"OTTOMAN SIYAQ NUMBER ONE HUNDRED"}, | |
24243 | {0x1ED1C,"OTTOMAN SIYAQ NUMBER ONE THOUSAND"}, | |
24244 | {0x1ED07,"OTTOMAN SIYAQ NUMBER SEVEN"}, | |
24245 | {0x1ED19,"OTTOMAN SIYAQ NUMBER SEVEN HUNDRED"}, | |
24246 | {0x1ED22,"OTTOMAN SIYAQ NUMBER SEVEN THOUSAND"}, | |
24247 | {0x1ED10,"OTTOMAN SIYAQ NUMBER SEVENTY"}, | |
24248 | {0x1ED2B,"OTTOMAN SIYAQ NUMBER SEVENTY THOUSAND"}, | |
24249 | {0x1ED06,"OTTOMAN SIYAQ NUMBER SIX"}, | |
24250 | {0x1ED18,"OTTOMAN SIYAQ NUMBER SIX HUNDRED"}, | |
24251 | {0x1ED21,"OTTOMAN SIYAQ NUMBER SIX THOUSAND"}, | |
24252 | {0x1ED0F,"OTTOMAN SIYAQ NUMBER SIXTY"}, | |
24253 | {0x1ED2A,"OTTOMAN SIYAQ NUMBER SIXTY THOUSAND"}, | |
24254 | {0x1ED0A,"OTTOMAN SIYAQ NUMBER TEN"}, | |
24255 | {0x1ED25,"OTTOMAN SIYAQ NUMBER TEN THOUSAND"}, | |
24256 | {0x1ED0C,"OTTOMAN SIYAQ NUMBER THIRTY"}, | |
24257 | {0x1ED27,"OTTOMAN SIYAQ NUMBER THIRTY THOUSAND"}, | |
24258 | {0x1ED03,"OTTOMAN SIYAQ NUMBER THREE"}, | |
24259 | {0x1ED15,"OTTOMAN SIYAQ NUMBER THREE HUNDRED"}, | |
24260 | {0x1ED1E,"OTTOMAN SIYAQ NUMBER THREE THOUSAND"}, | |
24261 | {0x1ED0B,"OTTOMAN SIYAQ NUMBER TWENTY"}, | |
24262 | {0x1ED26,"OTTOMAN SIYAQ NUMBER TWENTY THOUSAND"}, | |
24263 | {0x1ED02,"OTTOMAN SIYAQ NUMBER TWO"}, | |
24264 | {0x1ED14,"OTTOMAN SIYAQ NUMBER TWO HUNDRED"}, | |
24265 | {0x1ED1D,"OTTOMAN SIYAQ NUMBER TWO THOUSAND"}, | |
23878 | 24266 | {0x2125,"OUNCE SIGN"}, |
23879 | 24267 | {0x1F4E4,"OUTBOX TRAY"}, |
23880 | 24268 | {0x272D,"OUTLINED BLACK STAR"}, |
23889 | 24277 | {0x203E,"OVERLINE"}, |
23890 | 24278 | {0x1F989,"OWL"}, |
23891 | 24279 | {0x1F402,"OX"}, |
24280 | {0x1F9AA,"OYSTER"}, | |
23892 | 24281 | {0x1F4E6,"PACKAGE"}, |
23893 | 24282 | {0x1F5CF,"PAGE"}, |
23894 | 24283 | {0x1F4C4,"PAGE FACING UP"}, |
24063 | 24452 | {0x1F95E,"PANCAKES"}, |
24064 | 24453 | {0x1F43C,"PANDA FACE"}, |
24065 | 24454 | {0x1F4CE,"PAPERCLIP"}, |
24455 | {0x1FA82,"PARACHUTE"}, | |
24066 | 24456 | {0x2029,"PARAGRAPH SEPARATOR"}, |
24067 | 24457 | {0x2E0F,"PARAGRAPHOS"}, |
24068 | 24458 | {0x2E4D,"PARAGRAPHUS MARK"}, |
24456 | 24846 | {0x00B6,"PILCROW SIGN"}, |
24457 | 24847 | {0x1F4A9,"PILE OF POO"}, |
24458 | 24848 | {0x1F48A,"PILL"}, |
24849 | {0x1F90F,"PINCHING HAND"}, | |
24459 | 24850 | {0x1F38D,"PINE DECORATION"}, |
24460 | 24851 | {0x1F34D,"PINEAPPLE"}, |
24461 | 24852 | {0x272F,"PINWHEEL STAR"}, |
24649 | 25040 | {0x2399,"PRINT SCREEN SYMBOL"}, |
24650 | 25041 | {0x1F5A8,"PRINTER"}, |
24651 | 25042 | {0x1F5B6,"PRINTER ICON"}, |
25043 | {0x1F9AF,"PROBING CANE"}, | |
24652 | 25044 | {0x1F6C7,"PROHIBITED SIGN"}, |
24653 | 25045 | {0x2305,"PROJECTIVE"}, |
24654 | 25046 | {0x214A,"PROPERTY LINE"}, |
24734 | 25126 | {0x2E06,"RAISED INTERPOLATION MARKER"}, |
24735 | 25127 | {0x1F16A,"RAISED MC SIGN"}, |
24736 | 25128 | {0x1F16B,"RAISED MD SIGN"}, |
25129 | {0x1F16C,"RAISED MR SIGN"}, | |
24737 | 25130 | {0x2E0B,"RAISED SQUARE"}, |
24738 | 25131 | {0x1F40F,"RAM"}, |
24739 | 25132 | {0x1F400,"RAT"}, |
24740 | 25133 | {0x2236,"RATIO"}, |
25134 | {0x1FA92,"RAZOR"}, | |
24741 | 25135 | {0x1F9FE,"RECEIPT"}, |
24742 | 25136 | {0x1F699,"RECREATIONAL VEHICLE"}, |
24743 | 25137 | {0x267C,"RECYCLED PAPER SYMBOL"}, |
25069 | 25463 | {0x2256,"RING IN EQUAL TO"}, |
25070 | 25464 | {0x2218,"RING OPERATOR"}, |
25071 | 25465 | {0x2E30,"RING POINT"}, |
25466 | {0x1FA90,"RINGED PLANET"}, | |
25072 | 25467 | {0x1F56D,"RINGING BELL"}, |
25073 | 25468 | {0x292B,"RISING DIAGONAL CROSSING FALLING DIAGONAL"}, |
25074 | 25469 | {0x2930,"RISING DIAGONAL CROSSING SOUTH EAST ARROW"}, |
25266 | 25661 | {0x2BF3,"RUSSIAN ASTROLOGICAL SYMBOL VIGINTILE"}, |
25267 | 25662 | {0x29CC,"S IN TRIANGLE"}, |
25268 | 25663 | {0x1F9F7,"SAFETY PIN"}, |
25664 | {0x1F9BA,"SAFETY VEST"}, | |
25269 | 25665 | {0x2650,"SAGITTARIUS"}, |
25270 | 25666 | {0x26F5,"SAILBOAT"}, |
25271 | 25667 | {0x1F376,"SAKE BOTTLE AND CUP"}, |
25337 | 25733 | {0x1F676,"SANS-SERIF HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT"}, |
25338 | 25734 | {0x1F678,"SANS-SERIF HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT"}, |
25339 | 25735 | {0x1F67A,"SANS-SERIF INTERROBANG ORNAMENT"}, |
25736 | {0x1F97B,"SARI"}, | |
25340 | 25737 | {0x1F6F0,"SATELLITE"}, |
25341 | 25738 | {0x1F4E1,"SATELLITE ANTENNA"}, |
25342 | 25739 | {0x2644,"SATURN"}, |
25639 | 26036 | {0x1BCA2,"SHORTHAND FORMAT DOWN STEP"}, |
25640 | 26037 | {0x1BCA0,"SHORTHAND FORMAT LETTER OVERLAP"}, |
25641 | 26038 | {0x1BCA3,"SHORTHAND FORMAT UP STEP"}, |
26039 | {0x1FA73,"SHORTS"}, | |
25642 | 26040 | {0x237D,"SHOULDERED OPEN BOX"}, |
25643 | 26041 | {0x1F6BF,"SHOWER"}, |
25644 | 26042 | {0x1F990,"SHRIMP"}, |
26549 | 26947 | {0x26F7,"SKIER"}, |
26550 | 26948 | {0x1F480,"SKULL"}, |
26551 | 26949 | {0x2620,"SKULL AND CROSSBONES"}, |
26950 | {0x1F9A8,"SKUNK"}, | |
26552 | 26951 | {0x2A96,"SLANTED EQUAL TO OR GREATER-THAN"}, |
26553 | 26952 | {0x2A98,"SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE"}, |
26554 | 26953 | {0x2A95,"SLANTED EQUAL TO OR LESS-THAN"}, |
26569 | 26968 | {0x2A58,"SLOPING LARGE AND"}, |
26570 | 26969 | {0x2A57,"SLOPING LARGE OR"}, |
26571 | 26970 | {0x1F3B0,"SLOT MACHINE"}, |
26971 | {0x1F9A5,"SLOTH"}, | |
26572 | 26972 | {0x1F6E9,"SMALL AIRPLANE"}, |
26573 | 26973 | {0xFE60,"SMALL AMPERSAND"}, |
26574 | 26974 | {0xFE61,"SMALL ASTERISK"}, |
26832 | 27232 | {0x11A9B,"SOYOMBO MARK SHAD"}, |
26833 | 27233 | {0x11A9A,"SOYOMBO MARK TSHEG"}, |
26834 | 27234 | {0x11A96,"SOYOMBO SIGN ANUSVARA"}, |
27235 | {0x11A84,"SOYOMBO SIGN JIHVAMULIYA"}, | |
27236 | {0x11A85,"SOYOMBO SIGN UPADHMANIYA"}, | |
26835 | 27237 | {0x11A97,"SOYOMBO SIGN VISARGA"}, |
26836 | 27238 | {0x11A99,"SOYOMBO SUBJOINER"}, |
26837 | 27239 | {0x11AA1,"SOYOMBO TERMINAL MARK-1"}, |
27237 | 27639 | {0x2695,"STAFF OF AESCULAPIUS"}, |
27238 | 27640 | {0x269A,"STAFF OF HERMES"}, |
27239 | 27641 | {0x1F583,"STAMPED ENVELOPE"}, |
27642 | {0x1F9CD,"STANDING PERSON"}, | |
27240 | 27643 | {0x262A,"STAR AND CRESCENT"}, |
27241 | 27644 | {0x225B,"STAR EQUALS"}, |
27242 | 27645 | {0x2721,"STAR OF DAVID"}, |
27248 | 27651 | {0x1F682,"STEAM LOCOMOTIVE"}, |
27249 | 27652 | {0x1F35C,"STEAMING BOWL"}, |
27250 | 27653 | {0x2E3C,"STENOGRAPHIC FULL STOP"}, |
27654 | {0x1FA7A,"STETHOSCOPE"}, | |
27251 | 27655 | {0x1F5E0,"STOCK CHART"}, |
27252 | 27656 | {0x23F1,"STOPWATCH"}, |
27253 | 27657 | {0x1F4CF,"STRAIGHT RULER"}, |
27983 | 28387 | {0x11680,"TAKRI LETTER A"}, |
27984 | 28388 | {0x11681,"TAKRI LETTER AA"}, |
27985 | 28389 | {0x11687,"TAKRI LETTER AI"}, |
28390 | {0x116B8,"TAKRI LETTER ARCHAIC KHA"}, | |
27986 | 28391 | {0x11689,"TAKRI LETTER AU"}, |
27987 | 28392 | {0x116A0,"TAKRI LETTER BA"}, |
27988 | 28393 | {0x116A1,"TAKRI LETTER BHA"}, |
28038 | 28443 | {0x116B1,"TAKRI VOWEL SIGN UU"}, |
28039 | 28444 | {0x1D378,"TALLY MARK FIVE"}, |
28040 | 28445 | {0x1D377,"TALLY MARK ONE"}, |
28446 | {0x11FEB,"TAMIL AND ODD SIGN"}, | |
28041 | 28447 | {0x0BF8,"TAMIL AS ABOVE SIGN"}, |
28042 | 28448 | {0x0BD7,"TAMIL AU LENGTH MARK"}, |
28043 | 28449 | {0x0BF7,"TAMIL CREDIT SIGN"}, |
28450 | {0x11FEA,"TAMIL CURRENT SIGN"}, | |
28044 | 28451 | {0x0BF3,"TAMIL DAY SIGN"}, |
28045 | 28452 | {0x0BF6,"TAMIL DEBIT SIGN"}, |
28046 | 28453 | {0x0BEE,"TAMIL DIGIT EIGHT"}, |
28053 | 28460 | {0x0BE9,"TAMIL DIGIT THREE"}, |
28054 | 28461 | {0x0BE8,"TAMIL DIGIT TWO"}, |
28055 | 28462 | {0x0BE6,"TAMIL DIGIT ZERO"}, |
28463 | {0x11FE5,"TAMIL DRY CULTIVATION SIGN"}, | |
28464 | {0x11FD4,"TAMIL FRACTION DOWNSCALING FACTOR KIIZH"}, | |
28465 | {0x11FCC,"TAMIL FRACTION ONE EIGHTH"}, | |
28466 | {0x11FC2,"TAMIL FRACTION ONE EIGHTIETH"}, | |
28467 | {0x11FCF,"TAMIL FRACTION ONE FIFTH"}, | |
28468 | {0x11FC4,"TAMIL FRACTION ONE FORTIETH"}, | |
28469 | {0x11FD1,"TAMIL FRACTION ONE HALF-1"}, | |
28470 | {0x11FD2,"TAMIL FRACTION ONE HALF-2"}, | |
28471 | {0x11FC1,"TAMIL FRACTION ONE ONE-HUNDRED-AND-SIXTIETH"}, | |
28472 | {0x11FD0,"TAMIL FRACTION ONE QUARTER"}, | |
28473 | {0x11FC9,"TAMIL FRACTION ONE SIXTEENTH-1"}, | |
28474 | {0x11FCA,"TAMIL FRACTION ONE SIXTEENTH-2"}, | |
28475 | {0x11FC3,"TAMIL FRACTION ONE SIXTY-FOURTH"}, | |
28476 | {0x11FCB,"TAMIL FRACTION ONE TENTH"}, | |
28477 | {0x11FC5,"TAMIL FRACTION ONE THIRTY-SECOND"}, | |
28478 | {0x11FC0,"TAMIL FRACTION ONE THREE-HUNDRED-AND-TWENTIETH"}, | |
28479 | {0x11FC8,"TAMIL FRACTION ONE TWENTIETH"}, | |
28480 | {0x11FC6,"TAMIL FRACTION THREE EIGHTIETHS"}, | |
28481 | {0x11FD3,"TAMIL FRACTION THREE QUARTERS"}, | |
28482 | {0x11FCE,"TAMIL FRACTION THREE SIXTEENTHS"}, | |
28483 | {0x11FC7,"TAMIL FRACTION THREE SIXTY-FOURTHS"}, | |
28484 | {0x11FCD,"TAMIL FRACTION THREE TWENTIETHS"}, | |
28485 | {0x11FEE,"TAMIL IN POSSESSION SIGN"}, | |
28486 | {0x11FE6,"TAMIL LAND SIGN"}, | |
28056 | 28487 | {0x0B85,"TAMIL LETTER A"}, |
28057 | 28488 | {0x0B86,"TAMIL LETTER AA"}, |
28058 | 28489 | {0x0B90,"TAMIL LETTER AI"}, |
28094 | 28525 | {0x0BFA,"TAMIL NUMBER SIGN"}, |
28095 | 28526 | {0x0BF0,"TAMIL NUMBER TEN"}, |
28096 | 28527 | {0x0BD0,"TAMIL OM"}, |
28528 | {0x11FFF,"TAMIL PUNCTUATION END OF TEXT"}, | |
28097 | 28529 | {0x0BF9,"TAMIL RUPEE SIGN"}, |
28530 | {0x11FE7,"TAMIL SALT PAN SIGN"}, | |
28531 | {0x11FD7,"TAMIL SIGN AAZHAAKKU"}, | |
28098 | 28532 | {0x0B82,"TAMIL SIGN ANUSVARA"}, |
28533 | {0x11FD6,"TAMIL SIGN CEVITU"}, | |
28534 | {0x11FDD,"TAMIL SIGN KAACU"}, | |
28535 | {0x11FDA,"TAMIL SIGN KURUNI"}, | |
28536 | {0x11FE2,"TAMIL SIGN KUZHI"}, | |
28537 | {0x11FDC,"TAMIL SIGN MUKKURUNI"}, | |
28538 | {0x11FF0,"TAMIL SIGN MUTHALIYA"}, | |
28539 | {0x11FD9,"TAMIL SIGN MUUVUZHAKKU"}, | |
28540 | {0x11FD5,"TAMIL SIGN NEL"}, | |
28541 | {0x11FE1,"TAMIL SIGN PAARAM"}, | |
28542 | {0x11FDE,"TAMIL SIGN PANAM"}, | |
28543 | {0x11FDB,"TAMIL SIGN PATHAKKU"}, | |
28544 | {0x11FDF,"TAMIL SIGN PON"}, | |
28545 | {0x11FD8,"TAMIL SIGN UZHAKKU"}, | |
28546 | {0x11FF1,"TAMIL SIGN VAKAIYARAA"}, | |
28547 | {0x11FE0,"TAMIL SIGN VARAAKAN"}, | |
28548 | {0x11FE3,"TAMIL SIGN VELI"}, | |
28099 | 28549 | {0x0BCD,"TAMIL SIGN VIRAMA"}, |
28100 | 28550 | {0x0B83,"TAMIL SIGN VISARGA"}, |
28551 | {0x11FEC,"TAMIL SPENT SIGN"}, | |
28552 | {0x11FEF,"TAMIL STARTING FROM SIGN"}, | |
28553 | {0x11FED,"TAMIL TOTAL SIGN"}, | |
28554 | {0x11FE8,"TAMIL TRADITIONAL CREDIT SIGN"}, | |
28555 | {0x11FE9,"TAMIL TRADITIONAL NUMBER SIGN"}, | |
28101 | 28556 | {0x0BBE,"TAMIL VOWEL SIGN AA"}, |
28102 | 28557 | {0x0BC8,"TAMIL VOWEL SIGN AI"}, |
28103 | 28558 | {0x0BCC,"TAMIL VOWEL SIGN AU"}, |
28109 | 28564 | {0x0BCB,"TAMIL VOWEL SIGN OO"}, |
28110 | 28565 | {0x0BC1,"TAMIL VOWEL SIGN U"}, |
28111 | 28566 | {0x0BC2,"TAMIL VOWEL SIGN UU"}, |
28567 | {0x11FE4,"TAMIL WET CULTIVATION SIGN"}, | |
28112 | 28568 | {0x0BF5,"TAMIL YEAR SIGN"}, |
28113 | 28569 | {0x1F38B,"TANABATA TREE"}, |
28114 | 28570 | {0x1F34A,"TANGERINE"}, |
28964 | 29420 | {0x0C01,"TELUGU SIGN CANDRABINDU"}, |
28965 | 29421 | {0x0C04,"TELUGU SIGN COMBINING ANUSVARA ABOVE"}, |
28966 | 29422 | {0x0C00,"TELUGU SIGN COMBINING CANDRABINDU ABOVE"}, |
29423 | {0x0C77,"TELUGU SIGN SIDDHAM"}, | |
28967 | 29424 | {0x0C7F,"TELUGU SIGN TUUMU"}, |
28968 | 29425 | {0x0C4D,"TELUGU SIGN VIRAMA"}, |
28969 | 29426 | {0x0C03,"TELUGU SIGN VISARGA"}, |
30461 | 30918 | {0x1CEC,"VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL"}, |
30462 | 30919 | {0x1CF2,"VEDIC SIGN ARDHAVISARGA"}, |
30463 | 30920 | {0x1CF7,"VEDIC SIGN ATIKRAMA"}, |
30921 | {0x1CFA,"VEDIC SIGN DOUBLE ANUSVARA ANTARGOMUKHA"}, | |
30464 | 30922 | {0x1CEE,"VEDIC SIGN HEXIFORM LONG ANUSVARA"}, |
30465 | 30923 | {0x1CF5,"VEDIC SIGN JIHVAMULIYA"}, |
30466 | 30924 | {0x1CEF,"VEDIC SIGN LONG ANUSVARA"}, |
30565 | 31023 | {0x2156,"VULGAR FRACTION TWO FIFTHS"}, |
30566 | 31024 | {0x2154,"VULGAR FRACTION TWO THIRDS"}, |
30567 | 31025 | {0x2189,"VULGAR FRACTION ZERO THIRDS"}, |
31026 | {0x1F9C7,"WAFFLE"}, | |
31027 | {0x1E2F8,"WANCHO DIGIT EIGHT"}, | |
31028 | {0x1E2F5,"WANCHO DIGIT FIVE"}, | |
31029 | {0x1E2F4,"WANCHO DIGIT FOUR"}, | |
31030 | {0x1E2F9,"WANCHO DIGIT NINE"}, | |
31031 | {0x1E2F1,"WANCHO DIGIT ONE"}, | |
31032 | {0x1E2F7,"WANCHO DIGIT SEVEN"}, | |
31033 | {0x1E2F6,"WANCHO DIGIT SIX"}, | |
31034 | {0x1E2F3,"WANCHO DIGIT THREE"}, | |
31035 | {0x1E2F2,"WANCHO DIGIT TWO"}, | |
31036 | {0x1E2F0,"WANCHO DIGIT ZERO"}, | |
31037 | {0x1E2C1,"WANCHO LETTER A"}, | |
31038 | {0x1E2C0,"WANCHO LETTER AA"}, | |
31039 | {0x1E2E8,"WANCHO LETTER AAN"}, | |
31040 | {0x1E2E3,"WANCHO LETTER AANG"}, | |
31041 | {0x1E2E4,"WANCHO LETTER ANG"}, | |
31042 | {0x1E2D6,"WANCHO LETTER AU"}, | |
31043 | {0x1E2C2,"WANCHO LETTER BA"}, | |
31044 | {0x1E2C3,"WANCHO LETTER CA"}, | |
31045 | {0x1E2C4,"WANCHO LETTER DA"}, | |
31046 | {0x1E2DB,"WANCHO LETTER E"}, | |
31047 | {0x1E2E7,"WANCHO LETTER EN"}, | |
31048 | {0x1E2CD,"WANCHO LETTER FA"}, | |
31049 | {0x1E2C5,"WANCHO LETTER GA"}, | |
31050 | {0x1E2DA,"WANCHO LETTER HA"}, | |
31051 | {0x1E2DC,"WANCHO LETTER I"}, | |
31052 | {0x1E2E5,"WANCHO LETTER ING"}, | |
31053 | {0x1E2D0,"WANCHO LETTER JA"}, | |
31054 | {0x1E2D4,"WANCHO LETTER KA"}, | |
31055 | {0x1E2D9,"WANCHO LETTER KHA"}, | |
31056 | {0x1E2C8,"WANCHO LETTER LA"}, | |
31057 | {0x1E2DF,"WANCHO LETTER LLHA"}, | |
31058 | {0x1E2D8,"WANCHO LETTER MA"}, | |
31059 | {0x1E2C9,"WANCHO LETTER NA"}, | |
31060 | {0x1E2DD,"WANCHO LETTER NGA"}, | |
31061 | {0x1E2E9,"WANCHO LETTER NYA"}, | |
31062 | {0x1E2D5,"WANCHO LETTER O"}, | |
31063 | {0x1E2E6,"WANCHO LETTER ON"}, | |
31064 | {0x1E2E2,"WANCHO LETTER ONG"}, | |
31065 | {0x1E2CA,"WANCHO LETTER PA"}, | |
31066 | {0x1E2C7,"WANCHO LETTER PHA"}, | |
31067 | {0x1E2D7,"WANCHO LETTER RA"}, | |
31068 | {0x1E2CE,"WANCHO LETTER SA"}, | |
31069 | {0x1E2CF,"WANCHO LETTER SHA"}, | |
31070 | {0x1E2CB,"WANCHO LETTER TA"}, | |
31071 | {0x1E2CC,"WANCHO LETTER THA"}, | |
31072 | {0x1E2E1,"WANCHO LETTER TRA"}, | |
31073 | {0x1E2E0,"WANCHO LETTER TSA"}, | |
31074 | {0x1E2DE,"WANCHO LETTER U"}, | |
31075 | {0x1E2EA,"WANCHO LETTER UEN"}, | |
31076 | {0x1E2D3,"WANCHO LETTER VA"}, | |
31077 | {0x1E2D2,"WANCHO LETTER WA"}, | |
31078 | {0x1E2C6,"WANCHO LETTER YA"}, | |
31079 | {0x1E2EB,"WANCHO LETTER YIH"}, | |
31080 | {0x1E2D1,"WANCHO LETTER ZA"}, | |
31081 | {0x1E2FF,"WANCHO NGUN SIGN"}, | |
31082 | {0x1E2EE,"WANCHO TONE KOI"}, | |
31083 | {0x1E2EF,"WANCHO TONE KOINI"}, | |
31084 | {0x1E2EC,"WANCHO TONE TUP"}, | |
31085 | {0x1E2ED,"WANCHO TONE TUPNI"}, | |
30568 | 31086 | {0x1F318,"WANING CRESCENT MOON SYMBOL"}, |
30569 | 31087 | {0x1F316,"WANING GIBBOUS MOON SYMBOL"}, |
30570 | 31088 | {0x118A1,"WARANG CITI CAPITAL LETTER A"}, |
30684 | 31202 | {0x1F8AD,"WHITE ARROW SHAFT WIDTH TWO THIRDS"}, |
30685 | 31203 | {0x25E6,"WHITE BULLET"}, |
30686 | 31204 | {0x2657,"WHITE CHESS BISHOP"}, |
31205 | {0x1FA0C,"WHITE CHESS BISHOP ROTATED NINETY DEGREES"}, | |
31206 | {0x1FA36,"WHITE CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
31207 | {0x1FA48,"WHITE CHESS EQUIHOPPER"}, | |
31208 | {0x1FA4B,"WHITE CHESS EQUIHOPPER ROTATED NINETY DEGREES"}, | |
30687 | 31209 | {0x2654,"WHITE CHESS KING"}, |
31210 | {0x1FA09,"WHITE CHESS KING ROTATED NINETY DEGREES"}, | |
31211 | {0x1FA33,"WHITE CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
30688 | 31212 | {0x2658,"WHITE CHESS KNIGHT"}, |
31213 | {0x1FA06,"WHITE CHESS KNIGHT ROTATED FORTY-FIVE DEGREES"}, | |
31214 | {0x1FA0D,"WHITE CHESS KNIGHT ROTATED NINETY DEGREES"}, | |
31215 | {0x1FA1B,"WHITE CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES"}, | |
31216 | {0x1FA45,"WHITE CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES"}, | |
31217 | {0x1FA37,"WHITE CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
31218 | {0x1FA30,"WHITE CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES"}, | |
31219 | {0x1FA50,"WHITE CHESS KNIGHT-BISHOP"}, | |
31220 | {0x1FA4E,"WHITE CHESS KNIGHT-QUEEN"}, | |
31221 | {0x1FA4F,"WHITE CHESS KNIGHT-ROOK"}, | |
30689 | 31222 | {0x2659,"WHITE CHESS PAWN"}, |
31223 | {0x1FA0E,"WHITE CHESS PAWN ROTATED NINETY DEGREES"}, | |
31224 | {0x1FA38,"WHITE CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
30690 | 31225 | {0x2655,"WHITE CHESS QUEEN"}, |
31226 | {0x1FA0A,"WHITE CHESS QUEEN ROTATED NINETY DEGREES"}, | |
31227 | {0x1FA34,"WHITE CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
30691 | 31228 | {0x2656,"WHITE CHESS ROOK"}, |
31229 | {0x1FA0B,"WHITE CHESS ROOK ROTATED NINETY DEGREES"}, | |
31230 | {0x1FA35,"WHITE CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES"}, | |
31231 | {0x1FA21,"WHITE CHESS TURNED BISHOP"}, | |
31232 | {0x1FA1E,"WHITE CHESS TURNED KING"}, | |
31233 | {0x1FA22,"WHITE CHESS TURNED KNIGHT"}, | |
31234 | {0x1FA23,"WHITE CHESS TURNED PAWN"}, | |
31235 | {0x1FA1F,"WHITE CHESS TURNED QUEEN"}, | |
31236 | {0x1FA20,"WHITE CHESS TURNED ROOK"}, | |
30692 | 31237 | {0x25CB,"WHITE CIRCLE"}, |
30693 | 31238 | {0x1F78A,"WHITE CIRCLE CONTAINING BLACK SMALL CIRCLE"}, |
30694 | 31239 | {0x2686,"WHITE CIRCLE WITH DOT RIGHT"}, |
30725 | 31270 | {0x2727,"WHITE FOUR POINTED STAR"}, |
30726 | 31271 | {0x2639,"WHITE FROWNING FACE"}, |
30727 | 31272 | {0x1F5AB,"WHITE HARD SHELL FLOPPY DISK"}, |
31273 | {0x1F90D,"WHITE HEART"}, | |
30728 | 31274 | {0x2661,"WHITE HEART SUIT"}, |
30729 | 31275 | {0x2705,"WHITE HEAVY CHECK MARK"}, |
30730 | 31276 | {0x2B21,"WHITE HEXAGON"}, |
30881 | 31427 | {0x1FA61,"XIANGQI RED MANDARIN"}, |
30882 | 31428 | {0x1FA66,"XIANGQI RED SOLDIER"}, |
30883 | 31429 | {0x22BB,"XOR"}, |
31430 | {0x1F971,"YAWNING FACE"}, | |
30884 | 31431 | {0x1F49B,"YELLOW HEART"}, |
30885 | 31432 | {0x00A5,"YEN SIGN"}, |
30886 | 31433 | {0xA49B,"YI RADICAL BBUT"}, |
32104 | 32651 | {0xA2E7,"YI SYLLABLE ZZYT"}, |
32105 | 32652 | {0xA2E8,"YI SYLLABLE ZZYX"}, |
32106 | 32653 | {0x262F,"YIN YANG"}, |
32654 | {0x1FA80,"YO-YO"}, | |
32107 | 32655 | {0x22FF,"Z NOTATION BAG MEMBERSHIP"}, |
32108 | 32656 | {0x2A64,"Z NOTATION DOMAIN ANTIRESTRICTION"}, |
32109 | 32657 | {0x2989,"Z NOTATION LEFT BINDING BRACKET"}, |
0 | #ifndef __ulong_chartraits_h__ | |
1 | #define __ulong_chartraits_h__ | |
0 | #pragma once | |
2 | 1 | |
3 | 2 | #include <iostream> |
4 | 3 | #include <string> |
58 | 57 | { |
59 | 58 | const char_type* __p = __s; |
60 | 59 | while (*__p) ++__p; |
61 | return (__p - __s); | |
60 | return static_cast<size_t>(__p - __s); | |
62 | 61 | } |
63 | 62 | |
64 | 63 | static const char_type* |
71 | 70 | |
72 | 71 | static char_type* |
73 | 72 | move(char_type* __s1, const char_type* __s2, size_t __n) |
74 | { return (char_type*) memmove(__s1, __s2, __n * sizeof(char_type)); } | |
73 | { return static_cast<char_type*>(memmove(__s1, __s2, __n * sizeof(char_type))); } | |
75 | 74 | |
76 | 75 | static char_type* |
77 | 76 | copy(char_type* __s1, const char_type* __s2, size_t __n) |
78 | { return (char_type*) memcpy(__s1, __s2, __n * sizeof(char_type)); } | |
77 | { return static_cast<char_type*>(memcpy(__s1, __s2, __n * sizeof(char_type))); } | |
79 | 78 | |
80 | 79 | static char_type* |
81 | 80 | assign(char_type* __s, size_t __n, char_type __a) |
97 | 96 | { return __c1 == __c2; } |
98 | 97 | |
99 | 98 | static int_type |
100 | eof() { return static_cast<int_type>(-1); } | |
99 | eof() { return int_type(-1); } | |
101 | 100 | |
102 | 101 | static int_type |
103 | 102 | not_eof(const int_type& __c) |
104 | 103 | { return eq_int_type(__c, eof()) ? int_type(0) : __c; } |
105 | 104 | }; |
106 | 105 | } |
107 | ||
108 | #endif |
0 | # Makefile.in generated by automake 1.15 from Makefile.am. | |
0 | # Makefile.in generated by automake 1.15.1 from Makefile.am. | |
1 | 1 | # @configure_input@ |
2 | 2 | |
3 | # Copyright (C) 1994-2014 Free Software Foundation, Inc. | |
3 | # Copyright (C) 1994-2017 Free Software Foundation, Inc. | |
4 | 4 | |
5 | 5 | # This Makefile.in is free software; the Free Software Foundation |
6 | 6 | # gives unlimited permission to copy and/or distribute it, |
0 | # NormalizationTest-11.0.0.txt | |
1 | # Date: 2018-02-19, 18:33:08 GMT | |
2 | # ยฉ 2018 Unicodeยฎ, Inc. | |
0 | # NormalizationTest-12.0.0.txt | |
1 | # Date: 2019-01-22, 08:18:33 GMT | |
2 | # ยฉ 2019 Unicodeยฎ, Inc. | |
3 | 3 | # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries. |
4 | 4 | # For terms of use, see http://www.unicode.org/terms_of_use.html |
5 | 5 | # |
16362 | 16362 | 1F14F;1F14F;1F14F;0057 0043;0057 0043; # (๐ ; ๐ ; ๐ ; WC; WC; ) SQUARED WC |
16363 | 16363 | 1F16A;1F16A;1F16A;004D 0043;004D 0043; # (๐ ช; ๐ ช; ๐ ช; MC; MC; ) RAISED MC SIGN |
16364 | 16364 | 1F16B;1F16B;1F16B;004D 0044;004D 0044; # (๐ ซ; ๐ ซ; ๐ ซ; MD; MD; ) RAISED MD SIGN |
16365 | 1F16C;1F16C;1F16C;004D 0052;004D 0052; # (๐ ฌ; ๐ ฌ; ๐ ฌ; MR; MR; ) RAISED MR SIGN | |
16365 | 16366 | 1F190;1F190;1F190;0044 004A;0044 004A; # (๐; ๐; ๐; DJ; DJ; ) SQUARE DJ |
16366 | 16367 | 1F200;1F200;1F200;307B 304B;307B 304B; # (๐; ๐; ๐; ใปใ; ใปใ; ) SQUARE HIRAGANA HOKA |
16367 | 16368 | 1F201;1F201;1F201;30B3 30B3;30B3 30B3; # (๐; ๐; ๐; ใณใณ; ใณใณ; ) SQUARED KATAKANA KOKO |
17684 | 17685 | 0061 0EB8 0EC8 0EB8 0E48 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062; # (aโเบธโเปโเบธโเนb; aโเนโเบธโเบธโเปb; aโเนโเบธโเบธโเปb; aโเนโเบธโเบธโเปb; aโเนโเบธโเบธโเปb; ) LATIN SMALL LETTER A, LAO VOWEL SIGN U, LAO TONE MAI EK, LAO VOWEL SIGN U, THAI CHARACTER MAI EK, LATIN SMALL LETTER B |
17685 | 17686 | 0061 0EC8 0EB8 0E48 0EB9 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062; # (aโเปโเบธโเนโเบนb; aโเนโเบธโเบนโเปb; aโเนโเบธโเบนโเปb; aโเนโเบธโเบนโเปb; aโเนโเบธโเบนโเปb; ) LATIN SMALL LETTER A, LAO TONE MAI EK, LAO VOWEL SIGN U, THAI CHARACTER MAI EK, LAO VOWEL SIGN UU, LATIN SMALL LETTER B |
17686 | 17687 | 0061 0EB9 0EC8 0EB8 0E48 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062; # (aโเบนโเปโเบธโเนb; aโเนโเบนโเบธโเปb; aโเนโเบนโเบธโเปb; aโเนโเบนโเบธโเปb; aโเนโเบนโเบธโเปb; ) LATIN SMALL LETTER A, LAO VOWEL SIGN UU, LAO TONE MAI EK, LAO VOWEL SIGN U, THAI CHARACTER MAI EK, LATIN SMALL LETTER B |
17688 | 0061 05B0 094D 3099 0EBA 0062;0061 3099 094D 0EBA 05B0 0062;0061 3099 094D 0EBA 05B0 0062;0061 3099 094D 0EBA 05B0 0062;0061 3099 094D 0EBA 05B0 0062; # (aโึฐโเฅโใโเบบb; aโใโเฅโเบบโึฐb; aโใโเฅโเบบโึฐb; aโใโเฅโเบบโึฐb; aโใโเฅโเบบโึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LAO SIGN PALI VIRAMA, LATIN SMALL LETTER B | |
17689 | 0061 0EBA 05B0 094D 3099 0062;0061 3099 0EBA 094D 05B0 0062;0061 3099 0EBA 094D 05B0 0062;0061 3099 0EBA 094D 05B0 0062;0061 3099 0EBA 094D 05B0 0062; # (aโเบบโึฐโเฅโใb; aโใโเบบโเฅโึฐb; aโใโเบบโเฅโึฐb; aโใโเบบโเฅโึฐb; aโใโเบบโเฅโึฐb; ) LATIN SMALL LETTER A, LAO SIGN PALI VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B | |
17687 | 17690 | 0061 0F71 0EC8 0EB8 0EC8 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062; # (aโเฝฑโเปโเบธโเปb; aโเบธโเปโเปโเฝฑb; aโเบธโเปโเปโเฝฑb; aโเบธโเปโเปโเฝฑb; aโเบธโเปโเปโเฝฑb; ) LATIN SMALL LETTER A, TIBETAN VOWEL SIGN AA, LAO TONE MAI EK, LAO VOWEL SIGN U, LAO TONE MAI EK, LATIN SMALL LETTER B |
17688 | 17691 | 0061 0EC8 0F71 0EC8 0EB8 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062; # (aโเปโเฝฑโเปโเบธb; aโเบธโเปโเปโเฝฑb; aโเบธโเปโเปโเฝฑb; aโเบธโเปโเปโเฝฑb; aโเบธโเปโเปโเฝฑb; ) LATIN SMALL LETTER A, LAO TONE MAI EK, TIBETAN VOWEL SIGN AA, LAO TONE MAI EK, LAO VOWEL SIGN U, LATIN SMALL LETTER B |
17689 | 17692 | 0061 0F71 0EC8 0EB8 0EC9 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062; # (aโเฝฑโเปโเบธโเปb; aโเบธโเปโเปโเฝฑb; aโเบธโเปโเปโเฝฑb; aโเบธโเปโเปโเฝฑb; aโเบธโเปโเปโเฝฑb; ) LATIN SMALL LETTER A, TIBETAN VOWEL SIGN AA, LAO TONE MAI EK, LAO VOWEL SIGN U, LAO TONE MAI THO, LATIN SMALL LETTER B |
18452 | 18455 | 0061 11839 05B0 094D 3099 0062;0061 3099 11839 094D 05B0 0062;0061 3099 11839 094D 05B0 0062;0061 3099 11839 094D 05B0 0062;0061 3099 11839 094D 05B0 0062; # (aโ๐ นโึฐโเฅโใb; aโใโ๐ นโเฅโึฐb; aโใโ๐ นโเฅโึฐb; aโใโ๐ นโเฅโึฐb; aโใโ๐ นโเฅโึฐb; ) LATIN SMALL LETTER A, DOGRA SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B |
18453 | 18456 | 0061 3099 093C 0334 1183A 0062;0061 0334 093C 1183A 3099 0062;0061 0334 093C 1183A 3099 0062;0061 0334 093C 1183A 3099 0062;0061 0334 093C 1183A 3099 0062; # (aโใโเคผโฬดโ๐ บb; aโฬดโเคผโ๐ บโใb; aโฬดโเคผโ๐ บโใb; aโฬดโเคผโ๐ บโใb; aโฬดโเคผโ๐ บโใb; ) LATIN SMALL LETTER A, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, DOGRA SIGN NUKTA, LATIN SMALL LETTER B |
18454 | 18457 | 0061 1183A 3099 093C 0334 0062;0061 0334 1183A 093C 3099 0062;0061 0334 1183A 093C 3099 0062;0061 0334 1183A 093C 3099 0062;0061 0334 1183A 093C 3099 0062; # (aโ๐ บโใโเคผโฬดb; aโฬดโ๐ บโเคผโใb; aโฬดโ๐ บโเคผโใb; aโฬดโ๐ บโเคผโใb; aโฬดโ๐ บโเคผโใb; ) LATIN SMALL LETTER A, DOGRA SIGN NUKTA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, LATIN SMALL LETTER B |
18458 | 0061 05B0 094D 3099 119E0 0062;0061 3099 094D 119E0 05B0 0062;0061 3099 094D 119E0 05B0 0062;0061 3099 094D 119E0 05B0 0062;0061 3099 094D 119E0 05B0 0062; # (aโึฐโเฅโใโ๐ง b; aโใโเฅโ๐ง โึฐb; aโใโเฅโ๐ง โึฐb; aโใโเฅโ๐ง โึฐb; aโใโเฅโ๐ง โึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, NANDINAGARI SIGN VIRAMA, LATIN SMALL LETTER B | |
18459 | 0061 119E0 05B0 094D 3099 0062;0061 3099 119E0 094D 05B0 0062;0061 3099 119E0 094D 05B0 0062;0061 3099 119E0 094D 05B0 0062;0061 3099 119E0 094D 05B0 0062; # (aโ๐ง โึฐโเฅโใb; aโใโ๐ง โเฅโึฐb; aโใโ๐ง โเฅโึฐb; aโใโ๐ง โเฅโึฐb; aโใโ๐ง โเฅโึฐb; ) LATIN SMALL LETTER A, NANDINAGARI SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B | |
18455 | 18460 | 0061 05B0 094D 3099 11A34 0062;0061 3099 094D 11A34 05B0 0062;0061 3099 094D 11A34 05B0 0062;0061 3099 094D 11A34 05B0 0062;0061 3099 094D 11A34 05B0 0062; # (aโึฐโเฅโใโ๐จดb; aโใโเฅโ๐จดโึฐb; aโใโเฅโ๐จดโึฐb; aโใโเฅโ๐จดโึฐb; aโใโเฅโ๐จดโึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, ZANABAZAR SQUARE SIGN VIRAMA, LATIN SMALL LETTER B |
18456 | 18461 | 0061 11A34 05B0 094D 3099 0062;0061 3099 11A34 094D 05B0 0062;0061 3099 11A34 094D 05B0 0062;0061 3099 11A34 094D 05B0 0062;0061 3099 11A34 094D 05B0 0062; # (aโ๐จดโึฐโเฅโใb; aโใโ๐จดโเฅโึฐb; aโใโ๐จดโเฅโึฐb; aโใโ๐จดโเฅโึฐb; aโใโ๐จดโเฅโึฐb; ) LATIN SMALL LETTER A, ZANABAZAR SQUARE SIGN VIRAMA, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, LATIN SMALL LETTER B |
18457 | 18462 | 0061 05B0 094D 3099 11A47 0062;0061 3099 094D 11A47 05B0 0062;0061 3099 094D 11A47 05B0 0062;0061 3099 094D 11A47 05B0 0062;0061 3099 094D 11A47 05B0 0062; # (aโึฐโเฅโใโ๐ฉb; aโใโเฅโ๐ฉโึฐb; aโใโเฅโ๐ฉโึฐb; aโใโเฅโ๐ฉโึฐb; aโใโเฅโ๐ฉโึฐb; ) LATIN SMALL LETTER A, HEBREW POINT SHEVA, DEVANAGARI SIGN VIRAMA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, ZANABAZAR SQUARE SUBJOINER, LATIN SMALL LETTER B |
18636 | 18641 | 0061 1E029 0315 0300 05AE 0062;0061 05AE 1E029 0300 0315 0062;0061 05AE 1E029 0300 0315 0062;0061 05AE 1E029 0300 0315 0062;0061 05AE 1E029 0300 0315 0062; # (aโ๐ฉโฬโฬโึฎb; aโึฎโ๐ฉโฬโฬb; aโึฎโ๐ฉโฬโฬb; aโึฎโ๐ฉโฬโฬb; aโึฎโ๐ฉโฬโฬb; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER IOTATED BIG YUS, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B |
18637 | 18642 | 0061 0315 0300 05AE 1E02A 0062;00E0 05AE 1E02A 0315 0062;0061 05AE 0300 1E02A 0315 0062;00E0 05AE 1E02A 0315 0062;0061 05AE 0300 1E02A 0315 0062; # (aโฬโฬโึฎโ๐ชb; ร โึฎโ๐ชโฬb; aโึฎโฬโ๐ชโฬb; ร โึฎโ๐ชโฬb; aโึฎโฬโ๐ชโฬb; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, COMBINING GLAGOLITIC LETTER FITA, LATIN SMALL LETTER B |
18638 | 18643 | 0061 1E02A 0315 0300 05AE 0062;0061 05AE 1E02A 0300 0315 0062;0061 05AE 1E02A 0300 0315 0062;0061 05AE 1E02A 0300 0315 0062;0061 05AE 1E02A 0300 0315 0062; # (aโ๐ชโฬโฬโึฎb; aโึฎโ๐ชโฬโฬb; aโึฎโ๐ชโฬโฬb; aโึฎโ๐ชโฬโฬb; aโึฎโ๐ชโฬโฬb; ) LATIN SMALL LETTER A, COMBINING GLAGOLITIC LETTER FITA, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B |
18644 | 0061 0315 0300 05AE 1E130 0062;00E0 05AE 1E130 0315 0062;0061 05AE 0300 1E130 0315 0062;00E0 05AE 1E130 0315 0062;0061 05AE 0300 1E130 0315 0062; # (aโฬโฬโึฎโ๐ฐb; ร โึฎโ๐ฐโฬb; aโึฎโฬโ๐ฐโฬb; ร โึฎโ๐ฐโฬb; aโึฎโฬโ๐ฐโฬb; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-B, LATIN SMALL LETTER B | |
18645 | 0061 1E130 0315 0300 05AE 0062;0061 05AE 1E130 0300 0315 0062;0061 05AE 1E130 0300 0315 0062;0061 05AE 1E130 0300 0315 0062;0061 05AE 1E130 0300 0315 0062; # (aโ๐ฐโฬโฬโึฎb; aโึฎโ๐ฐโฬโฬb; aโึฎโ๐ฐโฬโฬb; aโึฎโ๐ฐโฬโฬb; aโึฎโ๐ฐโฬโฬb; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-B, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B | |
18646 | 0061 0315 0300 05AE 1E131 0062;00E0 05AE 1E131 0315 0062;0061 05AE 0300 1E131 0315 0062;00E0 05AE 1E131 0315 0062;0061 05AE 0300 1E131 0315 0062; # (aโฬโฬโึฎโ๐ฑb; ร โึฎโ๐ฑโฬb; aโึฎโฬโ๐ฑโฬb; ร โึฎโ๐ฑโฬb; aโึฎโฬโ๐ฑโฬb; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-M, LATIN SMALL LETTER B | |
18647 | 0061 1E131 0315 0300 05AE 0062;0061 05AE 1E131 0300 0315 0062;0061 05AE 1E131 0300 0315 0062;0061 05AE 1E131 0300 0315 0062;0061 05AE 1E131 0300 0315 0062; # (aโ๐ฑโฬโฬโึฎb; aโึฎโ๐ฑโฬโฬb; aโึฎโ๐ฑโฬโฬb; aโึฎโ๐ฑโฬโฬb; aโึฎโ๐ฑโฬโฬb; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-M, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B | |
18648 | 0061 0315 0300 05AE 1E132 0062;00E0 05AE 1E132 0315 0062;0061 05AE 0300 1E132 0315 0062;00E0 05AE 1E132 0315 0062;0061 05AE 0300 1E132 0315 0062; # (aโฬโฬโึฎโ๐ฒb; ร โึฎโ๐ฒโฬb; aโึฎโฬโ๐ฒโฬb; ร โึฎโ๐ฒโฬb; aโึฎโฬโ๐ฒโฬb; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-J, LATIN SMALL LETTER B | |
18649 | 0061 1E132 0315 0300 05AE 0062;0061 05AE 1E132 0300 0315 0062;0061 05AE 1E132 0300 0315 0062;0061 05AE 1E132 0300 0315 0062;0061 05AE 1E132 0300 0315 0062; # (aโ๐ฒโฬโฬโึฎb; aโึฎโ๐ฒโฬโฬb; aโึฎโ๐ฒโฬโฬb; aโึฎโ๐ฒโฬโฬb; aโึฎโ๐ฒโฬโฬb; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-J, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B | |
18650 | 0061 0315 0300 05AE 1E133 0062;00E0 05AE 1E133 0315 0062;0061 05AE 0300 1E133 0315 0062;00E0 05AE 1E133 0315 0062;0061 05AE 0300 1E133 0315 0062; # (aโฬโฬโึฎโ๐ณb; ร โึฎโ๐ณโฬb; aโึฎโฬโ๐ณโฬb; ร โึฎโ๐ณโฬb; aโึฎโฬโ๐ณโฬb; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-V, LATIN SMALL LETTER B | |
18651 | 0061 1E133 0315 0300 05AE 0062;0061 05AE 1E133 0300 0315 0062;0061 05AE 1E133 0300 0315 0062;0061 05AE 1E133 0300 0315 0062;0061 05AE 1E133 0300 0315 0062; # (aโ๐ณโฬโฬโึฎb; aโึฎโ๐ณโฬโฬb; aโึฎโ๐ณโฬโฬb; aโึฎโ๐ณโฬโฬb; aโึฎโ๐ณโฬโฬb; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-V, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B | |
18652 | 0061 0315 0300 05AE 1E134 0062;00E0 05AE 1E134 0315 0062;0061 05AE 0300 1E134 0315 0062;00E0 05AE 1E134 0315 0062;0061 05AE 0300 1E134 0315 0062; # (aโฬโฬโึฎโ๐ดb; ร โึฎโ๐ดโฬb; aโึฎโฬโ๐ดโฬb; ร โึฎโ๐ดโฬb; aโึฎโฬโ๐ดโฬb; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-S, LATIN SMALL LETTER B | |
18653 | 0061 1E134 0315 0300 05AE 0062;0061 05AE 1E134 0300 0315 0062;0061 05AE 1E134 0300 0315 0062;0061 05AE 1E134 0300 0315 0062;0061 05AE 1E134 0300 0315 0062; # (aโ๐ดโฬโฬโึฎb; aโึฎโ๐ดโฬโฬb; aโึฎโ๐ดโฬโฬb; aโึฎโ๐ดโฬโฬb; aโึฎโ๐ดโฬโฬb; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-S, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B | |
18654 | 0061 0315 0300 05AE 1E135 0062;00E0 05AE 1E135 0315 0062;0061 05AE 0300 1E135 0315 0062;00E0 05AE 1E135 0315 0062;0061 05AE 0300 1E135 0315 0062; # (aโฬโฬโึฎโ๐ตb; ร โึฎโ๐ตโฬb; aโึฎโฬโ๐ตโฬb; ร โึฎโ๐ตโฬb; aโึฎโฬโ๐ตโฬb; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-G, LATIN SMALL LETTER B | |
18655 | 0061 1E135 0315 0300 05AE 0062;0061 05AE 1E135 0300 0315 0062;0061 05AE 1E135 0300 0315 0062;0061 05AE 1E135 0300 0315 0062;0061 05AE 1E135 0300 0315 0062; # (aโ๐ตโฬโฬโึฎb; aโึฎโ๐ตโฬโฬb; aโึฎโ๐ตโฬโฬb; aโึฎโ๐ตโฬโฬb; aโึฎโ๐ตโฬโฬb; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-G, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B | |
18656 | 0061 0315 0300 05AE 1E136 0062;00E0 05AE 1E136 0315 0062;0061 05AE 0300 1E136 0315 0062;00E0 05AE 1E136 0315 0062;0061 05AE 0300 1E136 0315 0062; # (aโฬโฬโึฎโ๐ถb; ร โึฎโ๐ถโฬb; aโึฎโฬโ๐ถโฬb; ร โึฎโ๐ถโฬb; aโึฎโฬโ๐ถโฬb; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, NYIAKENG PUACHUE HMONG TONE-D, LATIN SMALL LETTER B | |
18657 | 0061 1E136 0315 0300 05AE 0062;0061 05AE 1E136 0300 0315 0062;0061 05AE 1E136 0300 0315 0062;0061 05AE 1E136 0300 0315 0062;0061 05AE 1E136 0300 0315 0062; # (aโ๐ถโฬโฬโึฎb; aโึฎโ๐ถโฬโฬb; aโึฎโ๐ถโฬโฬb; aโึฎโ๐ถโฬโฬb; aโึฎโ๐ถโฬโฬb; ) LATIN SMALL LETTER A, NYIAKENG PUACHUE HMONG TONE-D, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B | |
18658 | 0061 0315 0300 05AE 1E2EC 0062;00E0 05AE 1E2EC 0315 0062;0061 05AE 0300 1E2EC 0315 0062;00E0 05AE 1E2EC 0315 0062;0061 05AE 0300 1E2EC 0315 0062; # (aโฬโฬโึฎโ๐ฌb; ร โึฎโ๐ฌโฬb; aโึฎโฬโ๐ฌโฬb; ร โึฎโ๐ฌโฬb; aโึฎโฬโ๐ฌโฬb; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, WANCHO TONE TUP, LATIN SMALL LETTER B | |
18659 | 0061 1E2EC 0315 0300 05AE 0062;0061 05AE 1E2EC 0300 0315 0062;0061 05AE 1E2EC 0300 0315 0062;0061 05AE 1E2EC 0300 0315 0062;0061 05AE 1E2EC 0300 0315 0062; # (aโ๐ฌโฬโฬโึฎb; aโึฎโ๐ฌโฬโฬb; aโึฎโ๐ฌโฬโฬb; aโึฎโ๐ฌโฬโฬb; aโึฎโ๐ฌโฬโฬb; ) LATIN SMALL LETTER A, WANCHO TONE TUP, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B | |
18660 | 0061 0315 0300 05AE 1E2ED 0062;00E0 05AE 1E2ED 0315 0062;0061 05AE 0300 1E2ED 0315 0062;00E0 05AE 1E2ED 0315 0062;0061 05AE 0300 1E2ED 0315 0062; # (aโฬโฬโึฎโ๐ญb; ร โึฎโ๐ญโฬb; aโึฎโฬโ๐ญโฬb; ร โึฎโ๐ญโฬb; aโึฎโฬโ๐ญโฬb; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, WANCHO TONE TUPNI, LATIN SMALL LETTER B | |
18661 | 0061 1E2ED 0315 0300 05AE 0062;0061 05AE 1E2ED 0300 0315 0062;0061 05AE 1E2ED 0300 0315 0062;0061 05AE 1E2ED 0300 0315 0062;0061 05AE 1E2ED 0300 0315 0062; # (aโ๐ญโฬโฬโึฎb; aโึฎโ๐ญโฬโฬb; aโึฎโ๐ญโฬโฬb; aโึฎโ๐ญโฬโฬb; aโึฎโ๐ญโฬโฬb; ) LATIN SMALL LETTER A, WANCHO TONE TUPNI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B | |
18662 | 0061 0315 0300 05AE 1E2EE 0062;00E0 05AE 1E2EE 0315 0062;0061 05AE 0300 1E2EE 0315 0062;00E0 05AE 1E2EE 0315 0062;0061 05AE 0300 1E2EE 0315 0062; # (aโฬโฬโึฎโ๐ฎb; ร โึฎโ๐ฎโฬb; aโึฎโฬโ๐ฎโฬb; ร โึฎโ๐ฎโฬb; aโึฎโฬโ๐ฎโฬb; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, WANCHO TONE KOI, LATIN SMALL LETTER B | |
18663 | 0061 1E2EE 0315 0300 05AE 0062;0061 05AE 1E2EE 0300 0315 0062;0061 05AE 1E2EE 0300 0315 0062;0061 05AE 1E2EE 0300 0315 0062;0061 05AE 1E2EE 0300 0315 0062; # (aโ๐ฎโฬโฬโึฎb; aโึฎโ๐ฎโฬโฬb; aโึฎโ๐ฎโฬโฬb; aโึฎโ๐ฎโฬโฬb; aโึฎโ๐ฎโฬโฬb; ) LATIN SMALL LETTER A, WANCHO TONE KOI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B | |
18664 | 0061 0315 0300 05AE 1E2EF 0062;00E0 05AE 1E2EF 0315 0062;0061 05AE 0300 1E2EF 0315 0062;00E0 05AE 1E2EF 0315 0062;0061 05AE 0300 1E2EF 0315 0062; # (aโฬโฬโึฎโ๐ฏb; ร โึฎโ๐ฏโฬb; aโึฎโฬโ๐ฏโฬb; ร โึฎโ๐ฏโฬb; aโึฎโฬโ๐ฏโฬb; ) LATIN SMALL LETTER A, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, WANCHO TONE KOINI, LATIN SMALL LETTER B | |
18665 | 0061 1E2EF 0315 0300 05AE 0062;0061 05AE 1E2EF 0300 0315 0062;0061 05AE 1E2EF 0300 0315 0062;0061 05AE 1E2EF 0300 0315 0062;0061 05AE 1E2EF 0300 0315 0062; # (aโ๐ฏโฬโฬโึฎb; aโึฎโ๐ฏโฬโฬb; aโึฎโ๐ฏโฬโฬb; aโึฎโ๐ฏโฬโฬb; aโึฎโ๐ฏโฬโฬb; ) LATIN SMALL LETTER A, WANCHO TONE KOINI, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B | |
18639 | 18666 | 0061 059A 0316 302A 1E8D0 0062;0061 302A 0316 1E8D0 059A 0062;0061 302A 0316 1E8D0 059A 0062;0061 302A 0316 1E8D0 059A 0062;0061 302A 0316 1E8D0 059A 0062; # (aโึโฬโใชโ๐ฃb; aโใชโฬโ๐ฃโึb; aโใชโฬโ๐ฃโึb; aโใชโฬโ๐ฃโึb; aโใชโฬโ๐ฃโึb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, MENDE KIKAKUI COMBINING NUMBER TEENS, LATIN SMALL LETTER B |
18640 | 18667 | 0061 1E8D0 059A 0316 302A 0062;0061 302A 1E8D0 0316 059A 0062;0061 302A 1E8D0 0316 059A 0062;0061 302A 1E8D0 0316 059A 0062;0061 302A 1E8D0 0316 059A 0062; # (aโ๐ฃโึโฬโใชb; aโใชโ๐ฃโฬโึb; aโใชโ๐ฃโฬโึb; aโใชโ๐ฃโฬโึb; aโใชโ๐ฃโฬโึb; ) LATIN SMALL LETTER A, MENDE KIKAKUI COMBINING NUMBER TEENS, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, LATIN SMALL LETTER B |
18641 | 18668 | 0061 059A 0316 302A 1E8D1 0062;0061 302A 0316 1E8D1 059A 0062;0061 302A 0316 1E8D1 059A 0062;0061 302A 0316 1E8D1 059A 0062;0061 302A 0316 1E8D1 059A 0062; # (aโึโฬโใชโ๐ฃb; aโใชโฬโ๐ฃโึb; aโใชโฬโ๐ฃโึb; aโใชโฬโ๐ฃโึb; aโใชโฬโ๐ฃโึb; ) LATIN SMALL LETTER A, HEBREW ACCENT YETIV, COMBINING GRAVE ACCENT BELOW, IDEOGRAPHIC LEVEL TONE MARK, MENDE KIKAKUI COMBINING NUMBER TENS, LATIN SMALL LETTER B |