diff --git a/ChangeLog b/ChangeLog index f41b0c5..e51d45b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1 +1 @@ -(Not here. See the Subversion logs.) +See the commit history from git. diff --git a/Makefile.in b/Makefile.in index a004481..dbafad1 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -636,7 +636,7 @@ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir @@ -662,7 +662,7 @@ @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir @@ -680,7 +680,7 @@ distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ @@ -690,7 +690,7 @@ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac diff --git a/NEWS b/NEWS index fe8e41b..04e2414 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,8 @@ +2019-03-18 + Version 2.5.9 + Updated Unicode character names and normalization data to 12.0.0 + Various improvements for testing, compiling, and documentation. + 2018-06-18 Version 2.5.8 Updated Unicode character names and normalization data to 11.0.0 diff --git a/README b/README index bdf170f..9457352 100644 --- a/README +++ b/README @@ -7,7 +7,7 @@ See the Documentation folder for information on the TECkit mapping language and conversion tool usage notes. -The TECkit libraries have been updated to support the Unicode 11.0.0 character +The TECkit libraries have been updated to support the Unicode 12.0.0 character repertoire. Starting with TECkit version 2.5.7 there are several changes with the Windows diff --git a/SFconv/SFconv.cpp b/SFconv/SFconv.cpp index 53bb5c3..eeb4490 100644 --- a/SFconv/SFconv.cpp +++ b/SFconv/SFconv.cpp @@ -313,7 +313,7 @@ long fileSize = ftell(mapFile); fseek(mapFile, 0, SEEK_SET); - unsigned char* buf = (unsigned char*)malloc(fileSize); + unsigned char* buf = static_cast(malloc(fileSize)); if (buf == 0) { fprintf(stderr, "unable to read mapping file for %s (file %s)\n", mappingName.c_str(), mapFileName.c_str()); exit(1); @@ -357,7 +357,7 @@ size_t len = fread(buf, 1, sizeof(buf), ctlFile); done = len < sizeof(buf); if (!XML_Parse(parser, buf, len, done)) { - fprintf(stderr, "XML parse error: %s at line %lu\n", XML_ErrorString(XML_GetErrorCode(parser)), (unsigned long)XML_GetCurrentLineNumber(parser)); + fprintf(stderr, "XML parse error: %s at line %lu\n", XML_ErrorString(XML_GetErrorCode(parser)), static_cast(XML_GetCurrentLineNumber(parser))); status = 1; } } while (!status && !done); @@ -454,10 +454,10 @@ while (1) { UInt32 sourceUsed, destUsed, destUsed2; status = TECkit_ConvertBuffer(converter, - (Byte*)marker.data(), + reinterpret_cast(marker.data()), marker.size() * 2, &sourceUsed, - (Byte*)cnvMarker.data(), + const_cast(reinterpret_cast(cnvMarker.data())), cnvMarker.size(), &destUsed, true); @@ -466,7 +466,7 @@ continue; } status = TECkit_Flush(converter, - (Byte*)cnvMarker.data() + destUsed, + const_cast(reinterpret_cast(cnvMarker.data()) + destUsed), cnvMarker.size() - destUsed, &destUsed2); if (status == kStatus_OutputBufferFull) { @@ -491,7 +491,7 @@ UInt32 sourceUsed, destUsed, destUsed2; status = TECkit_ConvertBuffer(converter, - (Byte*)&inChar, + reinterpret_cast(&inChar), 2, &sourceUsed, &buf[0], @@ -588,7 +588,7 @@ map::const_iterator i; switch (dataType) { case BODY_TEXT: - write_converted((Byte*)reader.text.data(), reader.text.length(), converterStack.back(), outFile); + write_converted(reinterpret_cast(reader.text.data()), reader.text.length(), converterStack.back(), outFile); break; case SFM: @@ -598,7 +598,7 @@ else converterStack.assign(1, converters[i->second]); reader.text.insert(reader.text.begin(), reader.escapeChar); - write_converted((Byte*)reader.text.data(), reader.text.length(), sfmConverter, outFile); + write_converted(reinterpret_cast(reader.text.data()), reader.text.length(), sfmConverter, outFile); break; case INLINE_MARKER: @@ -608,7 +608,7 @@ else converterStack.assign(1, converters[i->second]); reader.text.insert(reader.text.begin(), reader.escapeChar); - write_converted((Byte*)reader.text.data(), reader.text.length(), inlineConverter, outFile); + write_converted(reinterpret_cast(reader.text.data()), reader.text.length(), inlineConverter, outFile); break; case INLINE_START: @@ -619,12 +619,12 @@ converterStack.push_back(converters[i->second]); reader.text.insert(reader.text.begin(), reader.inlineEscapeChar); reader.text.insert(reader.text.end(), reader.startInline); - write_converted((Byte*)reader.text.data(), reader.text.length(), inlineConverter, outFile); + write_converted(reinterpret_cast(reader.text.data()), reader.text.length(), inlineConverter, outFile); break; case INLINE_END: reader.text.insert(reader.text.end(), reader.endInline); - write_converted((Byte*)reader.text.data(), reader.text.length(), inlineConverter, outFile); + write_converted(reinterpret_cast(reader.text.data()), reader.text.length(), inlineConverter, outFile); converterStack.pop_back(); break; } @@ -681,7 +681,7 @@ static string cnvMarker; switch (dataType) { case BODY_TEXT: - write_converted((Byte*)reader.text.data(), reader.text.length() * 2, converterStack.back(), outFile); + write_converted(reinterpret_cast(reader.text.data()), reader.text.length() * 2, converterStack.back(), outFile); break; case SFM: @@ -692,7 +692,7 @@ else converterStack.assign(1, converters[i->second]); reader.text.insert(reader.text.begin(), reader.escapeChar); - write_converted((Byte*)reader.text.data(), reader.text.length() * 2, sfmConverter, outFile); + write_converted(reinterpret_cast(reader.text.data()), reader.text.length() * 2, sfmConverter, outFile); break; case INLINE_MARKER: @@ -703,7 +703,7 @@ else converterStack.assign(1, converters[i->second]); reader.text.insert(reader.text.begin(), reader.inlineEscapeChar); - write_converted((Byte*)reader.text.data(), reader.text.length() * 2, inlineConverter, outFile); + write_converted(reinterpret_cast(reader.text.data()), reader.text.length() * 2, inlineConverter, outFile); break; case INLINE_START: @@ -715,12 +715,12 @@ converterStack.push_back(converters[i->second]); reader.text.insert(reader.text.begin(), reader.inlineEscapeChar); reader.text.insert(reader.text.end(), reader.startInline); - write_converted((Byte*)reader.text.data(), reader.text.length() * 2, inlineConverter, outFile); + write_converted(reinterpret_cast(reader.text.data()), reader.text.length() * 2, inlineConverter, outFile); break; case INLINE_END: reader.text.insert(reader.text.end(), reader.endInline); - write_converted((Byte*)reader.text.data(), reader.text.length() * 2, inlineConverter, outFile); + write_converted(reinterpret_cast(reader.text.data()), reader.text.length() * 2, inlineConverter, outFile); converterStack.pop_back(); break; } diff --git a/SFconv/sfReader.h b/SFconv/sfReader.h index bdf21d5..ff5789c 100644 --- a/SFconv/sfReader.h +++ b/SFconv/sfReader.h @@ -9,9 +9,9 @@ #define INLINE_START 2 #define INLINE_END 3 #define INLINE_MARKER 4 -#define UNI_REPLACEMENT_CHAR (uint32_t)0x0000FFFD -#define UNI_MAX_BMP (uint32_t)0x0000FFFF -#define UNI_MAX_UTF16 (uint32_t)0x0010FFFF +#define UNI_REPLACEMENT_CHAR uint32_t(0x0000FFFD) +#define UNI_MAX_BMP uint32_t(0x0000FFFF) +#define UNI_MAX_UTF16 uint32_t(0x0010FFFF) template class sfReader diff --git a/SFconv/ushort_chartraits.h b/SFconv/ushort_chartraits.h index c9d0c85..0724297 100644 --- a/SFconv/ushort_chartraits.h +++ b/SFconv/ushort_chartraits.h @@ -1,5 +1,4 @@ -#ifndef __ushort_chartraits_h__ -#define __ushort_chartraits_h__ +#pragma once #include #include @@ -52,7 +51,7 @@ { const char_type* __p = __s; while (*__p) ++__p; - return (__p - __s); + return static_cast(__p - __s); } static const char_type* @@ -65,11 +64,11 @@ static char_type* move(char_type* __s1, const char_type* __s2, size_t __n) - { return (char_type*) memmove(__s1, __s2, __n * sizeof(char_type)); } + { return static_cast(memmove(__s1, __s2, __n * sizeof(char_type))); } static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) - { return (char_type*) memcpy(__s1, __s2, __n * sizeof(char_type)); } + { return static_cast(memcpy(__s1, __s2, __n * sizeof(char_type))); } static char_type* assign(char_type* __s, size_t __n, char_type __a) @@ -91,12 +90,10 @@ { return __c1 == __c2; } static int_type - eof() { return static_cast(-1); } + eof() { return int_type(-1); } static int_type not_eof(const int_type& __c) { return eq_int_type(__c, eof()) ? int_type(0) : __c; } }; } - -#endif diff --git a/aclocal.m4 b/aclocal.m4 index 2ccff99..def39e7 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15 -*- Autoconf -*- - -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# generated automatically by aclocal 1.15.1 -*- Autoconf -*- + +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -20,7 +20,7 @@ If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# Copyright (C) 2002-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -35,7 +35,7 @@ [am__api_version='1.15' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], +m4_if([$1], [1.15.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,14 +51,14 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.15])dnl +[AM_AUTOMAKE_VERSION([1.15.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -110,7 +110,7 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -141,7 +141,7 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -332,7 +332,7 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -408,7 +408,7 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -605,7 +605,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -626,7 +626,7 @@ fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2014 Free Software Foundation, Inc. +# Copyright (C) 2003-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -648,7 +648,7 @@ # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -683,7 +683,7 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -733,7 +733,7 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -774,7 +774,7 @@ # Obsolete and "removed" macros, that must however still report explicit # error messages when used, to smooth transition. # -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -801,7 +801,7 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -830,7 +830,7 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -877,7 +877,7 @@ # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -896,7 +896,7 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -977,7 +977,7 @@ rm -f conftest.file ]) -# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1037,7 +1037,7 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1065,7 +1065,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2014 Free Software Foundation, Inc. +# Copyright (C) 2006-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1084,7 +1084,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2014 Free Software Foundation, Inc. +# Copyright (C) 2004-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/bin/Makefile.in b/bin/Makefile.in index c234d5a..2e3a0ca 100644 --- a/bin/Makefile.in +++ b/bin/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/config.guess b/config.guess index 1659250..f50dcdb 100755 --- a/config.guess +++ b/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2015 Free Software Foundation, Inc. - -timestamp='2015-08-20' +# Copyright 1992-2018 Free Software Foundation, Inc. + +timestamp='2018-02-24' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see . +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -27,7 +27,7 @@ # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to . @@ -39,7 +39,7 @@ Output the configuration name of the system \`$me' is run on. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -50,7 +50,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2015 Free Software Foundation, Inc. +Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -107,9 +107,9 @@ dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; + ,,) echo "int x;" > "$dummy.c" ; for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; @@ -132,14 +132,14 @@ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -case "${UNAME_SYSTEM}" in +case "$UNAME_SYSTEM" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu - eval $set_cc_for_build - cat <<-EOF > $dummy.c + eval "$set_cc_for_build" + cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) LIBC=uclibc @@ -149,13 +149,20 @@ LIBC=gnu #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" + + # If ldd exists, use it to detect musl libc. + if command -v ldd >/dev/null && \ + ldd --version 2>&1 | grep -q ^musl + then + LIBC=musl + fi ;; esac # Note: order is significant - the case branches are not exclusive. -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, @@ -169,27 +176,30 @@ # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ + "/sbin/$sysctl" 2>/dev/null || \ + "/usr/sbin/$sysctl" 2>/dev/null || \ echo unknown)` - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine="${arch}${endian}"-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + *) machine="$UNAME_MACHINE_ARCH"-unknown ;; esac # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build + # to ELF recently (or will in the future) and ABI. + case "$UNAME_MACHINE_ARCH" in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval "$set_cc_for_build" if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then @@ -205,10 +215,10 @@ ;; esac # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in + case "$UNAME_MACHINE_ARCH" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release @@ -216,42 +226,55 @@ # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in + case "$UNAME_VERSION" in Debian*) release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}${abi}" + echo "$machine-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" + exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" + exit ;; + *:MidnightBSD:*:*) + echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" exit ;; *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" exit ;; *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" exit ;; macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} + echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:Sortix:*:*) - echo ${UNAME_MACHINE}-unknown-sortix - exit ;; + echo "$UNAME_MACHINE"-unknown-sortix + exit ;; + *:Redox:*:*) + echo "$UNAME_MACHINE"-unknown-redox + exit ;; + mips:OSF1:*.*) + echo mips-dec-osf1 + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -268,63 +291,54 @@ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; + UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; + UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; + UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; + UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; + UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; + UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; + UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; + UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; + UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos + echo "$UNAME_MACHINE"-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos + echo "$UNAME_MACHINE"-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition @@ -336,7 +350,7 @@ echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} + echo arm-acorn-riscix"$UNAME_RELEASE" exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos @@ -363,38 +377,38 @@ sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} + echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" + eval "$set_cc_for_build" + SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then - SUN_ARCH="x86_64" + SUN_ARCH=x86_64 fi fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in @@ -403,25 +417,25 @@ ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" exit ;; sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} + echo m68k-sun-sunos"$UNAME_RELEASE" exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) - echo m68k-sun-sunos${UNAME_RELEASE} + echo m68k-sun-sunos"$UNAME_RELEASE" ;; sun4) - echo sparc-sun-sunos${UNAME_RELEASE} + echo sparc-sun-sunos"$UNAME_RELEASE" ;; esac exit ;; aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} + echo sparc-auspex-sunos"$UNAME_RELEASE" exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not @@ -432,44 +446,44 @@ # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint"$UNAME_RELEASE" exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} + echo m68k-milan-mint"$UNAME_RELEASE" exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} + echo m68k-hades-mint"$UNAME_RELEASE" exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} + echo m68k-unknown-mint"$UNAME_RELEASE" exit ;; m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} + echo m68k-apple-machten"$UNAME_RELEASE" exit ;; powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} + echo powerpc-apple-machten"$UNAME_RELEASE" exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} + echo mips-dec-ultrix"$UNAME_RELEASE" exit ;; VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} + echo vax-dec-ultrix"$UNAME_RELEASE" exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} + echo clipper-intergraph-clix"$UNAME_RELEASE" exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + eval "$set_cc_for_build" + sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { @@ -478,23 +492,23 @@ #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} + echo mips-mips-riscos"$UNAME_RELEASE" exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax @@ -520,17 +534,17 @@ AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] + if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ + [ "$TARGET_BINARY_INTERFACE"x = x ] then - echo m88k-dg-dgux${UNAME_RELEASE} + echo m88k-dg-dgux"$UNAME_RELEASE" else - echo m88k-dg-dguxbcs${UNAME_RELEASE} + echo m88k-dg-dguxbcs"$UNAME_RELEASE" fi else - echo i586-dg-dgux${UNAME_RELEASE} + echo i586-dg-dgux"$UNAME_RELEASE" fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) @@ -547,7 +561,7 @@ echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id @@ -559,14 +573,14 @@ if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + eval "$set_cc_for_build" + sed 's/^ //' << EOF > "$dummy.c" #include main() @@ -577,7 +591,7 @@ exit(0); } EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then echo "$SYSTEM_NAME" else @@ -591,7 +605,7 @@ exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc @@ -600,18 +614,18 @@ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} + IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + fi + echo "$IBM_ARCH"-ibm-aix"$IBM_REV" exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx @@ -626,28 +640,28 @@ echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + case "$UNAME_MACHINE" in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + case "$sc_cpu_version" in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + case "$sc_kernel_bits" in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + if [ "$HP_ARCH" = "" ]; then + eval "$set_cc_for_build" + sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE #include @@ -680,13 +694,13 @@ exit (0); } EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = "hppa2.0w" ] + if [ "$HP_ARCH" = hppa2.0w ] then - eval $set_cc_for_build + eval "$set_cc_for_build" # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler @@ -697,23 +711,23 @@ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then - HP_ARCH="hppa2.0w" + HP_ARCH=hppa2.0w else - HP_ARCH="hppa64" + HP_ARCH=hppa64 fi fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} + echo "$HP_ARCH"-hp-hpux"$HPUX_REV" exit ;; ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} + HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + eval "$set_cc_for_build" + sed 's/^ //' << EOF > "$dummy.c" #include int main () @@ -738,11 +752,11 @@ exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) @@ -751,7 +765,7 @@ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) @@ -759,9 +773,9 @@ exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk + echo "$UNAME_MACHINE"-unknown-osf1mk else - echo ${UNAME_MACHINE}-unknown-osf1 + echo "$UNAME_MACHINE"-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) @@ -786,127 +800,109 @@ echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" exit ;; sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} + echo sparc-unknown-bsdi"$UNAME_RELEASE" exit ;; *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in + case "$UNAME_PROCESSOR" in amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; esac + echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin + echo "$UNAME_MACHINE"-pc-cygwin exit ;; *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 + echo "$UNAME_MACHINE"-pc-mingw64 exit ;; *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 + echo "$UNAME_MACHINE"-pc-mingw32 exit ;; *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 + echo "$UNAME_MACHINE"-pc-msys exit ;; i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 + echo "$UNAME_MACHINE"-pc-pw32 exit ;; *:Interix*:*) - case ${UNAME_MACHINE} in + case "$UNAME_MACHINE" in x86) - echo i586-pc-interix${UNAME_RELEASE} + echo i586-pc-interix"$UNAME_RELEASE" exit ;; authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} + echo x86_64-unknown-interix"$UNAME_RELEASE" exit ;; IA64) - echo ia64-unknown-interix${UNAME_RELEASE} + echo ia64-unknown-interix"$UNAME_RELEASE" exit ;; esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin + echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" exit ;; i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix + echo "$UNAME_MACHINE"-pc-minix exit ;; aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in @@ -919,61 +915,64 @@ EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arm*:Linux:*:*) - eval $set_cc_for_build + eval "$set_cc_for_build" if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; + k1om:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + eval "$set_cc_for_build" + sed 's/^ //' << EOF > "$dummy.c" #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el @@ -987,64 +986,74 @@ #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" + test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } ;; + mips64el:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + exit ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} + echo or1k-unknown-linux-"$LIBC" exit ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} + echo sparc-unknown-linux-"$LIBC" exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} + echo hppa64-unknown-linux-"$LIBC" exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; + PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; + PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; + *) echo hppa-unknown-linux-"$LIBC" ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} + echo powerpc64-unknown-linux-"$LIBC" exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} + echo powerpc-unknown-linux-"$LIBC" exit ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} + echo powerpc64le-unknown-linux-"$LIBC" exit ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} + echo powerpcle-unknown-linux-"$LIBC" + exit ;; + riscv32:Linux:*:* | riscv64:Linux:*:*) + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} + echo "$UNAME_MACHINE"-dec-linux-"$LIBC" exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} + if objdump -f /bin/sh | grep -q elf32-x86-64; then + echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32 + else + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" + fi exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -1058,34 +1067,34 @@ # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx + echo "$UNAME_MACHINE"-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop + echo "$UNAME_MACHINE"-unknown-stop exit ;; i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos + echo "$UNAME_MACHINE"-unknown-atheos exit ;; i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable + echo "$UNAME_MACHINE"-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} + echo i386-unknown-lynxos"$UNAME_RELEASE" exit ;; i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + echo "$UNAME_MACHINE"-pc-msdosdjgpp + exit ;; + i*86:*:4.*:*) + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" fi exit ;; i*86:*:5:[678]*) @@ -1095,12 +1104,12 @@ *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 @@ -1110,9 +1119,9 @@ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" else - echo ${UNAME_MACHINE}-pc-sysv32 + echo "$UNAME_MACHINE"-pc-sysv32 fi exit ;; pc:*:*:*) @@ -1120,7 +1129,7 @@ # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that + # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; @@ -1132,9 +1141,9 @@ exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) @@ -1154,9 +1163,9 @@ test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; @@ -1165,28 +1174,28 @@ test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} + echo m68k-unknown-lynxos"$UNAME_RELEASE" exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} + echo sparc-unknown-lynxos"$UNAME_RELEASE" exit ;; rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} + echo rs6000-unknown-lynxos"$UNAME_RELEASE" exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} + echo powerpc-unknown-lynxos"$UNAME_RELEASE" exit ;; SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} + echo mips-dde-sysv"$UNAME_RELEASE" exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 @@ -1197,7 +1206,7 @@ *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 + echo "$UNAME_MACHINE"-sni-sysv4 else echo ns32k-sni-sysv fi @@ -1217,23 +1226,23 @@ exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos + echo "$UNAME_MACHINE"-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} + echo m68k-apple-aux"$UNAME_RELEASE" exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv"$UNAME_RELEASE" else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv"$UNAME_RELEASE" fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. @@ -1252,45 +1261,55 @@ echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} + echo sx4-nec-superux"$UNAME_RELEASE" exit ;; SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} + echo sx5-nec-superux"$UNAME_RELEASE" exit ;; SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} + echo sx6-nec-superux"$UNAME_RELEASE" exit ;; SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} + echo sx7-nec-superux"$UNAME_RELEASE" exit ;; SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} + echo sx8-nec-superux"$UNAME_RELEASE" exit ;; SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} + echo sx8r-nec-superux"$UNAME_RELEASE" + exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux"$UNAME_RELEASE" exit ;; Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} + echo powerpc-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build + eval "$set_cc_for_build" if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc fi fi elif test "$UNAME_PROCESSOR" = i386 ; then @@ -1302,27 +1321,33 @@ # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then + if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} + NEO-*:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk"$UNAME_RELEASE" exit ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} + echo nse-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSR-*:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSV-*:NONSTOP_KERNEL:*:*) + echo nsv-tandem-nsk"$UNAME_RELEASE" + exit ;; + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk"$UNAME_RELEASE" exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux @@ -1331,18 +1356,18 @@ echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. - if test "$cputype" = "386"; then + if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi - echo ${UNAME_MACHINE}-unknown-plan9 + echo "$UNAME_MACHINE"-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 @@ -1363,14 +1388,14 @@ echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} + echo mips-sei-seiux"$UNAME_RELEASE" exit ;; *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in + case "$UNAME_MACHINE" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; @@ -1379,34 +1404,48 @@ echo i386-pc-xenix exit ;; i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" exit ;; i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos + echo "$UNAME_MACHINE"-pc-rdos exit ;; i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros + echo "$UNAME_MACHINE"-pc-aros exit ;; x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx + echo "$UNAME_MACHINE"-unknown-esx + exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs exit ;; esac +echo "$0: unable to guess system type" >&2 + +case "$UNAME_MACHINE:$UNAME_SYSTEM" in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 < in order to provide the needed -information to handle your system. + https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub + +If $0 has already been updated, send the following data and any +information you think might be pertinent to config-patches@gnu.org to +provide the necessary information to handle your system. config.guess timestamp = $timestamp @@ -1425,16 +1464,16 @@ /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" EOF exit 1 # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/config.sub b/config.sub index 1acc966..1d8e98b 100755 --- a/config.sub +++ b/config.sub @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2015 Free Software Foundation, Inc. - -timestamp='2015-08-20' +# Copyright 1992-2018 Free Software Foundation, Inc. + +timestamp='2018-02-22' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see . +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -33,7 +33,7 @@ # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD +# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -53,12 +53,11 @@ me=`echo "$0" | sed -e 's,.*/,,'` usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. -Operation modes: +Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit @@ -68,7 +67,7 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2015 Free Software Foundation, Inc. +Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -95,7 +94,7 @@ *local*) # First pass through any local machine types. - echo $1 + echo "$1" exit ;; * ) @@ -113,24 +112,24 @@ # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | \ + kopensolaris*-gnu* | cloudabi*-eabi* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` + basic_machine=`echo "$1" | sed 's/-[^-]*$//'` + if [ "$basic_machine" != "$1" ] + then os=`echo "$1" | sed 's/.*-/-/'` else os=; fi ;; esac @@ -179,44 +178,44 @@ ;; -sco6) os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 @@ -228,10 +227,7 @@ os=-lynxos ;; -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` ;; -psos*) os=-psos @@ -264,7 +260,7 @@ | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ - | i370 | i860 | i960 | ia64 \ + | i370 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ | k1om \ | le32 | le64 \ @@ -300,8 +296,9 @@ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ + | pdp10 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pru \ | pyramid \ | riscv32 | riscv64 \ | rl78 | rx \ @@ -315,7 +312,7 @@ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | visium \ - | we32k \ + | wasm32 \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown @@ -336,7 +333,7 @@ basic_machine=$basic_machine-unknown os=-none ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) ;; ms1) basic_machine=mt-unknown @@ -365,7 +362,7 @@ ;; # Object if more than one company name word. *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. @@ -388,7 +385,7 @@ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ + | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ | ip2k-* | iq2000-* \ | k1om-* \ | le32-* | le64-* \ @@ -429,6 +426,7 @@ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pru-* \ | pyramid-* \ | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ @@ -445,6 +443,7 @@ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | visium-* \ + | wasm32-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -458,7 +457,7 @@ # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) - basic_machine=i386-unknown + basic_machine=i386-pc os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) @@ -492,7 +491,7 @@ basic_machine=x86_64-pc ;; amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl @@ -521,7 +520,7 @@ basic_machine=i386-pc os=-aros ;; - asmjs) + asmjs) basic_machine=asmjs-unknown ;; aux) @@ -537,7 +536,7 @@ os=-linux ;; blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) @@ -545,13 +544,13 @@ os=-cnk ;; c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray @@ -640,9 +639,17 @@ basic_machine=rs6000-bull os=-bosx ;; - dpx2* | dpx2*-bull) + dpx2*) basic_machine=m68k-bull os=-sysv3 + ;; + e500v[12]) + basic_machine=powerpc-unknown + os=$os"spe" + ;; + e500v[12]-*) + basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` + os=$os"spe" ;; ebmon29k) basic_machine=a29k-amd @@ -733,9 +740,6 @@ hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; - hppa-next) - os=-nextstep3 - ;; hppaosf) basic_machine=hppa1.1-hp os=-osf @@ -748,26 +752,26 @@ basic_machine=i370-ibm ;; i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; - i386-vsta | vsta) + vsta) basic_machine=i386-unknown os=-vsta ;; @@ -786,18 +790,15 @@ os=-sysv ;; leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips @@ -830,10 +831,10 @@ os=-mint ;; mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` ;; mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k @@ -852,7 +853,7 @@ os=-msdos ;; ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i686-pc @@ -894,7 +895,7 @@ basic_machine=v70-nec os=-sysv ;; - next | m*-next ) + next | m*-next) basic_machine=m68k-next case $os in -nextstep* ) @@ -939,6 +940,12 @@ nsr-tandem) basic_machine=nsr-tandem ;; + nsv-tandem) + basic_machine=nsv-tandem + ;; + nsx-tandem) + basic_machine=nsx-tandem + ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf @@ -971,7 +978,7 @@ os=-linux ;; parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; pbd) @@ -987,7 +994,7 @@ basic_machine=i386-pc ;; pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc @@ -1002,16 +1009,16 @@ basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould @@ -1021,23 +1028,23 @@ ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) + ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm @@ -1091,17 +1098,10 @@ sequent) basic_machine=i386-sequent ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; sh5el) basic_machine=sh5le-unknown ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) + simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; @@ -1120,7 +1120,7 @@ os=-sysv4 ;; strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun @@ -1242,6 +1242,9 @@ basic_machine=hppa1.1-winbond os=-proelf ;; + x64) + basic_machine=x86_64-pc + ;; xbox) basic_machine=i686-pc os=-mingw32 @@ -1250,19 +1253,11 @@ basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim ;; none) basic_machine=none-none @@ -1292,10 +1287,6 @@ vax) basic_machine=vax-dec ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; pdp11) basic_machine=pdp11-dec ;; @@ -1305,9 +1296,6 @@ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; cydra) basic_machine=cydra-cydrome ;; @@ -1327,7 +1315,7 @@ # Make sure to match an already-canonicalized machine name. ;; *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 exit 1 ;; esac @@ -1335,10 +1323,10 @@ # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` ;; *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` ;; *) ;; @@ -1349,8 +1337,8 @@ if [ x"$os" != x"" ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. + # First match some system type aliases that might get confused + # with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux @@ -1361,18 +1349,19 @@ -solaris) os=-solaris2 ;; - -svr4*) - os=-sysv4 - ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; - # First accept the basic system types. + # es1800 is here to avoid being matched by es* (a different OS) + -es1800*) + os=-ose + ;; + # Now accept the basic system types. # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. + # Each alternative MUST end in a * to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ @@ -1382,24 +1371,26 @@ | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* \ + | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ + | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ + | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -morphos* | -superux* | -rtmk* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ + | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ + | -midnightbsd*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1416,12 +1407,12 @@ -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + -sim | -xray | -os68k* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) - os=`echo $os | sed -e 's|mac|macos|'` + os=`echo "$os" | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc @@ -1430,10 +1421,10 @@ os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` + os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` + os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition @@ -1444,12 +1435,6 @@ -wince*) os=-wince ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; -utek*) os=-bsd ;; @@ -1474,7 +1459,7 @@ -nova*) os=-rtmk-nova ;; - -ns2 ) + -ns2) os=-nextstep2 ;; -nsk*) @@ -1496,7 +1481,7 @@ -oss*) os=-sysv3 ;; - -svr4) + -svr4*) os=-sysv4 ;; -svr3) @@ -1511,32 +1496,38 @@ -ose*) os=-ose ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; - -aros*) - os=-aros - ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; + -pikeos*) + # Until real need of OS specific support for + # particular features comes up, bare metal + # configurations are quite functional. + case $basic_machine in + arm*) + os=-eabi + ;; + *) + os=-elf + ;; + esac + ;; -nacl*) + ;; + -ios) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 exit 1 ;; esac @@ -1626,12 +1617,12 @@ sparc-* | *-sun) os=-sunos4.1.1 ;; + pru-*) + os=-elf + ;; *-be) os=-beos ;; - *-haiku) - os=-haiku - ;; *-ibm) os=-aix ;; @@ -1671,7 +1662,7 @@ m88k-omron*) os=-luna ;; - *-next ) + *-next) os=-nextstep ;; *-sequent) @@ -1685,9 +1676,6 @@ ;; i370-*) os=-mvs - ;; - *-next) - os=-nextstep3 ;; *-gould) os=-sysv @@ -1798,15 +1786,15 @@ vendor=stratus ;; esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` ;; esac -echo $basic_machine$os +echo "$basic_machine$os" exit # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/configure b/configure index 0e86a52..061f48d 100755 --- a/configure +++ b/configure @@ -1,8 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for teckit 2.5.8. +# Generated by GNU Autoconf 2.69 for teckit 2.5.9. # -# Report bugs to . +# Report bugs to . # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -274,10 +274,11 @@ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else - $as_echo "$0: Please tell bug-autoconf@gnu.org and nrsi@sil.org about -$0: your system, including any error possibly output before -$0: this message. Then install a modern shell, or manually -$0: run the script under such a shell if you do have one." + $as_echo "$0: Please tell bug-autoconf@gnu.org and wstech@sil.org +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: have one." fi exit 1 fi @@ -589,9 +590,9 @@ # Identity of this package. PACKAGE_NAME='teckit' PACKAGE_TARNAME='teckit' -PACKAGE_VERSION='2.5.8' -PACKAGE_STRING='teckit 2.5.8' -PACKAGE_BUGREPORT='nrsi@sil.org' +PACKAGE_VERSION='2.5.9' +PACKAGE_STRING='teckit 2.5.9' +PACKAGE_BUGREPORT='wstech@sil.org' PACKAGE_URL='' ac_unique_file="source/UnicodeNames.cpp" @@ -1364,7 +1365,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures teckit 2.5.8 to adapt to many kinds of systems. +\`configure' configures teckit 2.5.9 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1436,7 +1437,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of teckit 2.5.8:";; + short | recursive ) echo "Configuration of teckit 2.5.9:";; esac cat <<\_ACEOF @@ -1498,7 +1499,7 @@ Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. -Report bugs to . +Report bugs to . _ACEOF ac_status=$? fi @@ -1561,7 +1562,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -teckit configure 2.5.8 +teckit configure 2.5.9 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2027,9 +2028,9 @@ $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## --------------------------- ## -## Report this to nrsi@sil.org ## -## --------------------------- ##" +( $as_echo "## ----------------------------- ## +## Report this to wstech@sil.org ## +## ----------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac @@ -2051,7 +2052,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by teckit $as_me 2.5.8, which was +It was created by teckit $as_me 2.5.9, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3029,7 +3030,7 @@ # Define the identity of the package. PACKAGE='teckit' - VERSION='2.5.8' + VERSION='2.5.9' cat >>confdefs.h <<_ACEOF @@ -16782,7 +16783,7 @@ SYSTEM_EXPAT_FALSE= fi -expat_CFLAGS="$CFLAGS" +expat_CFLAGS="" expat_LIBS="$LIBS" CFLAGS="$noexpat_CFLAGS" LIBS="$noexpat_LIBS" @@ -17342,7 +17343,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by teckit $as_me 2.5.8, which was +This file was extended by teckit $as_me 2.5.9, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17402,13 +17403,13 @@ Configuration commands: $config_commands -Report bugs to ." +Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -teckit config.status 2.5.8 +teckit config.status 2.5.9 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -18717,7 +18718,6 @@ cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. diff --git a/configure.ac b/configure.ac index 55e6c7d..221c182 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ(2.54) -AC_INIT(teckit, 2.5.8, nrsi@sil.org) +AC_INIT(teckit, 2.5.9, wstech@sil.org) AM_CONFIG_HEADER([config.h]) AC_CONFIG_SRCDIR([source/UnicodeNames.cpp]) AC_CONFIG_MACRO_DIR([m4]) @@ -111,7 +111,7 @@ noexpat_LIBS="$LIBS" AC_CHECK_LIB(expat, XML_ExpatVersion) AM_CONDITIONAL(SYSTEM_EXPAT, test x$ac_cv_lib_expat_XML_ExpatVersion = xyes) -expat_CFLAGS="$CFLAGS" +expat_CFLAGS="" expat_LIBS="$LIBS" CFLAGS="$noexpat_CFLAGS" LIBS="$noexpat_LIBS" diff --git a/depcomp b/depcomp index fc98710..b39f98f 100755 --- a/depcomp +++ b/depcomp @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2013-05-30.07; # UTC - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +scriptversion=2016-01-11.22; # UTC + +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -786,6 +786,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff --git a/docs/Makefile.in b/docs/Makefile.in index 1471711..b909a4c 100644 --- a/docs/Makefile.in +++ b/docs/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/docs/TECkit_Tools.pdf b/docs/TECkit_Tools.pdf index f79d6cd..142a4ed 100644 Binary files a/docs/TECkit_Tools.pdf and b/docs/TECkit_Tools.pdf differ diff --git a/installed-top.pc.in b/installed-top.pc.in old file mode 100755 new file mode 100644 index 7609afd..7609afd 100644 diff --git a/lib/Makefile.in b/lib/Makefile.in index f5c05ae..498d28a 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/license/LICENSING.txt b/license/LICENSING.txt index 5aee456..e41b491 100644 --- a/license/LICENSING.txt +++ b/license/LICENSING.txt @@ -12,7 +12,7 @@ Rest of the project: - Copyright 2002-2018, SIL International + Copyright 2002-2019, SIL International All rights reserved. This library is free software; you can redistribute it and/or modify diff --git a/ltmain.sh b/ltmain.sh index 147d758..a736cf9 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -31,7 +31,7 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-0.1" +VERSION="2.4.6 Debian-2.4.6-2" package_revision=2.4.6 @@ -2068,7 +2068,7 @@ compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.4.6 + version: $progname $scriptversion Debian-2.4.6-2 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 10ab284..ee80844 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -728,7 +728,6 @@ cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. diff --git a/source/Compiler.cpp b/source/Compiler.cpp index 66b74c7..80a607f 100644 --- a/source/Compiler.cpp +++ b/source/Compiler.cpp @@ -75,7 +75,7 @@ const UInt32 byteMask = 0x000000BFUL; const UInt32 byteMark = 0x00000080UL; -#define FOUR_CHAR_CODE(a,b,c,d) (UInt32)((a << 24) + (b << 16) + (c << 8) + d) +#define FOUR_CHAR_CODE(a,b,c,d) UInt32((a << 24) + (b << 16) + (c << 8) + d) const UInt32 kCode_Byte = FOUR_CHAR_CODE('B','y','t','e'); const UInt32 kCode_BU = FOUR_CHAR_CODE('B','-','>','U'); @@ -142,7 +142,7 @@ { TECkit_Status result = kStatus_CompilationFailed; try { - Compiler* cmp = new Compiler(txt, len, kForm_Unspecified, (bool)doCompression, false, errFunc, userData); + Compiler* cmp = new Compiler(txt, len, kForm_Unspecified, bool(doCompression), false, errFunc, userData); cmp->GetCompiledTable(*outTable, *outLen); if (*outTable == 0) result = kStatus_CompilationFailed; @@ -196,7 +196,7 @@ const CharName *c = &gUnicodeNames[0]; while (c->name != 0) if (c->usv == usv) - return (char*)c->name; + return const_cast(c->name); else ++c; return NULL; @@ -252,10 +252,10 @@ TECkit_GetUnicodeValue(char* name) { const CharName *c = &gUnicodeNames[0]; - int len = strlen(name); + size_t len = strlen(name); while (c->name != 0) if (unicodeNameCompare(c->name, name, len) == 0) - return c->usv; + return static_cast(c->usv); else ++c; return -1; @@ -524,7 +524,7 @@ compiledSize = 0; usedExtStringRules = false; - textPtr = (const unsigned char*)txt; + textPtr = reinterpret_cast(txt); textEnd = textPtr + len; ungotten = kInvalidChar; @@ -628,7 +628,7 @@ errorState = false; string32::const_iterator i; - switch ((int)tok.type) { + switch (int(tok.type)) { default: Error("this can't happen!"); break; @@ -771,7 +771,7 @@ case '^': // negation can only apply to a few things: GetNextToken(); - switch ((int)tok.type) { + switch (int(tok.type)) { case tok_Number: AppendLiteral(tok.val, true); break; @@ -943,8 +943,8 @@ case '{': { - int repeatMin = 0; - int repeatMax = 15; + UInt32 repeatMin = 0; + UInt32 repeatMax = 15; GetNextToken(); if (tok.type == tok_Number) { repeatMin = repeatMax = tok.val; @@ -997,7 +997,7 @@ break; if (!ExpectToken(tok_Number, "expected (NUMBER) STRING after Name")) break; - int nameID = tok.val; + UInt16 nameID = tok.val; if (!ExpectToken(')', "expected (NUMBER) STRING after Name")) break; ReadNameString(nameID); @@ -1129,7 +1129,7 @@ bool ellipsisOK = false; while (tok.type != ')' && tok.type != tok_Newline) { GetNextToken(); - switch ((int)tok.type) { + switch (int(tok.type)) { case tok_USV: if (classType == 'B') { Error("can't use Unicode value in byte encoding"); @@ -1250,7 +1250,7 @@ break; default: - Error("unexpected token within class", string((const char*)tokStart, (const char*)textPtr - (const char*)tokStart).c_str()); + Error("unexpected token within class", string(reinterpret_cast(tokStart), reinterpret_cast(textPtr - tokStart)).c_str()); break; } } @@ -1339,7 +1339,7 @@ string trailer("\n"); compiledSize = header.length() + xmlRepresentation.length() + trailer.length(); - compiledTable = (Byte*)malloc(compiledSize + 1); + compiledTable = static_cast(malloc(compiledSize + 1)); if (compiledTable == NULL) throw bad_alloc(); @@ -1378,30 +1378,30 @@ // pack all the name records string namesData; for (vector::const_iterator i = nameIDs.begin(); i != nameIDs.end(); ++i) { - appendToTable(offsets, (const char*)&offset, sizeof(offset)); + appendToTable(offsets, reinterpret_cast(&offset), sizeof(offset)); NameRec r; WRITE(r.nameID, *i); WRITE(r.nameLength, names[*i].length()); - namesData.append((const char*)&r, sizeof(r)); + namesData.append(reinterpret_cast(&r), sizeof(r)); namesData.append(names[*i]); if ((namesData.length() & 1) != 0) - namesData.append(1, (char)0); + namesData.append(1, '\0'); offset += namesData.length() - prevLength; prevLength = namesData.length(); } if ((namesData.length() & 2) != 0) - namesData.append(2, (char)0); + namesData.append(2, '\0'); offset += namesData.length() - prevLength; // pack the offsets to the actual mapping tables vector::const_iterator t; for (t = fwdTables.begin(); t != fwdTables.end(); ++t) { - appendToTable(offsets, (const char*)&offset, sizeof(offset)); + appendToTable(offsets, reinterpret_cast(&offset), sizeof(offset)); offset += t->size(); } for (t = revTables.end(); t != revTables.begin(); ) { --t; - appendToTable(offsets, (const char*)&offset, sizeof(offset)); + appendToTable(offsets, reinterpret_cast(&offset), sizeof(offset)); offset += t->size(); } @@ -1417,9 +1417,9 @@ for (t = revTables.begin(); t != revTables.end(); ++t) compiledSize += t->length(); - compiledTable = (Byte*)malloc(compiledSize); + compiledTable = static_cast(malloc(compiledSize)); if (compiledTable != 0) { - char* cp = (char*)compiledTable; + Byte* cp = compiledTable; memcpy(cp, &fh, sizeof(fh)); cp += sizeof(fh); memcpy(cp, offsets.data(), offsets.length()); @@ -1435,7 +1435,7 @@ memcpy(cp, t->data(), t->length()); cp += t->length(); } - if ((char*)compiledTable + compiledSize != cp) + if (compiledTable + compiledSize != cp) cerr << "error!" << endl; } else @@ -1445,14 +1445,14 @@ if (errorCount == 0 && cmp) { // do the compression... unsigned long destLen = compiledSize * 11 / 10 + 20; - Byte* dest = (Byte*)malloc(destLen + 8); + Byte* dest = static_cast(malloc(destLen + 8)); if (dest != 0) { int result = compress2(dest + 8, &destLen, compiledTable, compiledSize, Z_BEST_COMPRESSION); if (result == Z_OK) { destLen += 8; - dest = (Byte*)realloc(dest, destLen); // shrink dest to fit - WRITE(((FileHeader*)dest)->type, kMagicNumberCmp); - WRITE(((FileHeader*)dest)->version, compiledSize); + dest = static_cast(realloc(dest, destLen)); // shrink dest to fit + WRITE(reinterpret_cast(dest)->type, kMagicNumberCmp); + WRITE(reinterpret_cast(dest)->version, compiledSize); free(compiledTable); compiledTable = dest; compiledSize = destLen; @@ -1500,12 +1500,12 @@ } else { bytesToWrite = 2; c = 0x0000fffd; }; - rval.append((size_t)bytesToWrite, 0); - int index = rval.length(); + rval.append(size_t(bytesToWrite), 0); + size_t index = rval.length(); switch (bytesToWrite) { /* note: code falls through cases! */ - case 4: rval[--index] = (c | byteMark) & byteMask; c >>= 6; - case 3: rval[--index] = (c | byteMark) & byteMask; c >>= 6; - case 2: rval[--index] = (c | byteMark) & byteMask; c >>= 6; + case 4: rval[--index] = static_cast((c | byteMark) & byteMask); c >>= 6; + case 3: rval[--index] = static_cast((c | byteMark) & byteMask); c >>= 6; + case 2: rval[--index] = static_cast((c | byteMark) & byteMask); c >>= 6; case 1: rval[--index] = c | firstByteMark[bytesToWrite]; }; } @@ -1746,7 +1746,7 @@ tok.strval.erase(tok.strval.begin(), tok.strval.end()); #endif while (len-- > 0) - tok.strval.append(1, *str++); + tok.strval.append(1, static_cast(*str++)); return tok_Identifier; } @@ -1790,12 +1790,12 @@ case kForm_UTF16BE: CHECK_AVAIL(2); - rval = *textPtr++ << 8; + rval = static_cast(*textPtr++) << 8; rval += *textPtr++; if (rval >= kSurrogateHighStart && rval <= kSurrogateHighEnd) { // check that 2 more bytes are available CHECK_AVAIL(2); - UInt32 low = *textPtr++ << 8; + UInt32 low = static_cast(*textPtr++) << 8; low += *textPtr++; rval = ((rval - kSurrogateHighStart) << halfShift) + (low - kSurrogateLowStart) + halfBase; } @@ -1804,29 +1804,29 @@ case kForm_UTF16LE: CHECK_AVAIL(2); rval = *textPtr++; - rval += *textPtr++ << 8; + rval += static_cast(*textPtr++) << 8; if (rval >= kSurrogateHighStart && rval <= kSurrogateHighEnd) { CHECK_AVAIL(2); UInt32 low = *textPtr++; - low += *textPtr++ << 8; + low += static_cast(*textPtr++) << 8; rval = ((rval - kSurrogateHighStart) << halfShift) + (low - kSurrogateLowStart) + halfBase; } break; case kForm_UTF32BE: CHECK_AVAIL(4); - rval = *textPtr++ << 24; - rval += *textPtr++ << 16; - rval += *textPtr++ << 8; + rval = static_cast(*textPtr++) << 24; + rval += static_cast(*textPtr++) << 16; + rval += static_cast(*textPtr++) << 8; rval += *textPtr++; break; case kForm_UTF32LE: CHECK_AVAIL(4); rval = *textPtr++; - rval += *textPtr++ << 8; - rval += *textPtr++ << 16; - rval += *textPtr++ << 24; + rval += static_cast(*textPtr++) << 8; + rval += static_cast(*textPtr++) << 16; + rval += static_cast(*textPtr++) << 24; break; } @@ -1946,11 +1946,11 @@ case '/': case '=': case '@': - tok.type = (tokenType)currCh; + tok.type = tokenType(currCh); return true; case '<': - tok.type = (tokenType)'<'; + tok.type = tokenType('<'); if (textPtr < textEnd) { if ((currCh = getChar()) == '>') tok.type = tok_Map; @@ -1960,7 +1960,7 @@ return true; case '.': - tok.type = (tokenType)'.'; + tok.type = tokenType('.'); if (textPtr < textEnd) { if ((currCh = getChar()) == '.') tok.type = tok_Ellipsis; @@ -1978,7 +1978,7 @@ goto DEFAULT; } } - tok.type = (tokenType)'_'; + tok.type = tokenType('_'); return true; case '0': @@ -2133,7 +2133,7 @@ cout << " at line " << line << endl; } else - (*errorFunction)(errFuncUserData, (char*)msg, (char*)s, line); + (*errorFunction)(errFuncUserData, const_cast(msg), const_cast(s), line); errorState = true; ++errorCount; } @@ -2356,7 +2356,7 @@ } void -Compiler::SetMinMax(int repeatMin, int repeatMax) +Compiler::SetMinMax(UInt32 repeatMin, UInt32 repeatMax) { Item* item = 0; switch (ruleState) { @@ -2577,7 +2577,7 @@ continue; default: - cerr << "bad rep elem type: " << (int)i->type << endl; + cerr << "bad rep elem type: " << i->type << endl; break; } } @@ -2944,12 +2944,12 @@ } void -Compiler::appendMatchElem(string& packedRule, Item& item, int index, +Compiler::appendMatchElem(string& packedRule, Item& item, unsigned int index, vector& matchClasses) { MatchElem m; WRITE(m.value.usv.data, 0); - WRITE(m.flags.repeat, (item.repeatMin << 4) + item.repeatMax); + WRITE(m.flags.repeat, (static_cast(item.repeatMin) << 4) + item.repeatMax); if (item.negate) WRITE(m.flags.type, kMatchElem_Negate); else @@ -2997,8 +2997,7 @@ WRITE(m.flags.type, READ(m.flags.type) | (kMatchElem_NonLit + kMatchElem_Type_EOS)); break; } - const char* p = (const char*)&m; - packedRule.append(p, sizeof(m)); + packedRule.append(reinterpret_cast(&m), sizeof(m)); } void @@ -3039,8 +3038,7 @@ WRITE(r.flags.type, kRepElem_Unmapped); break; } - const char* p = (const char*)&r; - packedRule.append(p, sizeof(r)); + packedRule.append(reinterpret_cast(&r), sizeof(r)); } vector @@ -3068,29 +3066,30 @@ UInt8 plane = ch >> 16; UInt8 page = (ch & 0x00ffff) >> 8; if (buildVars.planeMap.size() <= plane) - buildVars.planeMap.resize(plane + 1, 0xff); - if ((UInt8)buildVars.planeMap[plane] == (UInt8)0xff) { + buildVars.planeMap.resize(plane + 1, '\xff'); + if (UInt8(buildVars.planeMap[plane]) == 0xff) { buildVars.planeMap[plane] = buildVars.pageMaps.size(); buildVars.pageMaps.resize(buildVars.pageMaps.size() + 1); - buildVars.pageMaps.back().resize(256, 0xff); - } - UInt8 planeIndex = buildVars.planeMap[plane]; + buildVars.pageMaps.back().resize(256, '\xff'); + } + UInt8 planeIndex = static_cast(buildVars.planeMap[plane]); string& pageMap = buildVars.pageMaps[planeIndex]; - if ((UInt8)pageMap[page] == (UInt8)0xff) { + if (UInt8(pageMap[page]) == 0xff) { pageMap[page] = buildVars.charMaps.size(); buildVars.charMaps.resize(buildVars.charMaps.size() + 1); buildVars.charMaps.back().resize(256); } - vector& charMap = buildVars.charMaps[(UInt8)pageMap[page]]; + vector& charMap = buildVars.charMaps[UInt8(pageMap[page])]; charMap[ch & 0x0000ff] = index; } void -Compiler::align(string& table, int alignment) -{ - int remainder = table.size() % alignment; +Compiler::align(string& table, string::size_type alignment) +{ + const string::size_type length = table.size(); + const string::size_type remainder = length % alignment; if (remainder != 0) - table.resize(table.size() + alignment - remainder); + table.resize(length + alignment - remainder); } class Member { @@ -3268,7 +3267,17 @@ // mapping to Unicode: direct lookup can only support one Unicode character if (rule.replaceStr.size() == 1) { const Item& rep = rule.replaceStr.front(); - int t = rep.tag.length() > 0 ? findTag(rep.tag, rule.matchStr) : 0; + vector::size_type tag; + if (rep.tag.length() > 0) { + const int result = findTag(rep.tag, rule.matchStr); + if (result < 0) { + Error("tag not found", rep.tag.c_str(), rule.lineNumber); + continue; + } + tag = static_cast::size_type>(result); + } else { + tag = 0; + } switch (rep.type) { case 0: WRITE(lookup[i].usv, rep.val); @@ -3276,11 +3285,7 @@ case kMatchElem_Type_Class: { - if (t == -1) { - Error("tag not found", rep.tag.c_str(), rule.lineNumber); - continue; - } - const Item& mat = rule.matchStr[t]; + const Item& mat = rule.matchStr[tag]; if (mat.type != kMatchElem_Type_Class) { Error("improper use of class as target of mapping", 0, rule.lineNumber); continue; @@ -3307,7 +3312,7 @@ case kMatchElem_Type_Copy: // should only occur in UU table - if (t > (int)rule.matchStr.size()) { + if (tag > rule.matchStr.size()) { Error("no corresponding item for copy", 0, rule.lineNumber); goto ERR_FOUND; } @@ -3324,13 +3329,18 @@ if (rule.replaceStr.size() <= 3) { WRITE(lookup[i].bytes.count, rule.replaceStr.size()); // this will get overwritten by lookup[i].rules.type if string rules turn out to be needed - UInt32 j; - for (j = 0; j < rule.replaceStr.size(); ++j) { + for (UInt32 j = 0; j < rule.replaceStr.size(); ++j) { const Item& rep = rule.replaceStr[j]; - int t = rep.tag.length() > 0 ? findTag(rep.tag, rule.matchStr) : j; - if (t == -1) { - Error("tag not found", rep.tag.c_str(), rule.lineNumber); - goto ERR_FOUND; + vector::size_type tag; + if (rep.tag.length() > 0) { + const int result = findTag(rep.tag, rule.matchStr); + if (result < 0) { + Error("tag not found", rep.tag.c_str(), rule.lineNumber); + goto ERR_FOUND; + } + tag = static_cast::size_type>(result); + } else { + tag = j; } switch (rep.type) { case 0: // literal @@ -3338,12 +3348,12 @@ break; case kMatchElem_Type_Class: - if (t > (int)rule.matchStr.size()) { + if (tag > rule.matchStr.size()) { Error("no corresponding item for class replacement", 0, rule.lineNumber); goto ERR_FOUND; } else { - const Item& mat = rule.matchStr[t]; + const Item& mat = rule.matchStr[tag]; if (mat.type != kMatchElem_Type_Class) { Error("improper use of class as target of mapping", 0, rule.lineNumber); goto ERR_FOUND; @@ -3370,7 +3380,7 @@ case kMatchElem_Type_Copy: // should only occur in BB table - if (t > (int)rule.matchStr.size()) { + if (tag > rule.matchStr.size()) { Error("no corresponding item for copy", 0, rule.lineNumber); goto ERR_FOUND; } @@ -3455,22 +3465,22 @@ currentPass.supplementaryChars = true; UInt32 headerOffset = table.size(); - table.append((const char*)&th, sizeof(th)); + table.append(reinterpret_cast(&th), sizeof(th)); if (fromUni) { WRITE(th.pageBase, table.size()); UInt32 i, j; if (currentPass.supplementaryChars) { - buildVars.planeMap.resize(17, 0xff); + buildVars.planeMap.resize(17, '\xff'); for (i = 0; i < buildVars.planeMap.size(); ++i) appendToTable(table, buildVars.planeMap[i]); - appendToTable(table, (UInt8)buildVars.pageMaps.size()); + appendToTable(table, UInt8(buildVars.pageMaps.size())); align(table, 4); } for (i = 0; i < buildVars.pageMaps.size(); ++i) for (j = 0; j < buildVars.pageMaps[i].size(); ++j) - appendToTable(table, (UInt8)buildVars.pageMaps[i][j]); + appendToTable(table, UInt8(buildVars.pageMaps[i][j])); align(table, 4); for (i = 0; i < buildVars.charMaps.size(); ++i) @@ -3515,17 +3525,17 @@ sortedClass.erase(sortedClass.begin() + j); } - appendToTable(classes, (UInt32)sortedClass.size()); + appendToTable(classes, UInt32(sortedClass.size())); if (fromUni) if (currentPass.supplementaryChars) for (Class::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x) appendToTable(classes, *x); else for (Class::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x) - appendToTable(classes, (UInt16)*x); + appendToTable(classes, UInt16(*x)); else for (Class::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x) - appendToTable(classes, (UInt8)*x); + appendToTable(classes, UInt8(*x)); align(classes, 4); } // copy the real classOffsets into the table @@ -3563,17 +3573,17 @@ sortedClass.erase(sortedClass.begin() + j); } - appendToTable(classes, (UInt32)sortedClass.size()); + appendToTable(classes, UInt32(sortedClass.size())); if (toUni) if (currentPass.supplementaryChars) for (vector::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x) appendToTable(classes, x->value); else for (vector::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x) - appendToTable(classes, (UInt16)x->value); + appendToTable(classes, UInt16(x->value)); else for (vector::iterator x = sortedClass.begin(); x != sortedClass.end(); ++x) - appendToTable(classes, (UInt8)(x->value)); + appendToTable(classes, UInt8(x->value)); align(classes, 4); } // copy the real classOffsets into the table @@ -3588,7 +3598,7 @@ if (currentPass.supplementaryChars) WRITE(th.flags, READ(th.flags) | kTableFlags_Supplementary); WRITE(th.length, table.size()); - table.replace(0, sizeof(th), (const char*)&th, sizeof(th)); + table.replace(0, sizeof(th), reinterpret_cast(&th), sizeof(th)); } void diff --git a/source/Compiler.h b/source/Compiler.h index b468417..5ba1526 100644 --- a/source/Compiler.h +++ b/source/Compiler.h @@ -20,8 +20,7 @@ -------------------------------------------------------------------------*/ -#ifndef __Compiler_H__ -#define __Compiler_H__ +#pragma once #ifdef HAVE_CONFIG_H # include "config.h" /* a Unix-ish setup where we have config.h available */ @@ -274,7 +273,7 @@ bool GetNextToken(); bool ExpectToken(tokenType type, const char* errMsg); bool ExpectToken(char c, const char* errMsg) - { return ExpectToken((tokenType)c, errMsg); } + { return ExpectToken(tokenType(c), errMsg); } void Error(const char* errMsg, const char* s = 0, UInt32 line = 0xffffffff); void StartDefaultPass(); void AppendLiteral(UInt32 val, bool negate = false); @@ -284,7 +283,7 @@ void AppendToRule(const Item& item); bool tagExists(bool rhs, const string& tag); void AssignTag(const string& tag); - void SetMinMax(int repeatMin, int repeatMax); + void SetMinMax(UInt32 repeatMin, UInt32 repeatMax); void FinishPass(); string asUTF8(const string32 s); void ReadNameString(UInt16 nameID); @@ -307,19 +306,18 @@ long uniClassIndex(UInt32 charCode, UInt32 classIndex); long byteClassIndex(UInt8 charCode, UInt32 classIndex); bool isSingleCharRule(const Rule& rule); - void appendMatchElem(string& packedRule, Item& item, int index, + void appendMatchElem(string& packedRule, Item& item, unsigned int index, vector& matchClasses); void appendReplaceElem(string& packedRule, Item& item, vector& matchStr, vector& repClasses); void appendToTable(string& s, const char* ptr, UInt32 len); template void appendToTable(string& table, T x) { + const char* xp = reinterpret_cast(&x); #ifdef WORDS_BIGENDIAN - const char* xp = (const char*)&x; table.append(xp, sizeof(x)); #else /* split into separate statements to work around VC++6 problems */ - const char* xp = (const char*)&x; xp = xp + sizeof(T); for (unsigned int i = 0; i < sizeof(T); ++i) { xp = xp - 1; @@ -329,7 +327,7 @@ } vector reverseContext(const vector& ctx); - void align(string& table, int alignment); + void align(string& table, string::size_type alignment); void xmlOut(const char* s); void xmlOut(const string& s); @@ -345,5 +343,3 @@ }; extern CharName gUnicodeNames[]; } - -#endif /* __Compiler_H__ */ diff --git a/source/Engine.cpp b/source/Engine.cpp index 14a7b5f..89fd8fc 100644 --- a/source/Engine.cpp +++ b/source/Engine.cpp @@ -102,10 +102,6 @@ #endif } -#ifndef __GNUC__ -#pragma mark --- class Stage --- -#endif - Stage::Stage() : oBuffer(0) , oBufSize(0) @@ -126,10 +122,6 @@ { return 0; } - -#ifndef __GNUC__ -#pragma mark --- class Normalizer --- -#endif #include "NormalizationData.c" @@ -400,10 +392,6 @@ return c; } -#ifndef __GNUC__ -#pragma mark --- class Pass --- -#endif - Pass::Pass(const TableHeader* inTable, Converter* cnv) : converter(cnv) , tableHeader(inTable) @@ -418,12 +406,12 @@ bSupplementaryChars = (READ(tableHeader->flags) & kTableFlags_Supplementary) != 0; numPageMaps = 1; - pageBase = (const Byte*)tableHeader + READ(tableHeader->pageBase); - lookupBase = (const Lookup*)((const Byte*)tableHeader + READ(tableHeader->lookupBase)); - matchClassBase = (const Byte*)tableHeader + READ(tableHeader->matchClassBase); - repClassBase = (const Byte*)tableHeader + READ(tableHeader->repClassBase); - stringListBase = (const Byte*)tableHeader + READ(tableHeader->stringListBase); - stringRuleData = (const Byte*)tableHeader + READ(tableHeader->stringRuleData); + pageBase = reinterpret_cast(tableHeader) + READ(tableHeader->pageBase); + lookupBase = reinterpret_cast(reinterpret_cast(tableHeader) + READ(tableHeader->lookupBase)); + matchClassBase = reinterpret_cast(tableHeader) + READ(tableHeader->matchClassBase); + repClassBase = reinterpret_cast(tableHeader) + READ(tableHeader->repClassBase); + stringListBase = reinterpret_cast(tableHeader) + READ(tableHeader->stringListBase); + stringRuleData = reinterpret_cast(tableHeader) + READ(tableHeader->stringRuleData); if (bInputIsUnicode && bSupplementaryChars) { // support supplementary plane chars @@ -598,7 +586,7 @@ long Pass::classMatch(UInt32 classNumber, UInt32 inChar) const { - const UInt32* classPtr = (const UInt32*)(matchClassBase + READ(*((const UInt32*)matchClassBase + classNumber))); + const UInt32* classPtr = reinterpret_cast(matchClassBase + READ(*(reinterpret_cast(matchClassBase) + classNumber))); UInt32 memberCount = READ(*classPtr++); if (bInputIsUnicode) { if (bSupplementaryChars) { @@ -609,16 +597,16 @@ } else { // classes are 16-bit - const UInt16* p = binary_search((const UInt16*)classPtr, memberCount, inChar); + const UInt16* p = binary_search(reinterpret_cast(classPtr), memberCount, inChar); if (READ(*p) == inChar) - return p - (const UInt16*)classPtr; + return p - reinterpret_cast(classPtr); } } else { // classes are 8-bit - const UInt8* p = binary_search((const UInt8*)classPtr, memberCount, inChar); + const UInt8* p = binary_search(reinterpret_cast(classPtr), memberCount, inChar); if (READ(*p) == inChar) - return p - (const UInt8*)classPtr; + return p - reinterpret_cast(classPtr); } return -1; } @@ -626,16 +614,16 @@ UInt32 Pass::repClassMember(UInt32 classNumber, UInt32 index) const { - const UInt32* classPtr = (const UInt32*)(repClassBase + READ(*((const UInt32*)repClassBase + classNumber))); + const UInt32* classPtr = reinterpret_cast(repClassBase + READ(*(reinterpret_cast(repClassBase) + classNumber))); UInt32 memberCount = READ(*classPtr++); if (index < memberCount) if (bOutputIsUnicode) if (bSupplementaryChars) return READ(classPtr[index]); else - return READ(((const UInt16*)classPtr)[index]); + return READ(reinterpret_cast(classPtr)[index]); else { - return READ(((const UInt8*)classPtr)[index]); + return READ(reinterpret_cast(classPtr)[index]); } else return 0; // this can't happen if the compiler is right! @@ -1015,7 +1003,7 @@ if (bInputIsUnicode) { // Unicode lookup UInt16 charIndex = 0; - if ((const UInt8*)lookupBase == pageBase) { + if (reinterpret_cast(lookupBase) == pageBase) { // leave charIndex == 0 : pass with no rules } else { @@ -1023,7 +1011,7 @@ const UInt8* pageMap = 0; if (bSupplementaryChars) { if ((plane < 17) && (READ(planeMap[plane]) != 0xff)) { - pageMap = (const UInt8*)(pageBase + 256 * READ(planeMap[plane])); + pageMap = reinterpret_cast(pageBase + 256 * READ(planeMap[plane])); goto GOT_PAGE_MAP; } } @@ -1032,7 +1020,7 @@ GOT_PAGE_MAP: UInt8 page = (inChar >> 8) & 0xff; if (READ(pageMap[page]) != 0xff) { - const UInt16* charMapBase = (const UInt16*)(pageBase + 256 * numPageMaps); + const UInt16* charMapBase = reinterpret_cast(pageBase + 256 * numPageMaps); const UInt16* charMap = charMapBase + 256 * READ(pageMap[page]); charIndex = READ(charMap[inChar & 0xff]); } @@ -1042,7 +1030,7 @@ } else { // byte-oriented lookup - if (pageBase != (const Byte*)tableHeader) { + if (pageBase != reinterpret_cast(tableHeader)) { // dbcsPage present long pageNumber = READ(pageBase[inChar]); if (pageNumber == 0) @@ -1072,14 +1060,14 @@ UInt8 ruleType = READ(lookup->rules.type); if (ruleType == kLookupType_StringRules || (ruleType & kLookupType_RuleTypeMask) == kLookupType_ExtStringRules) { // process string rule list - const UInt32* ruleList = (const UInt32*)stringListBase + READ(lookup->rules.ruleIndex); + const UInt32* ruleList = reinterpret_cast(stringListBase) + READ(lookup->rules.ruleIndex); bool matched = false; bool allowInsertion = true; int ruleCount = READ(lookup->rules.ruleCount); if ((ruleType & kLookupType_RuleTypeMask) == kLookupType_ExtStringRules) ruleCount += 256 * (ruleType & kLookupType_ExtRuleCountMask); for ( ; ruleCount > 0; --ruleCount) { - const StringRule* rule = (const StringRule*)(stringRuleData + READ(*ruleList)); + const StringRule* rule = reinterpret_cast(stringRuleData + READ(*ruleList)); #ifdef TRACING if (traceLevel > 0) { cerr << "** trying match: "; @@ -1093,7 +1081,7 @@ if (matchElems == 0 && allowInsertion == false) continue; patternLength = matchElems + READ(rule->postLength); - pattern = (MatchElem*)(rule + 1); // point past the defined struct for the rule header + pattern = reinterpret_cast(rule + 1); // point past the defined struct for the rule header direction = 1; infoLimit = matchElems; @@ -1134,7 +1122,7 @@ cerr << "** GENERATES:"; } #endif - const RepElem* r = (const RepElem*)(pattern + patternLength); + const RepElem* r = reinterpret_cast(pattern + patternLength); for (int i = 0; i < READ(rule->repLength); ++i, ++r) { #ifdef TRACING if (traceLevel > 0) @@ -1288,10 +1276,6 @@ return 0; } -#ifndef __GNUC__ -#pragma mark --- class Converter --- -#endif - Converter::Converter(const Byte* inTable, UInt32 inTableSize, bool inForward, UInt16 inForm, UInt16 outForm) : table(0) @@ -1307,11 +1291,11 @@ finalStage = this; UInt16 normForm = 0; if (inTable != 0) { - const FileHeader* fh = (const FileHeader*)inTable; + const FileHeader* fh = reinterpret_cast(inTable); if (READ(fh->type) == kMagicNumberCmp) { // the table is compressed; allocate a new buffer and decompress unsigned long uncompressedLen = READ(fh->version); - table = (Byte*)malloc(uncompressedLen); + table = static_cast(malloc(uncompressedLen)); if (table == 0) { status = kStatus_OutOfMemory; return; @@ -1321,7 +1305,7 @@ status = kStatus_InvalidMapping; return; } - fh = (const FileHeader*)table; + fh = reinterpret_cast(table); } if (READ(fh->type) != kMagicNumber) { @@ -1334,7 +1318,7 @@ } if (table == 0) { - table = (Byte*)malloc(inTableSize); + table = static_cast(malloc(inTableSize)); if (table == 0) { status = kStatus_OutOfMemory; return; @@ -1342,8 +1326,8 @@ memcpy(table, inTable, inTableSize); } - fh = (const FileHeader*)table; - const UInt32* nameOffsets = (const UInt32*)(table + sizeof(FileHeader)); + fh = reinterpret_cast(table); + const UInt32* nameOffsets = reinterpret_cast(table + sizeof(FileHeader)); const UInt32* tableBase = nameOffsets + READ(fh->numNames); UInt32 numTables = READ(fh->numFwdTables); if (!forward) { @@ -1398,7 +1382,7 @@ // create the processing pipeline for (UInt32 i = 0; i < numTables; ++i) { - const TableHeader* t = (const TableHeader*)(table + READ(tableBase[i])); + const TableHeader* t = reinterpret_cast(table + READ(tableBase[i])); Stage* p = 0; switch (READ(t->type)) { case kTableType_BB: @@ -1708,7 +1692,7 @@ void Converter::GetFlags(UInt32& sourceFlags, UInt32& targetFlags) const { - const FileHeader* fh = (const FileHeader*)table; + const FileHeader* fh = reinterpret_cast(table); if (forward) { sourceFlags = READ(fh->formFlagsLHS); targetFlags = READ(fh->formFlagsRHS); @@ -1722,13 +1706,13 @@ static bool getNamePtrFromTable(const Byte* table, UInt16 nameID, const Byte*& outNamePtr, UInt32& outNameLen) { - const FileHeader* fh = (const FileHeader*)table; - const UInt32* nameOffsets = (const UInt32*)(table + sizeof(FileHeader)); + const FileHeader* fh = reinterpret_cast(table); + const UInt32* nameOffsets = reinterpret_cast(table + sizeof(FileHeader)); for (UInt32 i = 0; i < READ(fh->numNames); ++i) { - const NameRec* n = (const NameRec*)(table + READ(nameOffsets[i])); + const NameRec* n = reinterpret_cast(table + READ(nameOffsets[i])); if (READ(n->nameID) == nameID) { outNameLen = READ(n->nameLength); - outNamePtr = (const Byte*)n + sizeof(NameRec); + outNamePtr = reinterpret_cast(n) + sizeof(NameRec); return true; } } @@ -1935,16 +1919,12 @@ if (cnv->status != kStatus_NoError) return false; if (cnv->table != 0) { - const FileHeader* fh = (const FileHeader*)cnv->table; + const FileHeader* fh = reinterpret_cast(cnv->table); if (READ(fh->type) != kMagicNumber) return false; } return true; } - -#ifndef __GNUC__ -#pragma mark --- Public "C" API functions --- -#endif TECkit_Status WINAPI @@ -1963,7 +1943,7 @@ cnv = new Converter(mapping, mappingSize, mapForward, inputForm, outputForm); status = cnv->creationStatus(); if (status == kStatus_NoError) - *converter = (TECkit_Converter)cnv; + *converter = reinterpret_cast(cnv); else delete cnv; } @@ -1982,7 +1962,7 @@ TECkit_Converter converter) { TECkit_Status status = kStatus_NoError; - Converter* cnv = (Converter*)converter; + Converter* cnv = reinterpret_cast(converter); if (!Converter::Validate(cnv)) status = kStatus_InvalidConverter; else @@ -2000,7 +1980,7 @@ UInt32* nameLength) { TECkit_Status status = kStatus_NoError; - Converter* cnv = (Converter*)converter; + Converter* cnv = reinterpret_cast(converter); if (!Converter::Validate(cnv)) status = kStatus_InvalidConverter; else { @@ -2024,7 +2004,7 @@ UInt32* targetFlags) { TECkit_Status status = kStatus_NoError; - Converter* cnv = (Converter*)converter; + Converter* cnv = reinterpret_cast(converter); if (!Converter::Validate(cnv)) status = kStatus_InvalidConverter; else @@ -2038,7 +2018,7 @@ TECkit_Converter converter) { TECkit_Status status = kStatus_NoError; - Converter* cnv = (Converter*)converter; + Converter* cnv = reinterpret_cast(converter); if (!Converter::Validate(cnv)) status = kStatus_InvalidConverter; else @@ -2060,7 +2040,7 @@ UInt32* lookaheadCount) { TECkit_Status status = kStatus_NoError; - Converter* cnv = (Converter*)converter; + Converter* cnv = reinterpret_cast(converter); if (!Converter::Validate(cnv)) status = kStatus_InvalidConverter; else @@ -2095,7 +2075,7 @@ UInt32* lookaheadCount) { TECkit_Status status = kStatus_NoError; - Converter* cnv = (Converter*)converter; + Converter* cnv = reinterpret_cast(converter); if (!Converter::Validate(cnv)) status = kStatus_InvalidConverter; else @@ -2127,12 +2107,12 @@ if (mapping == 0) status = kStatus_InvalidMapping; else { - const FileHeader* fh = (const FileHeader*)mapping; + const FileHeader* fh = reinterpret_cast(mapping); FileHeader header; if (READ(fh->type) == kMagicNumberCmp) { // compressed mapping, so we need to decompress enough of it to read the flags unsigned long uncompressedLen = sizeof(FileHeader); - int result = uncompress((Byte*)&header, &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32)); + int result = uncompress(reinterpret_cast(&header), &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32)); if (result != Z_BUF_ERROR) status = kStatus_InvalidMapping; fh = &header; @@ -2166,13 +2146,13 @@ if (mapping == 0) status = kStatus_InvalidMapping; else { - const FileHeader* fh = (const FileHeader*)mapping; + const FileHeader* fh = reinterpret_cast(mapping); FileHeader header; if (READ(fh->type) == kMagicNumberCmp) { // compressed mapping, so we need to decompress the fixed header to read the headerLength field, // and then decompress the complete header to get the names unsigned long uncompressedLen = sizeof(FileHeader); - int result = uncompress((Byte*)&header, &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32)); + int result = uncompress(reinterpret_cast(&header), &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32)); if (result != Z_BUF_ERROR) status = kStatus_InvalidMapping; else { @@ -2182,10 +2162,10 @@ if (buf == 0) status = kStatus_OutOfMemory; else { - result = uncompress((Byte*)buf, &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32)); + result = uncompress(static_cast(buf), &uncompressedLen, mapping + 2 * sizeof(UInt32), mappingSize - 2 * sizeof(UInt32)); if (result != Z_BUF_ERROR) status = kStatus_InvalidMapping; - fh = (const FileHeader*)buf; + fh = static_cast(buf); } } } @@ -2194,7 +2174,7 @@ status = kStatus_BadMappingVersion; else { const Byte* namePtr; - if (getNamePtrFromTable((Byte*)fh, nameID, namePtr, *nameLength)) { + if (getNamePtrFromTable(reinterpret_cast(fh), nameID, namePtr, *nameLength)) { UInt16 copyBytes = *nameLength < bufferSize ? *nameLength : bufferSize; if (copyBytes > 0) memcpy(nameBuffer, namePtr, copyBytes); diff --git a/source/Engine.h b/source/Engine.h index 10bdb11..3629bb2 100644 --- a/source/Engine.h +++ b/source/Engine.h @@ -17,8 +17,7 @@ 2003-09-23 jk updated for version 2.1 with new Opt APIs */ -#ifndef __Engine_H__ -#define __Engine_H__ +#pragma once #include "TECkit_Engine.h" #include "TECkit_Format.h" @@ -117,7 +116,7 @@ UInt32 match(int index, int repeats, int textLoc); // returns 0 for no match, 1 for match, or kNeedMoreInput/kInvalidChar - MatchElem* pattern; + const MatchElem* pattern; int patternLength; int direction; MatchInfo info[256]; @@ -220,5 +219,3 @@ UInt32 warningStatus; }; - -#endif /* __Engine_H__ */ diff --git a/source/NormalizationData.c b/source/NormalizationData.c index 85f7585..051c46c 100644 --- a/source/NormalizationData.c +++ b/source/NormalizationData.c @@ -2,7 +2,7 @@ const UInt8 ccPageMaps[][256] = { {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}, - {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}, + {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}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,7 +19,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,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}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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}, {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}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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}, @@ -56,6 +56,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,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}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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}, @@ -65,6 +66,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,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}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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}, {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}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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}, }; diff --git a/source/Public-headers/TECkit_Common.h b/source/Public-headers/TECkit_Common.h index 84cdd53..ba7ed77 100644 --- a/source/Public-headers/TECkit_Common.h +++ b/source/Public-headers/TECkit_Common.h @@ -23,8 +23,7 @@ xx-xxx-2002 jk version 2.0 initial release */ -#ifndef __TECkit_Common_H__ -#define __TECkit_Common_H__ +#pragma once #define kCurrentTECkitVersion 0x00020004 /* 16.16 version number */ @@ -91,5 +90,3 @@ #define kForm_UTF16LE 4 #define kForm_UTF32BE 5 #define kForm_UTF32LE 6 - -#endif diff --git a/source/Public-headers/TECkit_Compiler.h b/source/Public-headers/TECkit_Compiler.h index 688271d..00c5032 100644 --- a/source/Public-headers/TECkit_Compiler.h +++ b/source/Public-headers/TECkit_Compiler.h @@ -18,8 +18,7 @@ Copyright (c) 2002-2016 SIL International. */ -#ifndef __TECkit_Compiler_H__ -#define __TECkit_Compiler_H__ +#pragma once #include "TECkit_Common.h" @@ -95,5 +94,3 @@ #ifdef __cplusplus } #endif - -#endif diff --git a/source/Public-headers/TECkit_Engine.h b/source/Public-headers/TECkit_Engine.h index fa0532b..401a2ae 100644 --- a/source/Public-headers/TECkit_Engine.h +++ b/source/Public-headers/TECkit_Engine.h @@ -26,22 +26,21 @@ 22-Dec-2001 jk initial version */ -#ifndef __TECkit_Engine_H__ -#define __TECkit_Engine_H__ +#pragma once #include "TECkit_Common.h" /* 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 */ -#define kFlags_ExpectsNFC 0x00000001 /* expects fully composed text (NC) */ -#define kFlags_ExpectsNFD 0x00000002 /* expects fully decomposed text (NCD) */ -#define kFlags_GeneratesNFC 0x00000004 /* generates fully composed text (NC) */ -#define kFlags_GeneratesNFD 0x00000008 /* generates fully decomposed text (NCD) */ +#define kFlags_ExpectsNFC 0x00000001U /* expects fully composed text (NC) */ +#define kFlags_ExpectsNFD 0x00000002U /* expects fully decomposed text (NCD) */ +#define kFlags_GeneratesNFC 0x00000004U /* generates fully composed text (NC) */ +#define kFlags_GeneratesNFD 0x00000008U /* generates fully decomposed text (NCD) */ /* if VisualOrder is set, this side of the mapping deals with visual-order rather than logical-order text (only relevant for bidi scripts) */ -#define kFlags_VisualOrder 0x00008000 /* visual rather than logical order */ +#define kFlags_VisualOrder 0x00008000U /* visual rather than logical order */ /* if Unicode is set, the encoding is Unicode on this side of the mapping */ -#define kFlags_Unicode 0x00010000 /* this is Unicode rather than a byte encoding */ +#define kFlags_Unicode 0x00010000U /* this is Unicode rather than a byte encoding */ /* required names */ #define kNameID_LHS_Name 0 /* "source" or LHS encoding name, e.g. "SIL-EEG_URDU-2001" */ @@ -264,5 +263,3 @@ #if defined(__cplusplus) } /* extern "C" */ #endif - -#endif /* __TECkit_Engine_H__ */ diff --git a/source/Sample-tools/TECkit_Compile.cpp b/source/Sample-tools/TECkit_Compile.cpp index 5f85d8c..1cfa102 100644 --- a/source/Sample-tools/TECkit_Compile.cpp +++ b/source/Sample-tools/TECkit_Compile.cpp @@ -36,7 +36,7 @@ if (param != 0) fprintf(stderr, ": \"%s\"", param); if (line != 0) - fprintf(stderr, " at line %lu", (unsigned long)line); + fprintf(stderr, " at line %lu", static_cast(line)); fprintf(stderr, "\n"); } @@ -114,7 +114,7 @@ if (tecFileName == 0) { int x = strlen(mapFileName); - tecFileName = (char*)malloc(x + 5); + tecFileName = static_cast(malloc(x + 5)); if (tecFileName == 0) return 1; // unlikely! strcpy(tecFileName, mapFileName); @@ -143,7 +143,7 @@ if (inFile == 0) { // try adding .map - char* mapFileName2 = (char*)malloc(strlen(mapFileName) + 5); + char* mapFileName2 = static_cast(malloc(strlen(mapFileName) + 5)); if (mapFileName2 == 0) return 1; strcpy(mapFileName2, mapFileName); @@ -159,7 +159,7 @@ len = ftell(inFile); fseek(inFile, 0, SEEK_SET); - txt = (char*)malloc(len); + txt = static_cast(malloc(len)); if (txt == 0) { fprintf(stderr, "not enough memory to read mapping file\n"); return 1; // not enough memory @@ -194,7 +194,7 @@ TECkit_DisposeCompiled(compiledTable); } else { - fprintf(stderr, "compilation failed: status = %d\n", (int)status); + fprintf(stderr, "compilation failed: status = %d\n", int(status)); return 1; } diff --git a/source/Sample-tools/TxtConv.cpp b/source/Sample-tools/TxtConv.cpp index 9e0ae12..aee9634 100644 --- a/source/Sample-tools/TxtConv.cpp +++ b/source/Sample-tools/TxtConv.cpp @@ -76,8 +76,8 @@ } if (inAvail > 0) { - status = TECkit_ConvertBufferOpt(cnv, (Byte*)inPtr, inAvail, &inUsed, - (Byte*)outBuffer, kOutBufLen, &outUsed, opts, &lookahead); + status = TECkit_ConvertBufferOpt(cnv, reinterpret_cast(inPtr), inAvail, &inUsed, + reinterpret_cast(outBuffer), kOutBufLen, &outUsed, opts, &lookahead); fwrite(outBuffer, 1, outUsed, outFile); switch (status & kStatusMask_Basic) { @@ -93,7 +93,7 @@ case kStatus_UnmappedChar: fprintf(stderr, "processing aborted at unmappable character, within %lu characters before file offset %lu\n", - (unsigned long)lookahead, (unsigned long)(offset - amountToRead + inUsed)); + static_cast(lookahead), static_cast(offset - amountToRead + inUsed)); break; default: @@ -105,7 +105,7 @@ if ((status & kStatusMask_Basic) != kStatus_UnmappedChar) { // flush the converter do { - status = TECkit_FlushOpt(cnv, (Byte*)outBuffer, kOutBufLen, &outUsed, opts, &lookahead); + status = TECkit_FlushOpt(cnv, reinterpret_cast(outBuffer), kOutBufLen, &outUsed, opts, &lookahead); fwrite(outBuffer, 1, outUsed, outFile); savedLen -= inUsed; inPtr += inUsed; @@ -113,7 +113,7 @@ } while ((status & kStatusMask_Basic) == kStatus_OutputBufferFull); if ((status & kStatusMask_Basic) == kStatus_UnmappedChar) - fprintf(stderr, "processing aborted at unmappable character, within %lu characters before end of input\n", (unsigned long)lookahead); + fprintf(stderr, "processing aborted at unmappable character, within %lu characters before end of input\n", static_cast(lookahead)); else if ((status & kStatusMask_Basic) != kStatus_NoError) fprintf(stderr, "bad returned status from TECkit_Flush: %ld\n", status); } @@ -340,7 +340,7 @@ len = ftell(tecFile); fseek(tecFile, 0, SEEK_SET); - table = (char*)malloc(len); + table = static_cast(malloc(len)); if (table == 0) { fprintf(stderr, "out of memory!\n"); fclose(tecFile); @@ -351,8 +351,8 @@ fclose(tecFile); status = forward - ? TECkit_GetMappingFlags((Byte*)table, len, &sourceFlags, &targetFlags) - : TECkit_GetMappingFlags((Byte*)table, len, &targetFlags, &sourceFlags); + ? TECkit_GetMappingFlags(reinterpret_cast(table), len, &sourceFlags, &targetFlags) + : TECkit_GetMappingFlags(reinterpret_cast(table), len, &targetFlags, &sourceFlags); if (status != kStatus_NoError) { fprintf(stderr, "couldn't get encoding flags from mapping\n"); return 1; @@ -510,7 +510,7 @@ // OK, we have figured out the input and output encoding forms we want to use; // now at last we can instantiate a converter - status = TECkit_CreateConverter((Byte*)table, len, forward, inForm, outForm | normForm, &cnv); + status = TECkit_CreateConverter(reinterpret_cast(table), len, forward, inForm, outForm | normForm, &cnv); if (table != 0) free(table); if (status != kStatus_NoError) { diff --git a/source/TECkit_Format.h b/source/TECkit_Format.h index 0e04a45..fcad4cc 100644 --- a/source/TECkit_Format.h +++ b/source/TECkit_Format.h @@ -14,8 +14,7 @@ 2006-06-02 jk added support for extended string rules (>255 per initial char) -------------------------------------------------------------------------*/ -#ifndef __TECkit_Format_H__ -#define __TECkit_Format_H__ +#pragma once #include "TECkit_Common.h" @@ -217,5 +216,3 @@ #define kRepElem_Class kMatchElem_Type_Class #define kRepElem_Copy kMatchElem_Type_Copy #define kRepElem_Unmapped 0x0f /* used in default terminator rules */ - -#endif /* __TECkit_Format_H__ */ diff --git a/source/UnicodeNames.cpp b/source/UnicodeNames.cpp index 436c653..2d844f1 100644 --- a/source/UnicodeNames.cpp +++ b/source/UnicodeNames.cpp @@ -9,6 +9,7 @@ {0x00B4,"ACUTE ACCENT"}, {0x299F,"ACUTE ANGLE"}, {0x2101,"ADDRESSED TO THE SUBJECT"}, +{0x1FA79,"ADHESIVE BANDAGE"}, {0x262C,"ADI SHAKTI"}, {0x1E944,"ADLAM ALIF LENGTHENER"}, {0x1E900,"ADLAM CAPITAL LETTER ALIF"}, @@ -61,6 +62,7 @@ {0x1E947,"ADLAM HAMZA"}, {0x1E95E,"ADLAM INITIAL EXCLAMATION MARK"}, {0x1E95F,"ADLAM INITIAL QUESTION MARK"}, +{0x1E94B,"ADLAM NASALIZATION MARK"}, {0x1E94A,"ADLAM NUKTA"}, {0x1E922,"ADLAM SMALL LETTER ALIF"}, {0x1E926,"ADLAM SMALL LETTER BA"}, @@ -2410,6 +2412,7 @@ {0x269B,"ATOM SYMBOL"}, {0x1F346,"AUBERGINE"}, {0x20B3,"AUSTRAL SIGN"}, +{0x1F6FA,"AUTO RICKSHAW"}, {0x1F3E7,"AUTOMATED TELLER MACHINE"}, {0x1F697,"AUTOMOBILE"}, {0x10B39,"AVESTAN ABBREVIATION MARK"}, @@ -2468,6 +2471,7 @@ {0x10B30,"AVESTAN LETTER ZE"}, {0x10B32,"AVESTAN LETTER ZHE"}, {0x1F951,"AVOCADO"}, +{0x1FA93,"AXE"}, {0x1F476,"BABY"}, {0x1F47C,"BABY ANGEL"}, {0x1F37C,"BABY BOTTLE"}, @@ -2607,6 +2611,7 @@ {0x1B37,"BALINESE VOWEL SIGN ULU SARI"}, {0x1B5C,"BALINESE WINDU"}, {0x1F9F6,"BALL OF YARN"}, +{0x1FA70,"BALLET SHOES"}, {0x1F388,"BALLOON"}, {0x2749,"BALLOON-SPOKED ASTERISK"}, {0x1F5F6,"BALLOT BOLD SCRIPT X"}, @@ -3278,6 +3283,7 @@ {0xA6F7,"BAMUM QUESTION MARK"}, {0xA6F6,"BAMUM SEMICOLON"}, {0x1F34C,"BANANA"}, +{0x1FA95,"BANJO"}, {0x1F3E6,"BANK"}, {0x1F4B5,"BANKNOTE WITH DOLLAR SIGN"}, {0x1F4B6,"BANKNOTE WITH EURO SIGN"}, @@ -3502,6 +3508,7 @@ {0x23E3,"BENZENE RING WITH CIRCLE"}, {0x2136,"BET SYMBOL"}, {0x226C,"BETWEEN"}, +{0x1F9C3,"BEVERAGE BOX"}, {0x11C41,"BHAIKSUKI DANDA"}, {0x11C58,"BHAIKSUKI DIGIT EIGHT"}, {0x11C55,"BHAIKSUKI DIGIT FIVE"}, @@ -3613,11 +3620,38 @@ {0x29D3,"BLACK BOWTIE"}, {0x272C,"BLACK CENTRE WHITE STAR"}, {0x265D,"BLACK CHESS BISHOP"}, +{0x1FA12,"BLACK CHESS BISHOP ROTATED NINETY DEGREES"}, +{0x1FA3C,"BLACK CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES"}, +{0x1FA49,"BLACK CHESS EQUIHOPPER"}, +{0x1FA4C,"BLACK CHESS EQUIHOPPER ROTATED NINETY DEGREES"}, {0x265A,"BLACK CHESS KING"}, +{0x1FA0F,"BLACK CHESS KING ROTATED NINETY DEGREES"}, +{0x1FA39,"BLACK CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES"}, {0x265E,"BLACK CHESS KNIGHT"}, +{0x1FA07,"BLACK CHESS KNIGHT ROTATED FORTY-FIVE DEGREES"}, +{0x1FA13,"BLACK CHESS KNIGHT ROTATED NINETY DEGREES"}, +{0x1FA1C,"BLACK CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES"}, +{0x1FA46,"BLACK CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES"}, +{0x1FA3D,"BLACK CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES"}, +{0x1FA31,"BLACK CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES"}, +{0x1FA53,"BLACK CHESS KNIGHT-BISHOP"}, +{0x1FA51,"BLACK CHESS KNIGHT-QUEEN"}, +{0x1FA52,"BLACK CHESS KNIGHT-ROOK"}, {0x265F,"BLACK CHESS PAWN"}, +{0x1FA14,"BLACK CHESS PAWN ROTATED NINETY DEGREES"}, +{0x1FA3E,"BLACK CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES"}, {0x265B,"BLACK CHESS QUEEN"}, +{0x1FA10,"BLACK CHESS QUEEN ROTATED NINETY DEGREES"}, +{0x1FA3A,"BLACK CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES"}, {0x265C,"BLACK CHESS ROOK"}, +{0x1FA11,"BLACK CHESS ROOK ROTATED NINETY DEGREES"}, +{0x1FA3B,"BLACK CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES"}, +{0x1FA27,"BLACK CHESS TURNED BISHOP"}, +{0x1FA24,"BLACK CHESS TURNED KING"}, +{0x1FA28,"BLACK CHESS TURNED KNIGHT"}, +{0x1FA29,"BLACK CHESS TURNED PAWN"}, +{0x1FA25,"BLACK CHESS TURNED QUEEN"}, +{0x1FA26,"BLACK CHESS TURNED ROOK"}, {0x25CF,"BLACK CIRCLE"}, {0x23FA,"BLACK CIRCLE FOR RECORD"}, {0x29ED,"BLACK CIRCLE WITH DOWN ARROW"}, @@ -4377,11 +4411,13 @@ {0x1F470,"BRIDE WITH VEIL"}, {0x1F309,"BRIDGE AT NIGHT"}, {0x1F4BC,"BRIEFCASE"}, +{0x1FA72,"BRIEFS"}, {0x1F966,"BROCCOLI"}, {0x00A6,"BROKEN BAR"}, {0x238B,"BROKEN CIRCLE WITH NORTHWEST ARROW"}, {0x1F494,"BROKEN HEART"}, {0x1F9F9,"BROOM"}, +{0x1F90E,"BROWN HEART"}, {0x1F41B,"BUG"}, {0x1A1F,"BUGINESE END OF SECTION"}, {0x1A15,"BUGINESE LETTER A"}, @@ -4444,6 +4480,7 @@ {0x1F68F,"BUS STOP"}, {0x1F464,"BUST IN SILHOUETTE"}, {0x1F465,"BUSTS IN SILHOUETTE"}, +{0x1F9C8,"BUTTER"}, {0x1F98B,"BUTTERFLY"}, {0x1D09C,"BYZANTINE MUSICAL SYMBOL AGOGI ARGI"}, {0x1D09B,"BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI"}, @@ -5546,6 +5583,7 @@ {0xFE4A,"CENTRELINE OVERLINE"}, {0x26B3,"CERES"}, {0x26D3,"CHAINS"}, +{0x1FA91,"CHAIR"}, {0x11132,"CHAKMA AU MARK"}, {0x11141,"CHAKMA DANDA"}, {0x1113E,"CHAKMA DIGIT EIGHT"}, @@ -7999,6 +8037,7 @@ {0x2CE8,"COPTIC SYMBOL TAU RO"}, {0x1F12F,"COPYLEFT SYMBOL"}, {0x00A9,"COPYRIGHT SIGN"}, +{0x2E4F,"CORNISH VERSE DIVIDER"}, {0x2258,"CORRESPONDS TO"}, {0x1F6CB,"COUCH AND LAMP"}, {0x2334,"COUNTERBORE"}, @@ -9752,6 +9791,7 @@ {0xFE4D,"DASHED LOW LINE"}, {0xFE49,"DASHED OVERLINE"}, {0x279F,"DASHED TRIANGLE-HEADED RIGHTWARDS ARROW"}, +{0x1F9CF,"DEAF PERSON"}, {0x1F333,"DECIDUOUS TREE"}, {0x23E8,"DECIMAL EXPONENT SYMBOL"}, {0x2396,"DECIMAL SEPARATOR KEY SYMBOL"}, @@ -10103,10 +10143,12 @@ {0x2382,"DISCONTINUOUS UNDERLINE SYMBOL"}, {0x3003,"DITTO MARK"}, {0x2223,"DIVIDES"}, +{0x1F93F,"DIVING MASK"}, {0x00F7,"DIVISION SIGN"}, {0x2215,"DIVISION SLASH"}, {0x22C7,"DIVISION TIMES"}, {0x26AE,"DIVORCE SYMBOL"}, +{0x1FA94,"DIYA LAMP"}, {0x1F635,"DIZZY FACE"}, {0x1F4AB,"DIZZY SYMBOL"}, {0x1F9EC,"DNA DOUBLE HELIX"}, @@ -10465,6 +10507,7 @@ {0x26DA,"DRIVE SLOW SIGN"}, {0x1F42A,"DROMEDARY CAMEL"}, {0x1F924,"DROOLING FACE"}, +{0x1FA78,"DROP OF BLOOD"}, {0x1F4A7,"DROPLET"}, {0x1F941,"DRUM WITH DRUMSTICKS"}, {0x1F986,"DUCK"}, @@ -10618,6 +10661,7 @@ {0x1F442,"EAR"}, {0x1F33D,"EAR OF MAIZE"}, {0x1F33E,"EAR OF RICE"}, +{0x1F9BB,"EAR WITH HEARING AID"}, {0x2641,"EARTH"}, {0x1F30E,"EARTH GLOBE AMERICAS"}, {0x1F30F,"EARTH GLOBE ASIA-AUSTRALIA"}, @@ -10750,6 +10794,7 @@ {0x13057,"EGYPTIAN HIEROGLYPH B007"}, {0x13058,"EGYPTIAN HIEROGLYPH B008"}, {0x13059,"EGYPTIAN HIEROGLYPH B009"}, +{0x13437,"EGYPTIAN HIEROGLYPH BEGIN SEGMENT"}, {0x1305A,"EGYPTIAN HIEROGLYPH C001"}, {0x1305B,"EGYPTIAN HIEROGLYPH C002"}, {0x1305C,"EGYPTIAN HIEROGLYPH C002A"}, @@ -10914,6 +10959,7 @@ {0x130FB,"EGYPTIAN HIEROGLYPH E036"}, {0x130FC,"EGYPTIAN HIEROGLYPH E037"}, {0x130FD,"EGYPTIAN HIEROGLYPH E038"}, +{0x13438,"EGYPTIAN HIEROGLYPH END SEGMENT"}, {0x130FE,"EGYPTIAN HIEROGLYPH F001"}, {0x130FF,"EGYPTIAN HIEROGLYPH F001A"}, {0x13100,"EGYPTIAN HIEROGLYPH F002"}, @@ -11052,6 +11098,7 @@ {0x13185,"EGYPTIAN HIEROGLYPH H006A"}, {0x13186,"EGYPTIAN HIEROGLYPH H007"}, {0x13187,"EGYPTIAN HIEROGLYPH H008"}, +{0x13431,"EGYPTIAN HIEROGLYPH HORIZONTAL JOINER"}, {0x13188,"EGYPTIAN HIEROGLYPH I001"}, {0x13189,"EGYPTIAN HIEROGLYPH I002"}, {0x1318A,"EGYPTIAN HIEROGLYPH I003"}, @@ -11071,6 +11118,10 @@ {0x13198,"EGYPTIAN HIEROGLYPH I013"}, {0x13199,"EGYPTIAN HIEROGLYPH I014"}, {0x1319A,"EGYPTIAN HIEROGLYPH I015"}, +{0x13435,"EGYPTIAN HIEROGLYPH INSERT AT BOTTOM END"}, +{0x13433,"EGYPTIAN HIEROGLYPH INSERT AT BOTTOM START"}, +{0x13434,"EGYPTIAN HIEROGLYPH INSERT AT TOP END"}, +{0x13432,"EGYPTIAN HIEROGLYPH INSERT AT TOP START"}, {0x1319B,"EGYPTIAN HIEROGLYPH K001"}, {0x1319C,"EGYPTIAN HIEROGLYPH K002"}, {0x1319D,"EGYPTIAN HIEROGLYPH K003"}, @@ -11327,6 +11378,7 @@ {0x13298,"EGYPTIAN HIEROGLYPH O050A"}, {0x13299,"EGYPTIAN HIEROGLYPH O050B"}, {0x1329A,"EGYPTIAN HIEROGLYPH O051"}, +{0x13436,"EGYPTIAN HIEROGLYPH OVERLAY MIDDLE"}, {0x1329B,"EGYPTIAN HIEROGLYPH P001"}, {0x1329C,"EGYPTIAN HIEROGLYPH P001A"}, {0x1329D,"EGYPTIAN HIEROGLYPH P002"}, @@ -11603,6 +11655,7 @@ {0x133AC,"EGYPTIAN HIEROGLYPH V039"}, {0x133AD,"EGYPTIAN HIEROGLYPH V040"}, {0x133AE,"EGYPTIAN HIEROGLYPH V040A"}, +{0x13430,"EGYPTIAN HIEROGLYPH VERTICAL JOINER"}, {0x133AF,"EGYPTIAN HIEROGLYPH W001"}, {0x133B0,"EGYPTIAN HIEROGLYPH W002"}, {0x133B1,"EGYPTIAN HIEROGLYPH W003"}, @@ -11761,6 +11814,29 @@ {0x22F3,"ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE"}, {0x1F418,"ELEPHANT"}, {0x1F9DD,"ELF"}, +{0x10FE0,"ELYMAIC LETTER ALEPH"}, +{0x10FEF,"ELYMAIC LETTER AYIN"}, +{0x10FE1,"ELYMAIC LETTER BETH"}, +{0x10FE3,"ELYMAIC LETTER DALETH"}, +{0x10FE2,"ELYMAIC LETTER GIMEL"}, +{0x10FE4,"ELYMAIC LETTER HE"}, +{0x10FE7,"ELYMAIC LETTER HETH"}, +{0x10FEA,"ELYMAIC LETTER KAPH"}, +{0x10FEB,"ELYMAIC LETTER LAMEDH"}, +{0x10FEC,"ELYMAIC LETTER MEM"}, +{0x10FED,"ELYMAIC LETTER NUN"}, +{0x10FF0,"ELYMAIC LETTER PE"}, +{0x10FF2,"ELYMAIC LETTER QOPH"}, +{0x10FF3,"ELYMAIC LETTER RESH"}, +{0x10FF1,"ELYMAIC LETTER SADHE"}, +{0x10FEE,"ELYMAIC LETTER SAMEKH"}, +{0x10FF4,"ELYMAIC LETTER SHIN"}, +{0x10FF5,"ELYMAIC LETTER TAW"}, +{0x10FE8,"ELYMAIC LETTER TETH"}, +{0x10FE5,"ELYMAIC LETTER WAW"}, +{0x10FE9,"ELYMAIC LETTER YODH"}, +{0x10FE6,"ELYMAIC LETTER ZAYIN"}, +{0x10FF6,"ELYMAIC LIGATURE ZAYIN-YODH"}, {0x2014,"EM DASH"}, {0x2001,"EM QUAD"}, {0x2003,"EM SPACE"}, @@ -12384,6 +12460,7 @@ {0x213B,"FACSIMILE SIGN"}, {0x1F3ED,"FACTORY"}, {0x1F9DA,"FAIRY"}, +{0x1F9C6,"FALAFEL"}, {0x1F342,"FALLEN LEAF"}, {0x292F,"FALLING DIAGONAL CROSSING NORTH EAST ARROW"}, {0x292C,"FALLING DIAGONAL CROSSING RISING DIAGONAL"}, @@ -12426,6 +12503,7 @@ {0x2E2D,"FIVE DOT MARK"}, {0x2059,"FIVE DOT PUNCTUATION"}, {0x26F3,"FLAG IN HOLE"}, +{0x1F9A9,"FLAMINGO"}, {0x1F97F,"FLAT SHOE"}, {0x23E5,"FLATNESS"}, {0x269C,"FLEUR-DE-LIS"}, @@ -12590,6 +12668,7 @@ {0x26B1,"FUNERAL URN"}, {0x23DB,"FUSE"}, {0x1F3B2,"GAME DIE"}, +{0x1F9C4,"GARLIC"}, {0x2699,"GEAR"}, {0x26EE,"GEAR WITH HANDLES"}, {0x26ED,"GEAR WITHOUT HUB"}, @@ -13539,6 +13618,7 @@ {0x1F497,"GROWING HEART"}, {0x20B2,"GUARANI SIGN"}, {0x1F482,"GUARDSMAN"}, +{0x1F9AE,"GUIDE DOG"}, {0x1F3B8,"GUITAR"}, {0x0AF0,"GUJARATI ABBREVIATION SIGN"}, {0x0AEE,"GUJARATI DIGIT EIGHT"}, @@ -14712,6 +14792,7 @@ {0x05EF,"HEBREW YOD TRIANGLE"}, {0x1F994,"HEDGEHOG"}, {0x1F681,"HELICOPTER"}, +{0x2BFF,"HELLSCHREIBER PAUSE SYMBOL"}, {0x2388,"HELM SYMBOL"}, {0x26D1,"HELMET WITH WHITE CROSS"}, {0x1B002,"HENTAIGANA LETTER A-1"}, @@ -15072,6 +15153,7 @@ {0x1F684,"HIGH-SPEED TRAIN"}, {0x1F685,"HIGH-SPEED TRAIN WITH BULLET NOSE"}, {0x1F97E,"HIKING BOOT"}, +{0x1F6D5,"HINDU TEMPLE"}, {0x1F99B,"HIPPOPOTAMUS"}, {0x309F,"HIRAGANA DIGRAPH YORI"}, {0x309D,"HIRAGANA ITERATION MARK"}, @@ -15138,6 +15220,9 @@ {0x3063,"HIRAGANA LETTER SMALL TU"}, {0x3045,"HIRAGANA LETTER SMALL U"}, {0x308E,"HIRAGANA LETTER SMALL WA"}, +{0x1B151,"HIRAGANA LETTER SMALL WE"}, +{0x1B150,"HIRAGANA LETTER SMALL WI"}, +{0x1B152,"HIRAGANA LETTER SMALL WO"}, {0x3083,"HIRAGANA LETTER SMALL YA"}, {0x3087,"HIRAGANA LETTER SMALL YO"}, {0x3085,"HIRAGANA LETTER SMALL YU"}, @@ -15212,6 +15297,7 @@ {0x238E,"HYSTERESIS SYMBOL"}, {0x1F91F,"I LOVE YOU HAND SIGN"}, {0x1F368,"ICE CREAM"}, +{0x1F9CA,"ICE CUBE"}, {0x1F3D2,"ICE HOCKEY STICK AND PUCK"}, {0x26F8,"ICE SKATE"}, {0x2261,"IDENTICAL TO"}, @@ -16096,6 +16182,7 @@ {0x30F6,"KATAKANA LETTER SMALL KE"}, {0x31F0,"KATAKANA LETTER SMALL KU"}, {0x31FA,"KATAKANA LETTER SMALL MU"}, +{0x1B167,"KATAKANA LETTER SMALL N"}, {0x31F4,"KATAKANA LETTER SMALL NU"}, {0x30A9,"KATAKANA LETTER SMALL O"}, {0x31FB,"KATAKANA LETTER SMALL RA"}, @@ -16109,6 +16196,9 @@ {0x30C3,"KATAKANA LETTER SMALL TU"}, {0x30A5,"KATAKANA LETTER SMALL U"}, {0x30EE,"KATAKANA LETTER SMALL WA"}, +{0x1B165,"KATAKANA LETTER SMALL WE"}, +{0x1B164,"KATAKANA LETTER SMALL WI"}, +{0x1B166,"KATAKANA LETTER SMALL WO"}, {0x30E3,"KATAKANA LETTER SMALL YA"}, {0x30E7,"KATAKANA LETTER SMALL YO"}, {0x30E5,"KATAKANA LETTER SMALL YU"}, @@ -16549,7 +16639,9 @@ {0x1F617,"KISSING FACE"}, {0x1F61A,"KISSING FACE WITH CLOSED EYES"}, {0x1F619,"KISSING FACE WITH SMILING EYES"}, +{0x1FA81,"KITE"}, {0x1F95D,"KIWIFRUIT"}, +{0x1F9CE,"KNEELING PERSON"}, {0x1F428,"KOALA"}, {0x327F,"KOREAN STANDARD SYMBOL"}, {0x2BE3,"KRONOS"}, @@ -16593,9 +16685,23 @@ {0x0E99,"LAO LETTER NO"}, {0x0E8D,"LAO LETTER NYO"}, {0x0EAD,"LAO LETTER O"}, +{0x0EA0,"LAO LETTER PALI BHA"}, +{0x0E89,"LAO LETTER PALI CHA"}, +{0x0E91,"LAO LETTER PALI DDA"}, +{0x0E92,"LAO LETTER PALI DDHA"}, +{0x0E98,"LAO LETTER PALI DHA"}, +{0x0E86,"LAO LETTER PALI GHA"}, +{0x0E8C,"LAO LETTER PALI JHA"}, +{0x0EAC,"LAO LETTER PALI LLA"}, +{0x0E93,"LAO LETTER PALI NNA"}, +{0x0E8E,"LAO LETTER PALI NYA"}, +{0x0E8F,"LAO LETTER PALI TTA"}, +{0x0E90,"LAO LETTER PALI TTHA"}, {0x0E9C,"LAO LETTER PHO SUNG"}, {0x0E9E,"LAO LETTER PHO TAM"}, {0x0E9B,"LAO LETTER PO"}, +{0x0EA8,"LAO LETTER SANSKRIT SHA"}, +{0x0EA9,"LAO LETTER SANSKRIT SSA"}, {0x0EAA,"LAO LETTER SO SUNG"}, {0x0E8A,"LAO LETTER SO TAM"}, {0x0E96,"LAO LETTER THO SUNG"}, @@ -16606,6 +16712,7 @@ {0x0ECD,"LAO NIGGAHITA"}, {0x0EBC,"LAO SEMIVOWEL SIGN LO"}, {0x0EBD,"LAO SEMIVOWEL SIGN NYO"}, +{0x0EBA,"LAO SIGN PALI VIRAMA"}, {0x0ECB,"LAO TONE MAI CATAWA"}, {0x0EC8,"LAO TONE MAI EK"}, {0x0EC9,"LAO TONE MAI THO"}, @@ -16628,17 +16735,29 @@ {0x0EB7,"LAO VOWEL SIGN YY"}, {0x1F535,"LARGE BLUE CIRCLE"}, {0x1F537,"LARGE BLUE DIAMOND"}, +{0x1F7E6,"LARGE BLUE SQUARE"}, +{0x1F7E4,"LARGE BROWN CIRCLE"}, +{0x1F7EB,"LARGE BROWN SQUARE"}, {0x25EF,"LARGE CIRCLE"}, {0x27D9,"LARGE DOWN TACK"}, +{0x1F7E2,"LARGE GREEN CIRCLE"}, +{0x1F7E9,"LARGE GREEN SQUARE"}, {0x2A1E,"LARGE LEFT TRIANGLE OPERATOR"}, {0x10B3D,"LARGE ONE DOT OVER TWO DOTS PUNCTUATION"}, {0x10B3F,"LARGE ONE RING OVER TWO RINGS PUNCTUATION"}, +{0x1F7E0,"LARGE ORANGE CIRCLE"}, {0x1F536,"LARGE ORANGE DIAMOND"}, +{0x1F7E7,"LARGE ORANGE SQUARE"}, +{0x1F7E3,"LARGE PURPLE CIRCLE"}, +{0x1F7EA,"LARGE PURPLE SQUARE"}, {0x1F534,"LARGE RED CIRCLE"}, +{0x1F7E5,"LARGE RED SQUARE"}, {0x2AFC,"LARGE TRIPLE VERTICAL BAR OPERATOR"}, {0x10B3C,"LARGE TWO DOTS OVER ONE DOT PUNCTUATION"}, {0x10B3E,"LARGE TWO RINGS OVER ONE RING PUNCTUATION"}, {0x27D8,"LARGE UP TACK"}, +{0x1F7E1,"LARGE YELLOW CIRCLE"}, +{0x1F7E8,"LARGE YELLOW SQUARE"}, {0x2AAB,"LARGER THAN"}, {0x2AAD,"LARGER THAN OR EQUAL TO"}, {0x20BE,"LARI SIGN"}, @@ -16682,6 +16801,7 @@ {0x01E2,"LATIN CAPITAL LETTER AE WITH MACRON"}, {0x0189,"LATIN CAPITAL LETTER AFRICAN D"}, {0x2C6D,"LATIN CAPITAL LETTER ALPHA"}, +{0xA7C2,"LATIN CAPITAL LETTER ANGLICANA W"}, {0xA734,"LATIN CAPITAL LETTER AO"}, {0xA736,"LATIN CAPITAL LETTER AU"}, {0xA738,"LATIN CAPITAL LETTER AV"}, @@ -16706,6 +16826,7 @@ {0x0108,"LATIN CAPITAL LETTER C WITH CIRCUMFLEX"}, {0x010A,"LATIN CAPITAL LETTER C WITH DOT ABOVE"}, {0x0187,"LATIN CAPITAL LETTER C WITH HOOK"}, +{0xA7C4,"LATIN CAPITAL LETTER C WITH PALATAL HOOK"}, {0x023B,"LATIN CAPITAL LETTER C WITH STROKE"}, {0xA7B3,"LATIN CAPITAL LETTER CHI"}, {0xA76E,"LATIN CAPITAL LETTER CON"}, @@ -16777,7 +16898,10 @@ {0xA7A0,"LATIN CAPITAL LETTER G WITH OBLIQUE STROKE"}, {0x01E4,"LATIN CAPITAL LETTER G WITH STROKE"}, {0x0194,"LATIN CAPITAL LETTER GAMMA"}, +{0xA7BA,"LATIN CAPITAL LETTER GLOTTAL A"}, +{0xA7BC,"LATIN CAPITAL LETTER GLOTTAL I"}, {0x0241,"LATIN CAPITAL LETTER GLOTTAL STOP"}, +{0xA7BE,"LATIN CAPITAL LETTER GLOTTAL U"}, {0x0048,"LATIN CAPITAL LETTER H"}, {0x1E2A,"LATIN CAPITAL LETTER H WITH BREVE BELOW"}, {0x021E,"LATIN CAPITAL LETTER H WITH CARON"}, @@ -16960,6 +17084,7 @@ {0x1E60,"LATIN CAPITAL LETTER S WITH DOT ABOVE"}, {0x1E62,"LATIN CAPITAL LETTER S WITH DOT BELOW"}, {0x1E68,"LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE"}, +{0xA7C5,"LATIN CAPITAL LETTER S WITH HOOK"}, {0xA7A8,"LATIN CAPITAL LETTER S WITH OBLIQUE STROKE"}, {0x2C7E,"LATIN CAPITAL LETTER S WITH SWASH TAIL"}, {0xA78B,"LATIN CAPITAL LETTER SALTILLO"}, @@ -17077,6 +17202,7 @@ {0x1E92,"LATIN CAPITAL LETTER Z WITH DOT BELOW"}, {0x0224,"LATIN CAPITAL LETTER Z WITH HOOK"}, {0x1E94,"LATIN CAPITAL LETTER Z WITH LINE BELOW"}, +{0xA7C6,"LATIN CAPITAL LETTER Z WITH PALATAL HOOK"}, {0x01B5,"LATIN CAPITAL LETTER Z WITH STROKE"}, {0x2C7F,"LATIN CAPITAL LETTER Z WITH SWASH TAIL"}, {0x0132,"LATIN CAPITAL LIGATURE IJ"}, @@ -17193,6 +17319,7 @@ {0x01E3,"LATIN SMALL LETTER AE WITH MACRON"}, {0x0251,"LATIN SMALL LETTER ALPHA"}, {0x1D90,"LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK"}, +{0xA7C3,"LATIN SMALL LETTER ANGLICANA W"}, {0xA735,"LATIN SMALL LETTER AO"}, {0xA737,"LATIN SMALL LETTER AU"}, {0xA739,"LATIN SMALL LETTER AV"}, @@ -17267,6 +17394,7 @@ {0x01F3,"LATIN SMALL LETTER DZ"}, {0x02A3,"LATIN SMALL LETTER DZ DIGRAPH"}, {0x02A5,"LATIN SMALL LETTER DZ DIGRAPH WITH CURL"}, +{0xAB66,"LATIN SMALL LETTER DZ DIGRAPH WITH RETROFLEX HOOK"}, {0x01C6,"LATIN SMALL LETTER DZ WITH CARON"}, {0x0065,"LATIN SMALL LETTER E"}, {0x00E9,"LATIN SMALL LETTER E WITH ACUTE"}, @@ -17334,7 +17462,10 @@ {0x1D83,"LATIN SMALL LETTER G WITH PALATAL HOOK"}, {0x01E5,"LATIN SMALL LETTER G WITH STROKE"}, {0x0263,"LATIN SMALL LETTER GAMMA"}, +{0xA7BB,"LATIN SMALL LETTER GLOTTAL A"}, +{0xA7BD,"LATIN SMALL LETTER GLOTTAL I"}, {0x0242,"LATIN SMALL LETTER GLOTTAL STOP"}, +{0xA7BF,"LATIN SMALL LETTER GLOTTAL U"}, {0x0068,"LATIN SMALL LETTER H"}, {0x1E2B,"LATIN SMALL LETTER H WITH BREVE BELOW"}, {0x021F,"LATIN SMALL LETTER H WITH CARON"}, @@ -17628,6 +17759,7 @@ {0x1D16,"LATIN SMALL LETTER TOP HALF O"}, {0xA72B,"LATIN SMALL LETTER TRESILLO"}, {0x02A6,"LATIN SMALL LETTER TS DIGRAPH"}, +{0xAB67,"LATIN SMALL LETTER TS DIGRAPH WITH RETROFLEX HOOK"}, {0xA777,"LATIN SMALL LETTER TUM"}, {0x0250,"LATIN SMALL LETTER TURNED A"}, {0x1D02,"LATIN SMALL LETTER TURNED AE"}, @@ -19269,6 +19401,7 @@ {0x10AC8,"MANICHAEAN SIGN UD"}, {0x1F45E,"MANS SHOE"}, {0x1F570,"MANTELPIECE CLOCK"}, +{0x1F9BD,"MANUAL WHEELCHAIR"}, {0x26EF,"MAP SYMBOL FOR LIGHTHOUSE"}, {0x1F341,"MAPLE LEAF"}, {0x11C70,"MARCHEN HEAD MARK"}, @@ -19418,6 +19551,7 @@ {0x11D36,"MASARAM GONDI VOWEL SIGN VOCALIC R"}, {0x00BA,"MASCULINE ORDINAL INDICATOR"}, {0x303C,"MASU MARK"}, +{0x1F9C9,"MATE DRINK"}, {0x1D400,"MATHEMATICAL BOLD CAPITAL A"}, {0x1D6A8,"MATHEMATICAL BOLD CAPITAL ALPHA"}, {0x1D401,"MATHEMATICAL BOLD CAPITAL B"}, @@ -20460,6 +20594,8 @@ {0x225E,"MEASURED BY"}, {0x299D,"MEASURED RIGHT ANGLE WITH DOT"}, {0x1F356,"MEAT ON BONE"}, +{0x1F9BE,"MECHANICAL ARM"}, +{0x1F9BF,"MECHANICAL LEG"}, {0x16E4D,"MEDEFAIDRIN CAPITAL LETTER A"}, {0x16E5E,"MEDEFAIDRIN CAPITAL LETTER AI"}, {0x16E44,"MEDEFAIDRIN CAPITAL LETTER ATIU"}, @@ -21015,12 +21151,14 @@ {0x16F25,"MIAO LETTER ARCHAIC NGA"}, {0x16F3F,"MIAO LETTER ARCHAIC ZZA"}, {0x16F01,"MIAO LETTER BA"}, +{0x16F45,"MIAO LETTER BRI"}, {0x16F0B,"MIAO LETTER DA"}, {0x16F0F,"MIAO LETTER DDA"}, {0x16F1B,"MIAO LETTER DLHA"}, {0x16F1D,"MIAO LETTER DLHYA"}, {0x16F38,"MIAO LETTER DZA"}, {0x16F2F,"MIAO LETTER DZHA"}, +{0x16F47,"MIAO LETTER DZYI"}, {0x16F2B,"MIAO LETTER DZZA"}, {0x16F07,"MIAO LETTER FA"}, {0x16F1F,"MIAO LETTER GA"}, @@ -21055,10 +21193,13 @@ {0x16F9E,"MIAO LETTER REFORMED TONE-6"}, {0x16F9F,"MIAO LETTER REFORMED TONE-8"}, {0x16F32,"MIAO LETTER REFORMED TSHA"}, +{0x16F4A,"MIAO LETTER RTE"}, {0x16F3A,"MIAO LETTER SA"}, {0x16F33,"MIAO LETTER SHA"}, {0x16F34,"MIAO LETTER SSA"}, +{0x16F46,"MIAO LETTER SYI"}, {0x16F0A,"MIAO LETTER TA"}, +{0x16F48,"MIAO LETTER TE"}, {0x16F1A,"MIAO LETTER TLHA"}, {0x16F1C,"MIAO LETTER TLHYA"}, {0x16F93,"MIAO LETTER TONE-2"}, @@ -21069,6 +21210,7 @@ {0x16F98,"MIAO LETTER TONE-7"}, {0x16F99,"MIAO LETTER TONE-8"}, {0x16F37,"MIAO LETTER TSA"}, +{0x16F49,"MIAO LETTER TSE"}, {0x16F2E,"MIAO LETTER TSHA"}, {0x16F2A,"MIAO LETTER TSSA"}, {0x16F0E,"MIAO LETTER TTA"}, @@ -21093,6 +21235,7 @@ {0x16F41,"MIAO LETTER ZZSYA"}, {0x16F40,"MIAO LETTER ZZYA"}, {0x16F51,"MIAO SIGN ASPIRATION"}, +{0x16F4F,"MIAO SIGN CONSONANT MODIFIER BAR"}, {0x16F53,"MIAO SIGN REFORMED ASPIRATION"}, {0x16F52,"MIAO SIGN REFORMED VOICING"}, {0x16F91,"MIAO TONE ABOVE"}, @@ -21109,6 +21252,7 @@ {0x16F58,"MIAO VOWEL SIGN ANG"}, {0x16F7B,"MIAO VOWEL SIGN AU"}, {0x16F5D,"MIAO VOWEL SIGN E"}, +{0x16F85,"MIAO VOWEL SIGN EA"}, {0x16F7A,"MIAO VOWEL SIGN EI"}, {0x16F5E,"MIAO VOWEL SIGN EN"}, {0x16F5F,"MIAO VOWEL SIGN ENG"}, @@ -21119,14 +21263,18 @@ {0x16F63,"MIAO VOWEL SIGN IAN"}, {0x16F64,"MIAO VOWEL SIGN IANG"}, {0x16F66,"MIAO VOWEL SIGN IE"}, +{0x16F84,"MIAO VOWEL SIGN IG"}, {0x16F67,"MIAO VOWEL SIGN II"}, {0x16F69,"MIAO VOWEL SIGN ING"}, {0x16F65,"MIAO VOWEL SIGN IO"}, +{0x16F86,"MIAO VOWEL SIGN IONG"}, {0x16F68,"MIAO VOWEL SIGN IU"}, {0x16F7D,"MIAO VOWEL SIGN N"}, {0x16F7E,"MIAO VOWEL SIGN NG"}, {0x16F59,"MIAO VOWEL SIGN O"}, +{0x16F82,"MIAO VOWEL SIGN OER"}, {0x16F60,"MIAO VOWEL SIGN OEY"}, +{0x16F81,"MIAO VOWEL SIGN OG"}, {0x16F5A,"MIAO VOWEL SIGN OO"}, {0x16F7C,"MIAO VOWEL SIGN OU"}, {0x16F78,"MIAO VOWEL SIGN ROUNDED ER"}, @@ -21136,12 +21284,16 @@ {0x16F6C,"MIAO VOWEL SIGN UAN"}, {0x16F6D,"MIAO VOWEL SIGN UANG"}, {0x16F6F,"MIAO VOWEL SIGN UEI"}, +{0x16F87,"MIAO VOWEL SIGN UI"}, {0x16F70,"MIAO VOWEL SIGN UNG"}, +{0x16F7F,"MIAO VOWEL SIGN UOG"}, {0x16F6E,"MIAO VOWEL SIGN UU"}, +{0x16F83,"MIAO VOWEL SIGN VW"}, {0x16F5C,"MIAO VOWEL SIGN W"}, {0x16F5B,"MIAO VOWEL SIGN WO"}, {0x16F71,"MIAO VOWEL SIGN Y"}, {0x16F72,"MIAO VOWEL SIGN YI"}, +{0x16F80,"MIAO VOWEL SIGN YUI"}, {0x00B5,"MICRO SIGN"}, {0x1F9A0,"MICROBE"}, {0x1F3A4,"MICROPHONE"}, @@ -21650,6 +21802,7 @@ {0x1F936,"MOTHER CHRISTMAS"}, {0x1F6E5,"MOTOR BOAT"}, {0x1F6F5,"MOTOR SCOOTER"}, +{0x1F9BC,"MOTORIZED WHEELCHAIR"}, {0x1F6E3,"MOTORWAY"}, {0x1F5FB,"MOUNT FUJI"}, {0x26F0,"MOUNTAIN"}, @@ -22280,6 +22433,71 @@ {0x20A6,"NAIRA SIGN"}, {0x1F4DB,"NAME BADGE"}, {0x22BC,"NAND"}, +{0x119E3,"NANDINAGARI HEADSTROKE"}, +{0x119A0,"NANDINAGARI LETTER A"}, +{0x119A1,"NANDINAGARI LETTER AA"}, +{0x119AB,"NANDINAGARI LETTER AI"}, +{0x119AD,"NANDINAGARI LETTER AU"}, +{0x119C4,"NANDINAGARI LETTER BA"}, +{0x119C5,"NANDINAGARI LETTER BHA"}, +{0x119B3,"NANDINAGARI LETTER CA"}, +{0x119B4,"NANDINAGARI LETTER CHA"}, +{0x119BF,"NANDINAGARI LETTER DA"}, +{0x119BA,"NANDINAGARI LETTER DDA"}, +{0x119BB,"NANDINAGARI LETTER DDHA"}, +{0x119C0,"NANDINAGARI LETTER DHA"}, +{0x119AA,"NANDINAGARI LETTER E"}, +{0x119B0,"NANDINAGARI LETTER GA"}, +{0x119B1,"NANDINAGARI LETTER GHA"}, +{0x119CE,"NANDINAGARI LETTER HA"}, +{0x119A2,"NANDINAGARI LETTER I"}, +{0x119A3,"NANDINAGARI LETTER II"}, +{0x119B5,"NANDINAGARI LETTER JA"}, +{0x119B6,"NANDINAGARI LETTER JHA"}, +{0x119AE,"NANDINAGARI LETTER KA"}, +{0x119AF,"NANDINAGARI LETTER KHA"}, +{0x119C9,"NANDINAGARI LETTER LA"}, +{0x119CF,"NANDINAGARI LETTER LLA"}, +{0x119C6,"NANDINAGARI LETTER MA"}, +{0x119C1,"NANDINAGARI LETTER NA"}, +{0x119B2,"NANDINAGARI LETTER NGA"}, +{0x119BC,"NANDINAGARI LETTER NNA"}, +{0x119B7,"NANDINAGARI LETTER NYA"}, +{0x119AC,"NANDINAGARI LETTER O"}, +{0x119C2,"NANDINAGARI LETTER PA"}, +{0x119C3,"NANDINAGARI LETTER PHA"}, +{0x119C8,"NANDINAGARI LETTER RA"}, +{0x119D0,"NANDINAGARI LETTER RRA"}, +{0x119CD,"NANDINAGARI LETTER SA"}, +{0x119CB,"NANDINAGARI LETTER SHA"}, +{0x119CC,"NANDINAGARI LETTER SSA"}, +{0x119BD,"NANDINAGARI LETTER TA"}, +{0x119BE,"NANDINAGARI LETTER THA"}, +{0x119B8,"NANDINAGARI LETTER TTA"}, +{0x119B9,"NANDINAGARI LETTER TTHA"}, +{0x119A4,"NANDINAGARI LETTER U"}, +{0x119A5,"NANDINAGARI LETTER UU"}, +{0x119CA,"NANDINAGARI LETTER VA"}, +{0x119A6,"NANDINAGARI LETTER VOCALIC R"}, +{0x119A7,"NANDINAGARI LETTER VOCALIC RR"}, +{0x119C7,"NANDINAGARI LETTER YA"}, +{0x119DE,"NANDINAGARI SIGN ANUSVARA"}, +{0x119E1,"NANDINAGARI SIGN AVAGRAHA"}, +{0x119E2,"NANDINAGARI SIGN SIDDHAM"}, +{0x119E0,"NANDINAGARI SIGN VIRAMA"}, +{0x119DF,"NANDINAGARI SIGN VISARGA"}, +{0x119D1,"NANDINAGARI VOWEL SIGN AA"}, +{0x119DB,"NANDINAGARI VOWEL SIGN AI"}, +{0x119DD,"NANDINAGARI VOWEL SIGN AU"}, +{0x119DA,"NANDINAGARI VOWEL SIGN E"}, +{0x119D2,"NANDINAGARI VOWEL SIGN I"}, +{0x119D3,"NANDINAGARI VOWEL SIGN II"}, +{0x119DC,"NANDINAGARI VOWEL SIGN O"}, +{0x119E4,"NANDINAGARI VOWEL SIGN PRISHTHAMATRA E"}, +{0x119D4,"NANDINAGARI VOWEL SIGN U"}, +{0x119D5,"NANDINAGARI VOWEL SIGN UU"}, +{0x119D6,"NANDINAGARI VOWEL SIGN VOCALIC R"}, +{0x119D7,"NANDINAGARI VOWEL SIGN VOCALIC RR"}, {0x202F,"NARROW NO-BREAK SPACE"}, {0x206E,"NATIONAL DIGIT SHAPES"}, {0x1F3DE,"NATIONAL PARK"}, @@ -22368,9 +22586,40 @@ {0x2274,"NEITHER LESS-THAN NOR EQUIVALENT TO"}, {0x2278,"NEITHER LESS-THAN NOR GREATER-THAN"}, {0x2646,"NEPTUNE"}, +{0x2BC9,"NEPTUNE FORM TWO"}, {0x1F913,"NERD FACE"}, {0x2BDC,"NESSUS"}, {0x26B2,"NEUTER"}, +{0x1FA03,"NEUTRAL CHESS BISHOP"}, +{0x1FA18,"NEUTRAL CHESS BISHOP ROTATED NINETY DEGREES"}, +{0x1FA42,"NEUTRAL CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES"}, +{0x1FA4A,"NEUTRAL CHESS EQUIHOPPER"}, +{0x1FA4D,"NEUTRAL CHESS EQUIHOPPER ROTATED NINETY DEGREES"}, +{0x1FA00,"NEUTRAL CHESS KING"}, +{0x1FA15,"NEUTRAL CHESS KING ROTATED NINETY DEGREES"}, +{0x1FA3F,"NEUTRAL CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES"}, +{0x1FA04,"NEUTRAL CHESS KNIGHT"}, +{0x1FA08,"NEUTRAL CHESS KNIGHT ROTATED FORTY-FIVE DEGREES"}, +{0x1FA19,"NEUTRAL CHESS KNIGHT ROTATED NINETY DEGREES"}, +{0x1FA1D,"NEUTRAL CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES"}, +{0x1FA47,"NEUTRAL CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES"}, +{0x1FA43,"NEUTRAL CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES"}, +{0x1FA32,"NEUTRAL CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES"}, +{0x1FA05,"NEUTRAL CHESS PAWN"}, +{0x1FA1A,"NEUTRAL CHESS PAWN ROTATED NINETY DEGREES"}, +{0x1FA44,"NEUTRAL CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES"}, +{0x1FA01,"NEUTRAL CHESS QUEEN"}, +{0x1FA16,"NEUTRAL CHESS QUEEN ROTATED NINETY DEGREES"}, +{0x1FA40,"NEUTRAL CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES"}, +{0x1FA02,"NEUTRAL CHESS ROOK"}, +{0x1FA17,"NEUTRAL CHESS ROOK ROTATED NINETY DEGREES"}, +{0x1FA41,"NEUTRAL CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES"}, +{0x1FA2D,"NEUTRAL CHESS TURNED BISHOP"}, +{0x1FA2A,"NEUTRAL CHESS TURNED KING"}, +{0x1FA2E,"NEUTRAL CHESS TURNED KNIGHT"}, +{0x1FA2F,"NEUTRAL CHESS TURNED PAWN"}, +{0x1FA2B,"NEUTRAL CHESS TURNED QUEEN"}, +{0x1FA2C,"NEUTRAL CHESS TURNED ROOK"}, {0x1F610,"NEUTRAL FACE"}, {0x1F311,"NEW MOON SYMBOL"}, {0x1F31A,"NEW MOON WITH FACE"}, @@ -22521,6 +22770,7 @@ {0x1141B,"NEWA LETTER TTHA"}, {0x11404,"NEWA LETTER U"}, {0x11405,"NEWA LETTER UU"}, +{0x1145F,"NEWA LETTER VEDIC ANUSVARA"}, {0x11408,"NEWA LETTER VOCALIC L"}, {0x11409,"NEWA LETTER VOCALIC LL"}, {0x11406,"NEWA LETTER VOCALIC R"}, @@ -23118,6 +23368,77 @@ {0x1B2FB,"NUSHU CHARACTER-1B2FB"}, {0x16FE1,"NUSHU ITERATION MARK"}, {0x1F529,"NUT AND BOLT"}, +{0x1E14F,"NYIAKENG PUACHUE HMONG CIRCLED CA"}, +{0x1E148,"NYIAKENG PUACHUE HMONG DIGIT EIGHT"}, +{0x1E145,"NYIAKENG PUACHUE HMONG DIGIT FIVE"}, +{0x1E144,"NYIAKENG PUACHUE HMONG DIGIT FOUR"}, +{0x1E149,"NYIAKENG PUACHUE HMONG DIGIT NINE"}, +{0x1E141,"NYIAKENG PUACHUE HMONG DIGIT ONE"}, +{0x1E147,"NYIAKENG PUACHUE HMONG DIGIT SEVEN"}, +{0x1E146,"NYIAKENG PUACHUE HMONG DIGIT SIX"}, +{0x1E143,"NYIAKENG PUACHUE HMONG DIGIT THREE"}, +{0x1E142,"NYIAKENG PUACHUE HMONG DIGIT TWO"}, +{0x1E140,"NYIAKENG PUACHUE HMONG DIGIT ZERO"}, +{0x1E124,"NYIAKENG PUACHUE HMONG LETTER A"}, +{0x1E125,"NYIAKENG PUACHUE HMONG LETTER AA"}, +{0x1E108,"NYIAKENG PUACHUE HMONG LETTER CA"}, +{0x1E10F,"NYIAKENG PUACHUE HMONG LETTER DA"}, +{0x1E11D,"NYIAKENG PUACHUE HMONG LETTER DLA"}, +{0x1E12A,"NYIAKENG PUACHUE HMONG LETTER E"}, +{0x1E12B,"NYIAKENG PUACHUE HMONG LETTER EE"}, +{0x1E115,"NYIAKENG PUACHUE HMONG LETTER FA"}, +{0x1E122,"NYIAKENG PUACHUE HMONG LETTER GA"}, +{0x1E104,"NYIAKENG PUACHUE HMONG LETTER HA"}, +{0x1E11F,"NYIAKENG PUACHUE HMONG LETTER HAH"}, +{0x1E126,"NYIAKENG PUACHUE HMONG LETTER I"}, +{0x1E10E,"NYIAKENG PUACHUE HMONG LETTER KA"}, +{0x1E109,"NYIAKENG PUACHUE HMONG LETTER LA"}, +{0x1E100,"NYIAKENG PUACHUE HMONG LETTER MA"}, +{0x1E120,"NYIAKENG PUACHUE HMONG LETTER MLA"}, +{0x1E105,"NYIAKENG PUACHUE HMONG LETTER NA"}, +{0x1E10C,"NYIAKENG PUACHUE HMONG LETTER NCA"}, +{0x1E107,"NYIAKENG PUACHUE HMONG LETTER NKA"}, +{0x1E11C,"NYIAKENG PUACHUE HMONG LETTER NPA"}, +{0x1E11E,"NYIAKENG PUACHUE HMONG LETTER NPLA"}, +{0x1E119,"NYIAKENG PUACHUE HMONG LETTER NQA"}, +{0x1E111,"NYIAKENG PUACHUE HMONG LETTER NRA"}, +{0x1E102,"NYIAKENG PUACHUE HMONG LETTER NTA"}, +{0x1E10D,"NYIAKENG PUACHUE HMONG LETTER NTSA"}, +{0x1E113,"NYIAKENG PUACHUE HMONG LETTER NTXA"}, +{0x1E110,"NYIAKENG PUACHUE HMONG LETTER NYA"}, +{0x1E128,"NYIAKENG PUACHUE HMONG LETTER O"}, +{0x1E129,"NYIAKENG PUACHUE HMONG LETTER OO"}, +{0x1E11A,"NYIAKENG PUACHUE HMONG LETTER PA"}, +{0x1E121,"NYIAKENG PUACHUE HMONG LETTER PLA"}, +{0x1E117,"NYIAKENG PUACHUE HMONG LETTER QA"}, +{0x1E116,"NYIAKENG PUACHUE HMONG LETTER RA"}, +{0x1E123,"NYIAKENG PUACHUE HMONG LETTER RRA"}, +{0x1E10A,"NYIAKENG PUACHUE HMONG LETTER SA"}, +{0x1E103,"NYIAKENG PUACHUE HMONG LETTER TA"}, +{0x1E101,"NYIAKENG PUACHUE HMONG LETTER TSA"}, +{0x1E114,"NYIAKENG PUACHUE HMONG LETTER TXA"}, +{0x1E127,"NYIAKENG PUACHUE HMONG LETTER U"}, +{0x1E112,"NYIAKENG PUACHUE HMONG LETTER VA"}, +{0x1E12C,"NYIAKENG PUACHUE HMONG LETTER W"}, +{0x1E106,"NYIAKENG PUACHUE HMONG LETTER XA"}, +{0x1E11B,"NYIAKENG PUACHUE HMONG LETTER XYA"}, +{0x1E118,"NYIAKENG PUACHUE HMONG LETTER YA"}, +{0x1E10B,"NYIAKENG PUACHUE HMONG LETTER ZA"}, +{0x1E14E,"NYIAKENG PUACHUE HMONG LOGOGRAM NYAJ"}, +{0x1E13A,"NYIAKENG PUACHUE HMONG SIGN FOR ANIMAL"}, +{0x1E13B,"NYIAKENG PUACHUE HMONG SIGN FOR INVERTEBRATE"}, +{0x1E139,"NYIAKENG PUACHUE HMONG SIGN FOR LOCATION"}, +{0x1E137,"NYIAKENG PUACHUE HMONG SIGN FOR PERSON"}, +{0x1E138,"NYIAKENG PUACHUE HMONG SIGN FOR THING"}, +{0x1E13C,"NYIAKENG PUACHUE HMONG SIGN XW XW"}, +{0x1E13D,"NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER"}, +{0x1E130,"NYIAKENG PUACHUE HMONG TONE-B"}, +{0x1E136,"NYIAKENG PUACHUE HMONG TONE-D"}, +{0x1E135,"NYIAKENG PUACHUE HMONG TONE-G"}, +{0x1E132,"NYIAKENG PUACHUE HMONG TONE-J"}, +{0x1E131,"NYIAKENG PUACHUE HMONG TONE-M"}, +{0x1E134,"NYIAKENG PUACHUE HMONG TONE-S"}, +{0x1E133,"NYIAKENG PUACHUE HMONG TONE-V"}, {0xFFFC,"OBJECT REPLACEMENT CHARACTER"}, {0x29A7,"OBLIQUE ANGLE OPENING DOWN"}, {0x29A6,"OBLIQUE ANGLE OPENING UP"}, @@ -23218,6 +23539,8 @@ {0x1C7F,"OL CHIKI PUNCTUATION DOUBLE MUCAAD"}, {0x1C7E,"OL CHIKI PUNCTUATION MUCAAD"}, {0x1C7B,"OL CHIKI RELAA"}, +{0x16FE2,"OLD CHINESE HOOK MARK"}, +{0x16FE3,"OLD CHINESE ITERATION MARK"}, {0x10C80,"OLD HUNGARIAN CAPITAL LETTER A"}, {0x10C81,"OLD HUNGARIAN CAPITAL LETTER AA"}, {0x10C94,"OLD HUNGARIAN CAPITAL LETTER AK"}, @@ -23645,6 +23968,8 @@ {0x1F5AF,"ONE BUTTON MOUSE"}, {0x2024,"ONE DOT LEADER"}, {0x2E2B,"ONE DOT OVER TWO DOTS PUNCTUATION"}, +{0x1FA71,"ONE-PIECE SWIMSUIT"}, +{0x1F9C5,"ONION"}, {0x1F4D6,"OPEN BOOK"}, {0x2423,"OPEN BOX"}, {0x2732,"OPEN CENTRE ASTERISK"}, @@ -23670,6 +23995,7 @@ {0x27C7,"OR WITH DOT INSIDE"}, {0x1F4D9,"ORANGE BOOK"}, {0x1F9E1,"ORANGE HEART"}, +{0x1F9A7,"ORANGUTAN"}, {0x22B6,"ORIGINAL OF"}, {0x0B56,"ORIYA AI LENGTH MARK"}, {0x0B57,"ORIYA AU LENGTH MARK"}, @@ -23876,6 +24202,68 @@ {0x10493,"OSMANYA LETTER WAW"}, {0x10484,"OSMANYA LETTER XA"}, {0x10495,"OSMANYA LETTER YA"}, +{0x1F9A6,"OTTER"}, +{0x1ED35,"OTTOMAN SIYAQ ALTERNATE NUMBER EIGHT"}, +{0x1ED32,"OTTOMAN SIYAQ ALTERNATE NUMBER FIVE"}, +{0x1ED31,"OTTOMAN SIYAQ ALTERNATE NUMBER FOUR"}, +{0x1ED38,"OTTOMAN SIYAQ ALTERNATE NUMBER FOUR HUNDRED"}, +{0x1ED36,"OTTOMAN SIYAQ ALTERNATE NUMBER NINE"}, +{0x1ED34,"OTTOMAN SIYAQ ALTERNATE NUMBER SEVEN"}, +{0x1ED33,"OTTOMAN SIYAQ ALTERNATE NUMBER SIX"}, +{0x1ED39,"OTTOMAN SIYAQ ALTERNATE NUMBER SIX HUNDRED"}, +{0x1ED37,"OTTOMAN SIYAQ ALTERNATE NUMBER TEN"}, +{0x1ED3B,"OTTOMAN SIYAQ ALTERNATE NUMBER TEN THOUSAND"}, +{0x1ED30,"OTTOMAN SIYAQ ALTERNATE NUMBER THREE"}, +{0x1ED2F,"OTTOMAN SIYAQ ALTERNATE NUMBER TWO"}, +{0x1ED3A,"OTTOMAN SIYAQ ALTERNATE NUMBER TWO THOUSAND"}, +{0x1ED3C,"OTTOMAN SIYAQ FRACTION ONE HALF"}, +{0x1ED3D,"OTTOMAN SIYAQ FRACTION ONE SIXTH"}, +{0x1ED2E,"OTTOMAN SIYAQ MARRATAN"}, +{0x1ED08,"OTTOMAN SIYAQ NUMBER EIGHT"}, +{0x1ED1A,"OTTOMAN SIYAQ NUMBER EIGHT HUNDRED"}, +{0x1ED23,"OTTOMAN SIYAQ NUMBER EIGHT THOUSAND"}, +{0x1ED11,"OTTOMAN SIYAQ NUMBER EIGHTY"}, +{0x1ED2C,"OTTOMAN SIYAQ NUMBER EIGHTY THOUSAND"}, +{0x1ED0E,"OTTOMAN SIYAQ NUMBER FIFTY"}, +{0x1ED29,"OTTOMAN SIYAQ NUMBER FIFTY THOUSAND"}, +{0x1ED05,"OTTOMAN SIYAQ NUMBER FIVE"}, +{0x1ED17,"OTTOMAN SIYAQ NUMBER FIVE HUNDRED"}, +{0x1ED20,"OTTOMAN SIYAQ NUMBER FIVE THOUSAND"}, +{0x1ED0D,"OTTOMAN SIYAQ NUMBER FORTY"}, +{0x1ED28,"OTTOMAN SIYAQ NUMBER FORTY THOUSAND"}, +{0x1ED04,"OTTOMAN SIYAQ NUMBER FOUR"}, +{0x1ED16,"OTTOMAN SIYAQ NUMBER FOUR HUNDRED"}, +{0x1ED1F,"OTTOMAN SIYAQ NUMBER FOUR THOUSAND"}, +{0x1ED09,"OTTOMAN SIYAQ NUMBER NINE"}, +{0x1ED1B,"OTTOMAN SIYAQ NUMBER NINE HUNDRED"}, +{0x1ED24,"OTTOMAN SIYAQ NUMBER NINE THOUSAND"}, +{0x1ED12,"OTTOMAN SIYAQ NUMBER NINETY"}, +{0x1ED2D,"OTTOMAN SIYAQ NUMBER NINETY THOUSAND"}, +{0x1ED01,"OTTOMAN SIYAQ NUMBER ONE"}, +{0x1ED13,"OTTOMAN SIYAQ NUMBER ONE HUNDRED"}, +{0x1ED1C,"OTTOMAN SIYAQ NUMBER ONE THOUSAND"}, +{0x1ED07,"OTTOMAN SIYAQ NUMBER SEVEN"}, +{0x1ED19,"OTTOMAN SIYAQ NUMBER SEVEN HUNDRED"}, +{0x1ED22,"OTTOMAN SIYAQ NUMBER SEVEN THOUSAND"}, +{0x1ED10,"OTTOMAN SIYAQ NUMBER SEVENTY"}, +{0x1ED2B,"OTTOMAN SIYAQ NUMBER SEVENTY THOUSAND"}, +{0x1ED06,"OTTOMAN SIYAQ NUMBER SIX"}, +{0x1ED18,"OTTOMAN SIYAQ NUMBER SIX HUNDRED"}, +{0x1ED21,"OTTOMAN SIYAQ NUMBER SIX THOUSAND"}, +{0x1ED0F,"OTTOMAN SIYAQ NUMBER SIXTY"}, +{0x1ED2A,"OTTOMAN SIYAQ NUMBER SIXTY THOUSAND"}, +{0x1ED0A,"OTTOMAN SIYAQ NUMBER TEN"}, +{0x1ED25,"OTTOMAN SIYAQ NUMBER TEN THOUSAND"}, +{0x1ED0C,"OTTOMAN SIYAQ NUMBER THIRTY"}, +{0x1ED27,"OTTOMAN SIYAQ NUMBER THIRTY THOUSAND"}, +{0x1ED03,"OTTOMAN SIYAQ NUMBER THREE"}, +{0x1ED15,"OTTOMAN SIYAQ NUMBER THREE HUNDRED"}, +{0x1ED1E,"OTTOMAN SIYAQ NUMBER THREE THOUSAND"}, +{0x1ED0B,"OTTOMAN SIYAQ NUMBER TWENTY"}, +{0x1ED26,"OTTOMAN SIYAQ NUMBER TWENTY THOUSAND"}, +{0x1ED02,"OTTOMAN SIYAQ NUMBER TWO"}, +{0x1ED14,"OTTOMAN SIYAQ NUMBER TWO HUNDRED"}, +{0x1ED1D,"OTTOMAN SIYAQ NUMBER TWO THOUSAND"}, {0x2125,"OUNCE SIGN"}, {0x1F4E4,"OUTBOX TRAY"}, {0x272D,"OUTLINED BLACK STAR"}, @@ -23890,6 +24278,7 @@ {0x203E,"OVERLINE"}, {0x1F989,"OWL"}, {0x1F402,"OX"}, +{0x1F9AA,"OYSTER"}, {0x1F4E6,"PACKAGE"}, {0x1F5CF,"PAGE"}, {0x1F4C4,"PAGE FACING UP"}, @@ -24064,6 +24453,7 @@ {0x1F95E,"PANCAKES"}, {0x1F43C,"PANDA FACE"}, {0x1F4CE,"PAPERCLIP"}, +{0x1FA82,"PARACHUTE"}, {0x2029,"PARAGRAPH SEPARATOR"}, {0x2E0F,"PARAGRAPHOS"}, {0x2E4D,"PARAGRAPHUS MARK"}, @@ -24457,6 +24847,7 @@ {0x00B6,"PILCROW SIGN"}, {0x1F4A9,"PILE OF POO"}, {0x1F48A,"PILL"}, +{0x1F90F,"PINCHING HAND"}, {0x1F38D,"PINE DECORATION"}, {0x1F34D,"PINEAPPLE"}, {0x272F,"PINWHEEL STAR"}, @@ -24650,6 +25041,7 @@ {0x2399,"PRINT SCREEN SYMBOL"}, {0x1F5A8,"PRINTER"}, {0x1F5B6,"PRINTER ICON"}, +{0x1F9AF,"PROBING CANE"}, {0x1F6C7,"PROHIBITED SIGN"}, {0x2305,"PROJECTIVE"}, {0x214A,"PROPERTY LINE"}, @@ -24735,10 +25127,12 @@ {0x2E06,"RAISED INTERPOLATION MARKER"}, {0x1F16A,"RAISED MC SIGN"}, {0x1F16B,"RAISED MD SIGN"}, +{0x1F16C,"RAISED MR SIGN"}, {0x2E0B,"RAISED SQUARE"}, {0x1F40F,"RAM"}, {0x1F400,"RAT"}, {0x2236,"RATIO"}, +{0x1FA92,"RAZOR"}, {0x1F9FE,"RECEIPT"}, {0x1F699,"RECREATIONAL VEHICLE"}, {0x267C,"RECYCLED PAPER SYMBOL"}, @@ -25070,6 +25464,7 @@ {0x2256,"RING IN EQUAL TO"}, {0x2218,"RING OPERATOR"}, {0x2E30,"RING POINT"}, +{0x1FA90,"RINGED PLANET"}, {0x1F56D,"RINGING BELL"}, {0x292B,"RISING DIAGONAL CROSSING FALLING DIAGONAL"}, {0x2930,"RISING DIAGONAL CROSSING SOUTH EAST ARROW"}, @@ -25267,6 +25662,7 @@ {0x2BF3,"RUSSIAN ASTROLOGICAL SYMBOL VIGINTILE"}, {0x29CC,"S IN TRIANGLE"}, {0x1F9F7,"SAFETY PIN"}, +{0x1F9BA,"SAFETY VEST"}, {0x2650,"SAGITTARIUS"}, {0x26F5,"SAILBOAT"}, {0x1F376,"SAKE BOTTLE AND CUP"}, @@ -25338,6 +25734,7 @@ {0x1F676,"SANS-SERIF HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT"}, {0x1F678,"SANS-SERIF HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT"}, {0x1F67A,"SANS-SERIF INTERROBANG ORNAMENT"}, +{0x1F97B,"SARI"}, {0x1F6F0,"SATELLITE"}, {0x1F4E1,"SATELLITE ANTENNA"}, {0x2644,"SATURN"}, @@ -25640,6 +26037,7 @@ {0x1BCA2,"SHORTHAND FORMAT DOWN STEP"}, {0x1BCA0,"SHORTHAND FORMAT LETTER OVERLAP"}, {0x1BCA3,"SHORTHAND FORMAT UP STEP"}, +{0x1FA73,"SHORTS"}, {0x237D,"SHOULDERED OPEN BOX"}, {0x1F6BF,"SHOWER"}, {0x1F990,"SHRIMP"}, @@ -26550,6 +26948,7 @@ {0x26F7,"SKIER"}, {0x1F480,"SKULL"}, {0x2620,"SKULL AND CROSSBONES"}, +{0x1F9A8,"SKUNK"}, {0x2A96,"SLANTED EQUAL TO OR GREATER-THAN"}, {0x2A98,"SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE"}, {0x2A95,"SLANTED EQUAL TO OR LESS-THAN"}, @@ -26570,6 +26969,7 @@ {0x2A58,"SLOPING LARGE AND"}, {0x2A57,"SLOPING LARGE OR"}, {0x1F3B0,"SLOT MACHINE"}, +{0x1F9A5,"SLOTH"}, {0x1F6E9,"SMALL AIRPLANE"}, {0xFE60,"SMALL AMPERSAND"}, {0xFE61,"SMALL ASTERISK"}, @@ -26833,6 +27233,8 @@ {0x11A9B,"SOYOMBO MARK SHAD"}, {0x11A9A,"SOYOMBO MARK TSHEG"}, {0x11A96,"SOYOMBO SIGN ANUSVARA"}, +{0x11A84,"SOYOMBO SIGN JIHVAMULIYA"}, +{0x11A85,"SOYOMBO SIGN UPADHMANIYA"}, {0x11A97,"SOYOMBO SIGN VISARGA"}, {0x11A99,"SOYOMBO SUBJOINER"}, {0x11AA1,"SOYOMBO TERMINAL MARK-1"}, @@ -27238,6 +27640,7 @@ {0x2695,"STAFF OF AESCULAPIUS"}, {0x269A,"STAFF OF HERMES"}, {0x1F583,"STAMPED ENVELOPE"}, +{0x1F9CD,"STANDING PERSON"}, {0x262A,"STAR AND CRESCENT"}, {0x225B,"STAR EQUALS"}, {0x2721,"STAR OF DAVID"}, @@ -27249,6 +27652,7 @@ {0x1F682,"STEAM LOCOMOTIVE"}, {0x1F35C,"STEAMING BOWL"}, {0x2E3C,"STENOGRAPHIC FULL STOP"}, +{0x1FA7A,"STETHOSCOPE"}, {0x1F5E0,"STOCK CHART"}, {0x23F1,"STOPWATCH"}, {0x1F4CF,"STRAIGHT RULER"}, @@ -27984,6 +28388,7 @@ {0x11680,"TAKRI LETTER A"}, {0x11681,"TAKRI LETTER AA"}, {0x11687,"TAKRI LETTER AI"}, +{0x116B8,"TAKRI LETTER ARCHAIC KHA"}, {0x11689,"TAKRI LETTER AU"}, {0x116A0,"TAKRI LETTER BA"}, {0x116A1,"TAKRI LETTER BHA"}, @@ -28039,9 +28444,11 @@ {0x116B1,"TAKRI VOWEL SIGN UU"}, {0x1D378,"TALLY MARK FIVE"}, {0x1D377,"TALLY MARK ONE"}, +{0x11FEB,"TAMIL AND ODD SIGN"}, {0x0BF8,"TAMIL AS ABOVE SIGN"}, {0x0BD7,"TAMIL AU LENGTH MARK"}, {0x0BF7,"TAMIL CREDIT SIGN"}, +{0x11FEA,"TAMIL CURRENT SIGN"}, {0x0BF3,"TAMIL DAY SIGN"}, {0x0BF6,"TAMIL DEBIT SIGN"}, {0x0BEE,"TAMIL DIGIT EIGHT"}, @@ -28054,6 +28461,30 @@ {0x0BE9,"TAMIL DIGIT THREE"}, {0x0BE8,"TAMIL DIGIT TWO"}, {0x0BE6,"TAMIL DIGIT ZERO"}, +{0x11FE5,"TAMIL DRY CULTIVATION SIGN"}, +{0x11FD4,"TAMIL FRACTION DOWNSCALING FACTOR KIIZH"}, +{0x11FCC,"TAMIL FRACTION ONE EIGHTH"}, +{0x11FC2,"TAMIL FRACTION ONE EIGHTIETH"}, +{0x11FCF,"TAMIL FRACTION ONE FIFTH"}, +{0x11FC4,"TAMIL FRACTION ONE FORTIETH"}, +{0x11FD1,"TAMIL FRACTION ONE HALF-1"}, +{0x11FD2,"TAMIL FRACTION ONE HALF-2"}, +{0x11FC1,"TAMIL FRACTION ONE ONE-HUNDRED-AND-SIXTIETH"}, +{0x11FD0,"TAMIL FRACTION ONE QUARTER"}, +{0x11FC9,"TAMIL FRACTION ONE SIXTEENTH-1"}, +{0x11FCA,"TAMIL FRACTION ONE SIXTEENTH-2"}, +{0x11FC3,"TAMIL FRACTION ONE SIXTY-FOURTH"}, +{0x11FCB,"TAMIL FRACTION ONE TENTH"}, +{0x11FC5,"TAMIL FRACTION ONE THIRTY-SECOND"}, +{0x11FC0,"TAMIL FRACTION ONE THREE-HUNDRED-AND-TWENTIETH"}, +{0x11FC8,"TAMIL FRACTION ONE TWENTIETH"}, +{0x11FC6,"TAMIL FRACTION THREE EIGHTIETHS"}, +{0x11FD3,"TAMIL FRACTION THREE QUARTERS"}, +{0x11FCE,"TAMIL FRACTION THREE SIXTEENTHS"}, +{0x11FC7,"TAMIL FRACTION THREE SIXTY-FOURTHS"}, +{0x11FCD,"TAMIL FRACTION THREE TWENTIETHS"}, +{0x11FEE,"TAMIL IN POSSESSION SIGN"}, +{0x11FE6,"TAMIL LAND SIGN"}, {0x0B85,"TAMIL LETTER A"}, {0x0B86,"TAMIL LETTER AA"}, {0x0B90,"TAMIL LETTER AI"}, @@ -28095,10 +28526,34 @@ {0x0BFA,"TAMIL NUMBER SIGN"}, {0x0BF0,"TAMIL NUMBER TEN"}, {0x0BD0,"TAMIL OM"}, +{0x11FFF,"TAMIL PUNCTUATION END OF TEXT"}, {0x0BF9,"TAMIL RUPEE SIGN"}, +{0x11FE7,"TAMIL SALT PAN SIGN"}, +{0x11FD7,"TAMIL SIGN AAZHAAKKU"}, {0x0B82,"TAMIL SIGN ANUSVARA"}, +{0x11FD6,"TAMIL SIGN CEVITU"}, +{0x11FDD,"TAMIL SIGN KAACU"}, +{0x11FDA,"TAMIL SIGN KURUNI"}, +{0x11FE2,"TAMIL SIGN KUZHI"}, +{0x11FDC,"TAMIL SIGN MUKKURUNI"}, +{0x11FF0,"TAMIL SIGN MUTHALIYA"}, +{0x11FD9,"TAMIL SIGN MUUVUZHAKKU"}, +{0x11FD5,"TAMIL SIGN NEL"}, +{0x11FE1,"TAMIL SIGN PAARAM"}, +{0x11FDE,"TAMIL SIGN PANAM"}, +{0x11FDB,"TAMIL SIGN PATHAKKU"}, +{0x11FDF,"TAMIL SIGN PON"}, +{0x11FD8,"TAMIL SIGN UZHAKKU"}, +{0x11FF1,"TAMIL SIGN VAKAIYARAA"}, +{0x11FE0,"TAMIL SIGN VARAAKAN"}, +{0x11FE3,"TAMIL SIGN VELI"}, {0x0BCD,"TAMIL SIGN VIRAMA"}, {0x0B83,"TAMIL SIGN VISARGA"}, +{0x11FEC,"TAMIL SPENT SIGN"}, +{0x11FEF,"TAMIL STARTING FROM SIGN"}, +{0x11FED,"TAMIL TOTAL SIGN"}, +{0x11FE8,"TAMIL TRADITIONAL CREDIT SIGN"}, +{0x11FE9,"TAMIL TRADITIONAL NUMBER SIGN"}, {0x0BBE,"TAMIL VOWEL SIGN AA"}, {0x0BC8,"TAMIL VOWEL SIGN AI"}, {0x0BCC,"TAMIL VOWEL SIGN AU"}, @@ -28110,6 +28565,7 @@ {0x0BCB,"TAMIL VOWEL SIGN OO"}, {0x0BC1,"TAMIL VOWEL SIGN U"}, {0x0BC2,"TAMIL VOWEL SIGN UU"}, +{0x11FE4,"TAMIL WET CULTIVATION SIGN"}, {0x0BF5,"TAMIL YEAR SIGN"}, {0x1F38B,"TANABATA TREE"}, {0x1F34A,"TANGERINE"}, @@ -28965,6 +29421,7 @@ {0x0C01,"TELUGU SIGN CANDRABINDU"}, {0x0C04,"TELUGU SIGN COMBINING ANUSVARA ABOVE"}, {0x0C00,"TELUGU SIGN COMBINING CANDRABINDU ABOVE"}, +{0x0C77,"TELUGU SIGN SIDDHAM"}, {0x0C7F,"TELUGU SIGN TUUMU"}, {0x0C4D,"TELUGU SIGN VIRAMA"}, {0x0C03,"TELUGU SIGN VISARGA"}, @@ -30462,6 +30919,7 @@ {0x1CEC,"VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL"}, {0x1CF2,"VEDIC SIGN ARDHAVISARGA"}, {0x1CF7,"VEDIC SIGN ATIKRAMA"}, +{0x1CFA,"VEDIC SIGN DOUBLE ANUSVARA ANTARGOMUKHA"}, {0x1CEE,"VEDIC SIGN HEXIFORM LONG ANUSVARA"}, {0x1CF5,"VEDIC SIGN JIHVAMULIYA"}, {0x1CEF,"VEDIC SIGN LONG ANUSVARA"}, @@ -30566,6 +31024,66 @@ {0x2156,"VULGAR FRACTION TWO FIFTHS"}, {0x2154,"VULGAR FRACTION TWO THIRDS"}, {0x2189,"VULGAR FRACTION ZERO THIRDS"}, +{0x1F9C7,"WAFFLE"}, +{0x1E2F8,"WANCHO DIGIT EIGHT"}, +{0x1E2F5,"WANCHO DIGIT FIVE"}, +{0x1E2F4,"WANCHO DIGIT FOUR"}, +{0x1E2F9,"WANCHO DIGIT NINE"}, +{0x1E2F1,"WANCHO DIGIT ONE"}, +{0x1E2F7,"WANCHO DIGIT SEVEN"}, +{0x1E2F6,"WANCHO DIGIT SIX"}, +{0x1E2F3,"WANCHO DIGIT THREE"}, +{0x1E2F2,"WANCHO DIGIT TWO"}, +{0x1E2F0,"WANCHO DIGIT ZERO"}, +{0x1E2C1,"WANCHO LETTER A"}, +{0x1E2C0,"WANCHO LETTER AA"}, +{0x1E2E8,"WANCHO LETTER AAN"}, +{0x1E2E3,"WANCHO LETTER AANG"}, +{0x1E2E4,"WANCHO LETTER ANG"}, +{0x1E2D6,"WANCHO LETTER AU"}, +{0x1E2C2,"WANCHO LETTER BA"}, +{0x1E2C3,"WANCHO LETTER CA"}, +{0x1E2C4,"WANCHO LETTER DA"}, +{0x1E2DB,"WANCHO LETTER E"}, +{0x1E2E7,"WANCHO LETTER EN"}, +{0x1E2CD,"WANCHO LETTER FA"}, +{0x1E2C5,"WANCHO LETTER GA"}, +{0x1E2DA,"WANCHO LETTER HA"}, +{0x1E2DC,"WANCHO LETTER I"}, +{0x1E2E5,"WANCHO LETTER ING"}, +{0x1E2D0,"WANCHO LETTER JA"}, +{0x1E2D4,"WANCHO LETTER KA"}, +{0x1E2D9,"WANCHO LETTER KHA"}, +{0x1E2C8,"WANCHO LETTER LA"}, +{0x1E2DF,"WANCHO LETTER LLHA"}, +{0x1E2D8,"WANCHO LETTER MA"}, +{0x1E2C9,"WANCHO LETTER NA"}, +{0x1E2DD,"WANCHO LETTER NGA"}, +{0x1E2E9,"WANCHO LETTER NYA"}, +{0x1E2D5,"WANCHO LETTER O"}, +{0x1E2E6,"WANCHO LETTER ON"}, +{0x1E2E2,"WANCHO LETTER ONG"}, +{0x1E2CA,"WANCHO LETTER PA"}, +{0x1E2C7,"WANCHO LETTER PHA"}, +{0x1E2D7,"WANCHO LETTER RA"}, +{0x1E2CE,"WANCHO LETTER SA"}, +{0x1E2CF,"WANCHO LETTER SHA"}, +{0x1E2CB,"WANCHO LETTER TA"}, +{0x1E2CC,"WANCHO LETTER THA"}, +{0x1E2E1,"WANCHO LETTER TRA"}, +{0x1E2E0,"WANCHO LETTER TSA"}, +{0x1E2DE,"WANCHO LETTER U"}, +{0x1E2EA,"WANCHO LETTER UEN"}, +{0x1E2D3,"WANCHO LETTER VA"}, +{0x1E2D2,"WANCHO LETTER WA"}, +{0x1E2C6,"WANCHO LETTER YA"}, +{0x1E2EB,"WANCHO LETTER YIH"}, +{0x1E2D1,"WANCHO LETTER ZA"}, +{0x1E2FF,"WANCHO NGUN SIGN"}, +{0x1E2EE,"WANCHO TONE KOI"}, +{0x1E2EF,"WANCHO TONE KOINI"}, +{0x1E2EC,"WANCHO TONE TUP"}, +{0x1E2ED,"WANCHO TONE TUPNI"}, {0x1F318,"WANING CRESCENT MOON SYMBOL"}, {0x1F316,"WANING GIBBOUS MOON SYMBOL"}, {0x118A1,"WARANG CITI CAPITAL LETTER A"}, @@ -30685,11 +31203,38 @@ {0x1F8AD,"WHITE ARROW SHAFT WIDTH TWO THIRDS"}, {0x25E6,"WHITE BULLET"}, {0x2657,"WHITE CHESS BISHOP"}, +{0x1FA0C,"WHITE CHESS BISHOP ROTATED NINETY DEGREES"}, +{0x1FA36,"WHITE CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES"}, +{0x1FA48,"WHITE CHESS EQUIHOPPER"}, +{0x1FA4B,"WHITE CHESS EQUIHOPPER ROTATED NINETY DEGREES"}, {0x2654,"WHITE CHESS KING"}, +{0x1FA09,"WHITE CHESS KING ROTATED NINETY DEGREES"}, +{0x1FA33,"WHITE CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES"}, {0x2658,"WHITE CHESS KNIGHT"}, +{0x1FA06,"WHITE CHESS KNIGHT ROTATED FORTY-FIVE DEGREES"}, +{0x1FA0D,"WHITE CHESS KNIGHT ROTATED NINETY DEGREES"}, +{0x1FA1B,"WHITE CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES"}, +{0x1FA45,"WHITE CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES"}, +{0x1FA37,"WHITE CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES"}, +{0x1FA30,"WHITE CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES"}, +{0x1FA50,"WHITE CHESS KNIGHT-BISHOP"}, +{0x1FA4E,"WHITE CHESS KNIGHT-QUEEN"}, +{0x1FA4F,"WHITE CHESS KNIGHT-ROOK"}, {0x2659,"WHITE CHESS PAWN"}, +{0x1FA0E,"WHITE CHESS PAWN ROTATED NINETY DEGREES"}, +{0x1FA38,"WHITE CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES"}, {0x2655,"WHITE CHESS QUEEN"}, +{0x1FA0A,"WHITE CHESS QUEEN ROTATED NINETY DEGREES"}, +{0x1FA34,"WHITE CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES"}, {0x2656,"WHITE CHESS ROOK"}, +{0x1FA0B,"WHITE CHESS ROOK ROTATED NINETY DEGREES"}, +{0x1FA35,"WHITE CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES"}, +{0x1FA21,"WHITE CHESS TURNED BISHOP"}, +{0x1FA1E,"WHITE CHESS TURNED KING"}, +{0x1FA22,"WHITE CHESS TURNED KNIGHT"}, +{0x1FA23,"WHITE CHESS TURNED PAWN"}, +{0x1FA1F,"WHITE CHESS TURNED QUEEN"}, +{0x1FA20,"WHITE CHESS TURNED ROOK"}, {0x25CB,"WHITE CIRCLE"}, {0x1F78A,"WHITE CIRCLE CONTAINING BLACK SMALL CIRCLE"}, {0x2686,"WHITE CIRCLE WITH DOT RIGHT"}, @@ -30726,6 +31271,7 @@ {0x2727,"WHITE FOUR POINTED STAR"}, {0x2639,"WHITE FROWNING FACE"}, {0x1F5AB,"WHITE HARD SHELL FLOPPY DISK"}, +{0x1F90D,"WHITE HEART"}, {0x2661,"WHITE HEART SUIT"}, {0x2705,"WHITE HEAVY CHECK MARK"}, {0x2B21,"WHITE HEXAGON"}, @@ -30882,6 +31428,7 @@ {0x1FA61,"XIANGQI RED MANDARIN"}, {0x1FA66,"XIANGQI RED SOLDIER"}, {0x22BB,"XOR"}, +{0x1F971,"YAWNING FACE"}, {0x1F49B,"YELLOW HEART"}, {0x00A5,"YEN SIGN"}, {0xA49B,"YI RADICAL BBUT"}, @@ -32105,6 +32652,7 @@ {0xA2E7,"YI SYLLABLE ZZYT"}, {0xA2E8,"YI SYLLABLE ZZYX"}, {0x262F,"YIN YANG"}, +{0x1FA80,"YO-YO"}, {0x22FF,"Z NOTATION BAG MEMBERSHIP"}, {0x2A64,"Z NOTATION DOMAIN ANTIRESTRICTION"}, {0x2989,"Z NOTATION LEFT BINDING BRACKET"}, diff --git a/source/ulong_chartraits.h b/source/ulong_chartraits.h index 85aa317..d364b35 100644 --- a/source/ulong_chartraits.h +++ b/source/ulong_chartraits.h @@ -1,5 +1,4 @@ -#ifndef __ulong_chartraits_h__ -#define __ulong_chartraits_h__ +#pragma once #include #include @@ -59,7 +58,7 @@ { const char_type* __p = __s; while (*__p) ++__p; - return (__p - __s); + return static_cast(__p - __s); } static const char_type* @@ -72,11 +71,11 @@ static char_type* move(char_type* __s1, const char_type* __s2, size_t __n) - { return (char_type*) memmove(__s1, __s2, __n * sizeof(char_type)); } + { return static_cast(memmove(__s1, __s2, __n * sizeof(char_type))); } static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) - { return (char_type*) memcpy(__s1, __s2, __n * sizeof(char_type)); } + { return static_cast(memcpy(__s1, __s2, __n * sizeof(char_type))); } static char_type* assign(char_type* __s, size_t __n, char_type __a) @@ -98,12 +97,10 @@ { return __c1 == __c2; } static int_type - eof() { return static_cast(-1); } + eof() { return int_type(-1); } static int_type not_eof(const int_type& __c) { return eq_int_type(__c, eof()) ? int_type(0) : __c; } }; } - -#endif diff --git a/teckit.pc.in b/teckit.pc.in old file mode 100755 new file mode 100644 index a73e72f..a73e72f 100644 diff --git a/test/Makefile.in b/test/Makefile.in index cc25b8e..413083b 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/test/NormalizationTest.txt b/test/NormalizationTest.txt index 72a31bc..04c935c 100644 --- a/test/NormalizationTest.txt +++ b/test/NormalizationTest.txt @@ -1,6 +1,6 @@ -# NormalizationTest-11.0.0.txt -# Date: 2018-02-19, 18:33:08 GMT -# ยฉ 2018 Unicodeยฎ, Inc. +# NormalizationTest-12.0.0.txt +# Date: 2019-01-22, 08:18:33 GMT +# ยฉ 2019 Unicodeยฎ, Inc. # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries. # For terms of use, see http://www.unicode.org/terms_of_use.html # @@ -16363,6 +16363,7 @@ 1F14F;1F14F;1F14F;0057 0043;0057 0043; # (๐Ÿ…; ๐Ÿ…; ๐Ÿ…; WC; WC; ) SQUARED WC 1F16A;1F16A;1F16A;004D 0043;004D 0043; # (๐Ÿ…ช; ๐Ÿ…ช; ๐Ÿ…ช; MC; MC; ) RAISED MC SIGN 1F16B;1F16B;1F16B;004D 0044;004D 0044; # (๐Ÿ…ซ; ๐Ÿ…ซ; ๐Ÿ…ซ; MD; MD; ) RAISED MD SIGN +1F16C;1F16C;1F16C;004D 0052;004D 0052; # (๐Ÿ…ฌ; ๐Ÿ…ฌ; ๐Ÿ…ฌ; MR; MR; ) RAISED MR SIGN 1F190;1F190;1F190;0044 004A;0044 004A; # (๐Ÿ†; ๐Ÿ†; ๐Ÿ†; DJ; DJ; ) SQUARE DJ 1F200;1F200;1F200;307B 304B;307B 304B; # (๐Ÿˆ€; ๐Ÿˆ€; ๐Ÿˆ€; ใปใ‹; ใปใ‹; ) SQUARE HIRAGANA HOKA 1F201;1F201;1F201;30B3 30B3;30B3 30B3; # (๐Ÿˆ; ๐Ÿˆ; ๐Ÿˆ; ใ‚ณใ‚ณ; ใ‚ณใ‚ณ; ) SQUARED KATAKANA KOKO @@ -17685,6 +17686,8 @@ 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 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 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 +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 +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 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 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 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 @@ -18453,6 +18456,8 @@ 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 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 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 +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 +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 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 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 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 @@ -18637,6 +18642,28 @@ 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 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 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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 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 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 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 diff --git a/test/dotests.pl b/test/dotests.pl index aa27401..8f61e65 100755 --- a/test/dotests.pl +++ b/test/dotests.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use strict; use warnings; diff --git a/uninstalled-top.pc.in b/uninstalled-top.pc.in old file mode 100755 new file mode 100644 index 20aa6bc..20aa6bc 100644