diff options
44 files changed, 1011 insertions, 2495 deletions
diff --git a/ChangeLog b/ChangeLog index ec004b1f4f..718ff1bf64 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,98 @@ +2008-04-07 Ulrich Drepper <drepper@redhat.com> + + [BZ #6042] + * sysdeps/unix/sysv/linux/net/ethernet.h: Add a few more + ETHERTYPE_* definitions. + Patch partly by Aurelien Jarno <aurelien@aurel32.net>. + +2008-04-07 Jakub Jelinek <jakub@redhat.com> + + * stdlib/mbtowc.c (__no_r_state): Remove. + (mbtowc): New static state variable. Use it instead of + __no_r_state. + * stdlib/wctomb.c (__no_r_state): Remove extern decl. + (__wctomb_state): New hidden variable. + (wctomb): Use __wctomb_state instead of __no_r_state. + * debug/wctomb_chk.c (__no_r_state): Remove extern decl. + (__wctomb_state): New extern decl. + (__wctomb_chk): Use __wctomb_state instead of __no_r_state. + +2008-04-07 Ulrich Drepper <drepper@redhat.com> + + [BZ #5475] + * resolv/res_init.c: Handle scope IDs in resolv.conf. + +2008-04-07 Jakub Jelinek <jakub@redhat.com> + + * malloc/mtrace.pl: Use $@ instead of $* to keep perl 5.10 quiet. + +2008-04-06 Ulrich Drepper <drepper@redhat.com> + + * po/nl.po: Update from translation team. + +2008-03-31 Ulrich Drepper <drepper@redhat.com> + + [BZ #6007] + * string/strfry.c: Handle empty strings again. + +2008-03-30 Ulrich Drepper <drepper@redhat.com> + + [BZ #5443] + * intl/dcigettext.c (__dcigettext): Get reader lock for locale data + before looking for translation. + * locale/duplocale.c: Transform __libc_setlocale_lock into rwlock. + * locale/freelocale.c: Likewise. + * locale/newlocale.c: Likewise. + * locale/setlocale.c: Likewise. + Based partially on a patch by ryo@np.css.fujitsu.com. + +2008-03-30 Jakub Jelinek <jakub@redhat.com> + + * intl/dcigettext.c (_nl_find_msg): Reread nconversions after + acquiring wrlock. Do conv_tab allocation while holding lock. + * intl/Makefile: Add rules to build and run tst-gettext6. + * intl/tst-gettext6.c: New test. + * intl/tst-gettext6.sh: New file. + +2008-03-30 Ulrich Drepper <drepper@redhat.com> + + * po/nl.po: Update from translation team. + + * sysdeps/unix/opendir.c (__alloc_dir): If allocation fails for size + provided through st_blksize, try the default size before giving up. + +2008-03-29 Ulrich Drepper <drepper@redhat.com> + + * stdio-common/vfprintf.c (vfprintf): Correct overflow test. + + [BZ #5939] + * sysdeps/posix/tempname.c (__gen_tempname): Correct flag selection. + + * posix/getopt.c (_getopt_internal_r): Remove old POSIX-demanded + error message. POSIX today does not require the messages to be in + a specific form. Suggested by Jim Meyering <jim@meyering.net>. + + [BZ #5979] + * sunrpc/auth_unix.c: Unify printed strings. + * sunrpc/clnt_tcp.c: Likewise. + * sunrpc/clnt_udp.c: Likewise. + * sunrpc/clnt_unix.c: Likewise. + * sunrpc/svc_tcp.c: Likewise. + * sunrpc/svc_udp.c: Likewise. + * sunrpc/svc_unix.c: Likewise. + * sunrpc/xdr.c: Likewise. + * sunrpc/xdr_array.c: Likewise. + * sunrpc/xdr_rec.c: Likewise. + * sunrpc/xdr_ref.c: Likewise. + * locale/programs/ld-time.c (time_finish): Unify messages. + * locale/programs/locfile.c (handle_copy): Fix typo. + * nscd/nscd.c (options): Fix typo. + + [BZ #5995] + * stdlib/strtod_l.c: Use correct sign for result in one more + underflow case. + Patch by Eric Blake <ebb9@byu.net>. + 2008-03-27 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Add open diff --git a/debug/wctomb_chk.c b/debug/wctomb_chk.c index d0366346b8..23fc2ffbd1 100644 --- a/debug/wctomb_chk.c +++ b/debug/wctomb_chk.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005 Free Software Foundation, Inc. +/* Copyright (C) 2005, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,7 +21,7 @@ #include <wcsmbs/wcsmbsload.h> -extern mbstate_t __no_r_state attribute_hidden; /* Defined in mbtowc.c. */ +extern mbstate_t __wctomb_state attribute_hidden; /* Defined in wctomb.c. */ int @@ -32,5 +32,5 @@ __wctomb_chk (char *s, wchar_t wchar, size_t buflen) if (buflen < MB_CUR_MAX) __chk_fail (); - return __wcrtomb (s, wchar, &__no_r_state); + return __wcrtomb (s, wchar, &__wctomb_state); } diff --git a/fedora/branch.mk b/fedora/branch.mk index a5124e44db..fc38cf831b 100644 --- a/fedora/branch.mk +++ b/fedora/branch.mk @@ -3,5 +3,5 @@ glibc-branch := fedora glibc-base := HEAD DIST_BRANCH := devel COLLECTION := dist-f8 -fedora-sync-date := 2008-03-28 13:47 UTC -fedora-sync-tag := fedora-glibc-20080328T1347 +fedora-sync-date := 2008-04-08 07:06 UTC +fedora-sync-tag := fedora-glibc-20080408T0706 diff --git a/intl/Makefile b/intl/Makefile index 9da445aa38..1511edd490 100644 --- a/intl/Makefile +++ b/intl/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1995-2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 1995-2003, 2005, 2008 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -32,11 +32,11 @@ distribute = gmo.h gettextP.h hash-string.h loadinfo.h locale.alias \ tst-codeset.sh tstcodeset.po \ tst-gettext3.sh \ tst-gettext4.sh tst-gettext4-de.po tst-gettext4-fr.po \ - tst-gettext5.sh + tst-gettext5.sh tst-gettext6.sh include ../Makeconfig -multithread-test-srcs := tst-gettext4 tst-gettext5 +multithread-test-srcs := tst-gettext4 tst-gettext5 tst-gettext6 test-srcs := tst-gettext tst-translit tst-gettext2 tst-codeset tst-gettext3 ifeq ($(have-thread-library),yes) test-srcs += $(multithread-test-srcs) @@ -67,7 +67,8 @@ ifneq ($(strip $(MSGFMT)),:) tests: $(objpfx)tst-translit.out $(objpfx)tst-gettext2.out \ $(objpfx)tst-codeset.out $(objpfx)tst-gettext3.out ifeq ($(have-thread-library),yes) -tests: $(objpfx)tst-gettext4.out $(objpfx)tst-gettext5.out +tests: $(objpfx)tst-gettext4.out $(objpfx)tst-gettext5.out \ + $(objpfx)tst-gettext6.out endif ifneq (no,$(PERL)) tests: $(objpfx)mtrace-tst-gettext @@ -90,6 +91,8 @@ $(objpfx)tst-gettext4.out: tst-gettext4.sh $(objpfx)tst-gettext4 $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/ $(objpfx)tst-gettext5.out: tst-gettext5.sh $(objpfx)tst-gettext5 $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/ +$(objpfx)tst-gettext6.out: tst-gettext6.sh $(objpfx)tst-gettext6 + $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/ endif endif @@ -104,6 +107,7 @@ CFLAGS-tst-codeset.c = -DOBJPFX=\"$(objpfx)\" CFLAGS-tst-gettext3.c = -DOBJPFX=\"$(objpfx)\" CFLAGS-tst-gettext4.c = -DOBJPFX=\"$(objpfx)\" CFLAGS-tst-gettext5.c = -DOBJPFX=\"$(objpfx)\" +CFLAGS-tst-gettext6.c = -DOBJPFX=\"$(objpfx)\" ifeq ($(have-thread-library),yes) ifeq (yes,$(build-shared)) @@ -122,6 +126,7 @@ $(objpfx)tst-codeset.out: $(objpfx)tst-gettext.out $(objpfx)tst-gettext3.out: $(objpfx)tst-gettext.out $(objpfx)tst-gettext4.out: $(objpfx)tst-gettext.out $(objpfx)tst-gettext5.out: $(objpfx)tst-gettext.out +$(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out CPPFLAGS += -D'LOCALEDIR="$(msgcatdir)"' \ -D'LOCALE_ALIAS_PATH="$(msgcatdir)"' diff --git a/intl/dcigettext.c b/intl/dcigettext.c index 7004cd49cf..e0782446e4 100644 --- a/intl/dcigettext.c +++ b/intl/dcigettext.c @@ -1,5 +1,6 @@ /* Implementation of the internal dcigettext function. - Copyright (C) 1995-2005, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 1995-2005, 2006, 2007, 2008 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -449,6 +450,11 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category) : n == 1 ? (char *) msgid1 : (char *) msgid2); #endif +#ifdef _LIBC + __libc_rwlock_define (extern, __libc_setlocale_lock attribute_hidden) + __libc_rwlock_rdlock (__libc_setlocale_lock); +#endif + __libc_rwlock_rdlock (_nl_state_lock); /* If DOMAINNAME is NULL, we are interested in the default domain. If @@ -466,7 +472,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category) search.category = category; # ifdef HAVE_PER_THREAD_LOCALE # ifdef _LIBC - localename = __current_locale_name (category); + localename = strdupa (__current_locale_name (category)); # endif search.localename = localename; # endif @@ -489,6 +495,9 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category) else retval = (char *) (*foundp)->translation; +# ifdef _LIBC + __libc_rwlock_unlock (__libc_setlocale_lock); +# endif __libc_rwlock_unlock (_nl_state_lock); return retval; } @@ -548,6 +557,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category) /* We cannot get the current working directory. Don't signal an error but simply return the default string. */ FREE_BLOCKS (block_list); + __libc_rwlock_unlock (__libc_setlocale_lock); __libc_rwlock_unlock (_nl_state_lock); __set_errno (saved_errno); return (plural == 0 @@ -614,6 +624,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category) { no_translation: FREE_BLOCKS (block_list); + __libc_rwlock_unlock (__libc_setlocale_lock); __libc_rwlock_unlock (_nl_state_lock); __set_errno (saved_errno); return (plural == 0 @@ -727,6 +738,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category) if (plural) retval = plural_lookup (domain, n, retval, retlen); + __libc_rwlock_unlock (__libc_setlocale_lock); __libc_rwlock_unlock (_nl_state_lock); return retval; } @@ -879,6 +891,7 @@ _nl_find_msg (domain_file, domainbinding, msgid, convert, lengthp) { /* We have to allocate a new conversions table. */ __libc_rwlock_wrlock (domain->conversions_lock); + nconversions = domain->nconversions; /* Maybe in the meantime somebody added the translation. Recheck. */ @@ -1033,6 +1046,7 @@ _nl_find_msg (domain_file, domainbinding, msgid, convert, lengthp) # endif ) { + __libc_lock_define_initialized (static, lock) /* We are supposed to do a conversion. First allocate an appropriate table with the same structure as the table of translations in the file, where we can put the pointers @@ -1042,13 +1056,21 @@ _nl_find_msg (domain_file, domainbinding, msgid, convert, lengthp) handle this case by converting RESULTLEN bytes, including NULs. */ - if (convd->conv_tab == NULL - && ((convd->conv_tab = - (char **) calloc (nstrings + domain->n_sysdep_strings, - sizeof (char *))) - == NULL)) - /* Mark that we didn't succeed allocating a table. */ - convd->conv_tab = (char **) -1; + if (__builtin_expect (convd->conv_tab == NULL, 0)) + { + __libc_lock_lock (lock); + if (convd->conv_tab == NULL) + { + convd->conv_tab + = calloc (nstrings + domain->n_sysdep_strings, + sizeof (char *)); + if (convd->conv_tab != NULL) + goto not_translated_yet; + /* Mark that we didn't succeed allocating a table. */ + convd->conv_tab = (char **) -1; + } + __libc_lock_unlock (lock); + } if (__builtin_expect (convd->conv_tab == (char **) -1, 0)) /* Nothing we can do, no more memory. We cannot use the @@ -1057,12 +1079,14 @@ _nl_find_msg (domain_file, domainbinding, msgid, convert, lengthp) if (convd->conv_tab[act] == NULL) { + __libc_lock_lock (lock); + not_translated_yet:; + /* We haven't used this string so far, so it is not translated yet. Do this now. */ /* We use a bit more efficient memory handling. We allocate always larger blocks which get used over time. This is faster than many small allocations. */ - __libc_lock_define_initialized (static, lock) # define INITIAL_BLOCK_SIZE 4080 static unsigned char *freemem; static size_t freemem_size; @@ -1074,8 +1098,6 @@ _nl_find_msg (domain_file, domainbinding, msgid, convert, lengthp) transmem_block_t *transmem_list = NULL; # endif - __libc_lock_lock (lock); - inbuf = (const unsigned char *) result; outbuf = freemem + sizeof (size_t); diff --git a/intl/tst-gettext6.c b/intl/tst-gettext6.c new file mode 100644 index 0000000000..39611aa3b6 --- /dev/null +++ b/intl/tst-gettext6.c @@ -0,0 +1,86 @@ +/* Test that gettext() in multithreaded applications works correctly. + Copyright (C) 2008 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek <jakub@redhat.com>, 2008. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <libintl.h> +#include <locale.h> +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> +#include <sys/wait.h> +#include <unistd.h> + +pthread_barrier_t b; + +static void * +tf (void *arg) +{ + pthread_barrier_wait (&b); + return gettext ("Operation not permitted"); +} + +int +test (void) +{ + pthread_t th[4]; + unsetenv ("LANGUAGE"); + unsetenv ("OUTPUT_CHARSET"); + textdomain ("tstgettext6"); + bindtextdomain ("tstgettext6", OBJPFX "domaindir"); + setlocale (LC_ALL, "ja_JP.UTF-8"); + pthread_barrier_init (&b, NULL, 4); + for (int i = 0; i < 4; i++) + if (pthread_create (&th[i], NULL, tf, NULL)) + { + puts ("pthread_create failed"); + return 1; + } + for (int i = 0; i < 4; i++) + pthread_join (th[i], NULL); + return 0; +} + +int +main (void) +{ + for (int i = 0; i < 300; i++) + { + pid_t p = fork (); + if (p == -1) + { + printf ("fork failed: %m\n"); + return 1; + } + if (p == 0) + _exit (test ()); + int status; + wait (&status); + if (WIFEXITED (status) && WEXITSTATUS (status) != 0) + { + printf ("child exited with %d\n", WEXITSTATUS (status)); + return 1; + } + else if (WIFSIGNALED (status)) + { + printf ("child killed by signal %d\n", WTERMSIG (status)); + return 1; + } + } + return 0; +} diff --git a/intl/tst-gettext6.sh b/intl/tst-gettext6.sh new file mode 100644 index 0000000000..95e5ff91a8 --- /dev/null +++ b/intl/tst-gettext6.sh @@ -0,0 +1,41 @@ +#! /bin/sh +# Test that gettext() in multithreaded applications works correctly. +# Copyright (C) 2008 Free Software Foundation, Inc. +# This file is part of the GNU C Library. +# + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with the GNU C Library; if not, write to the Free +# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +# 02111-1307 USA. + +common_objpfx=$1 +run_program_prefix=$2 +objpfx=$3 + +LC_ALL=C +export LC_ALL + +# Create the domain directory. +mkdir -p ${objpfx}domaindir/ja_JP/LC_MESSAGES +# Populate it. +msgfmt -o ${objpfx}domaindir/ja_JP/LC_MESSAGES/tstgettext6.mo ../po/ja.po + +GCONV_PATH=${common_objpfx}iconvdata +export GCONV_PATH +LOCPATH=${common_objpfx}localedata +export LOCPATH + +${run_program_prefix} ${objpfx}tst-gettext6 > ${objpfx}tst-gettext6.out + +exit $? diff --git a/locale/duplocale.c b/locale/duplocale.c index 0cec09f63a..61782590d7 100644 --- a/locale/duplocale.c +++ b/locale/duplocale.c @@ -1,5 +1,5 @@ /* Duplicate handle for selection of locales. - Copyright (C) 1997, 2000, 2001, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1997,2000,2001,2002,2005,2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -27,7 +27,7 @@ /* Lock for protecting global data. */ -__libc_lock_define (extern , __libc_setlocale_lock attribute_hidden) +__libc_rwlock_define (extern , __libc_setlocale_lock attribute_hidden) __locale_t @@ -54,7 +54,7 @@ __duplocale (__locale_t dataset) char *namep = (char *) (result + 1); /* We modify global data (the usage counts). */ - __libc_lock_lock (__libc_setlocale_lock); + __libc_rwlock_wrlock (__libc_setlocale_lock); for (cnt = 0; cnt < __LC_LAST; ++cnt) if (cnt != LC_ALL) @@ -78,7 +78,7 @@ __duplocale (__locale_t dataset) result->__ctype_toupper = dataset->__ctype_toupper; /* It's done. */ - __libc_lock_unlock (__libc_setlocale_lock); + __libc_rwlock_unlock (__libc_setlocale_lock); } return result; diff --git a/locale/freelocale.c b/locale/freelocale.c index 7430455d56..97a8ee8a5e 100644 --- a/locale/freelocale.c +++ b/locale/freelocale.c @@ -1,5 +1,5 @@ /* Free data allocated by a call to setlocale_r - Copyright (C) 1996, 1997, 2000, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1996,1997,2000,2002,2005,2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -26,7 +26,7 @@ /* Lock for protecting global data. */ -__libc_lock_define (extern , __libc_setlocale_lock attribute_hidden) +__libc_rwlock_define (extern , __libc_setlocale_lock attribute_hidden) void @@ -39,7 +39,7 @@ __freelocale (__locale_t dataset) return; /* We modify global data (the usage counts). */ - __libc_lock_lock (__libc_setlocale_lock); + __libc_rwlock_wrlock (__libc_setlocale_lock); for (cnt = 0; cnt < __LC_LAST; ++cnt) if (cnt != LC_ALL && dataset->__locales[cnt]->usage_count != UNDELETABLE) @@ -47,7 +47,7 @@ __freelocale (__locale_t dataset) _nl_remove_locale (cnt, dataset->__locales[cnt]); /* It's done. */ - __libc_lock_unlock (__libc_setlocale_lock); + __libc_rwlock_unlock (__libc_setlocale_lock); /* Free the locale_t handle itself. */ free (dataset); diff --git a/locale/newlocale.c b/locale/newlocale.c index 0c31ba48ae..da142f2912 100644 --- a/locale/newlocale.c +++ b/locale/newlocale.c @@ -1,5 +1,5 @@ /* Return a reference to locale information record. - Copyright (C) 1996, 1997, 1999, 2000-2002, 2004, 2005, 2006 + Copyright (C) 1996, 1997, 1999, 2000-2002, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -30,7 +30,7 @@ /* Lock for protecting global data. */ -__libc_lock_define (extern , __libc_setlocale_lock attribute_hidden) +__libc_rwlock_define (extern , __libc_setlocale_lock attribute_hidden) /* Use this when we come along an error. */ @@ -162,7 +162,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base) } /* Protect global data. */ - __libc_lock_lock (__libc_setlocale_lock); + __libc_rwlock_wrlock (__libc_setlocale_lock); /* Now process all categories we are interested in. */ names_len = 0; @@ -183,7 +183,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base) _nl_remove_locale (cnt, result.__locales[cnt]); /* Critical section left. */ - __libc_lock_unlock (__libc_setlocale_lock); + __libc_rwlock_unlock (__libc_setlocale_lock); return NULL; } @@ -263,7 +263,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base) } /* Critical section left. */ - __libc_lock_unlock (__libc_setlocale_lock); + __libc_rwlock_unlock (__libc_setlocale_lock); /* Update the special members. */ update: diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c index f040c93474..3a00d26f30 100644 --- a/locale/programs/ld-time.c +++ b/locale/programs/ld-time.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2005, 2006, 2007 Free Software Foundation, Inc. +/* Copyright (C) 1995-2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.org>, 1995. @@ -433,7 +433,7 @@ No definition for %s category found"), "LC_TIME")); && !__isleap (time->era_entries[idx].stop_date[0]))) && !be_quiet) WITH_CUR_LOCALE (error (0, 0, _("\ -%s: stopping date is invalid in string %Zd in `era' field"), +%s: invalid stopping date in string %Zd in `era' field"), "LC_TIME", idx + 1)); } } diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c index 17cd0209a4..928048b377 100644 --- a/locale/programs/locfile.c +++ b/locale/programs/locfile.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2004, 2005, 2006 Free Software Foundation, Inc. +/* Copyright (C) 1996-2004, 2005, 2006, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.org>, 1996. @@ -779,7 +779,7 @@ handle_copy (struct linereader *ldfile, const struct charmap_t *charmap, now = lr_token (ldfile, charmap, result, NULL, verbose); if (now->tok != tok_string) - lr_error (ldfile, _("expect string argument for `copy'")); + lr_error (ldfile, _("expecting string argument for `copy'")); else if (!ignore_content) { if (now->val.str.startmb == NULL) diff --git a/locale/setlocale.c b/locale/setlocale.c index c1b8c3faec..767a5aab6b 100644 --- a/locale/setlocale.c +++ b/locale/setlocale.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992, 1995-2000, 2002, 2003, 2004, 2006 +/* Copyright (C) 1991, 1992, 1995-2000, 2002, 2003, 2004, 2006, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -123,7 +123,7 @@ static void (*const _nl_category_postload[]) (void) = /* Lock for protecting global data. */ -__libc_lock_define_initialized (, __libc_setlocale_lock attribute_hidden) +__libc_rwlock_define_initialized (, __libc_setlocale_lock attribute_hidden) /* Defined in loadmsgcat.c. */ extern int _nl_msg_cat_cntr; @@ -314,7 +314,7 @@ setlocale (int category, const char *locale) } /* Protect global data. */ - __libc_lock_lock (__libc_setlocale_lock); + __libc_rwlock_wrlock (__libc_setlocale_lock); /* Load the new data for each category. */ while (category-- > 0) @@ -381,7 +381,7 @@ setlocale (int category, const char *locale) free ((char *) newnames[category]); /* Critical section left. */ - __libc_lock_unlock (__libc_setlocale_lock); + __libc_rwlock_unlock (__libc_setlocale_lock); /* Free the resources (the locale path variable). */ free (locale_path); @@ -394,7 +394,7 @@ setlocale (int category, const char *locale) const char *newname[1] = { locale }; /* Protect global data. */ - __libc_lock_lock (__libc_setlocale_lock); + __libc_rwlock_wrlock (__libc_setlocale_lock); if (CATEGORY_USED (category)) { @@ -446,7 +446,7 @@ setlocale (int category, const char *locale) } /* Critical section left. */ - __libc_lock_unlock (__libc_setlocale_lock); + __libc_rwlock_unlock (__libc_setlocale_lock); /* Free the resources (the locale path variable. */ free (locale_path); diff --git a/localedata/ChangeLog b/localedata/ChangeLog index 976eb470e8..52cb387c98 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,26 @@ +2008-04-07 Ulrich Drepper <drepper@redhat.com> + + [BZ #6021] + * locales/es_ES: Fix p_cs_precedes and n_cs_precedes. + Use common collation definition. + + [BZ #6004] + * locales/iso14651_t1_common: Fix first weight for U+1E60, U+1E62, + U+1E64, U+1E66, and U+1E68. + Patch by Jesse Thilo <unixweenie@gmail.com>. + + [BZ #5478] + * locales/hu_HU: Fix name_fmt. + +2008-03-31 Ulrich Drepper <drepper@redhat.com> + + * locales/iso14651_t1_common: Add support for Gujarati script. + Patch by Pravin Satpute <psatpute@redhat.com>. + +2008-03-30 Jakub Jelinek <jakub@redhat.com> + + * Makefile (LOCALES): Add ja_JP.UTF-8. + 2008-03-23 Ulrich Drepper <drepper@redhat.com> * locales/iso14651_t1_common: Add support for Devanagari script. diff --git a/localedata/Makefile b/localedata/Makefile index 8d51b5a4d8..d3c5e7e9b0 100644 --- a/localedata/Makefile +++ b/localedata/Makefile @@ -133,7 +133,8 @@ LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \ en_US.ISO-8859-1 ja_JP.EUC-JP da_DK.ISO-8859-1 \ hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \ vi_VN.TCVN5712-1 nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 \ - tr_TR.UTF-8 cs_CZ.UTF-8 zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 + tr_TR.UTF-8 cs_CZ.UTF-8 zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 \ + ja_JP.UTF-8 LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g') CHARMAPS := $(shell echo "$(LOCALES)" | \ sed -e 's/[^ .]*[.]\([^ ]*\)/\1/g' -e s/SJIS/SHIFT_JIS/g) diff --git a/localedata/locales/es_ES b/localedata/locales/es_ES index feefeec788..01e13dfc75 100644 --- a/localedata/locales/es_ES +++ b/localedata/locales/es_ES @@ -48,2068 +48,8 @@ category "es_ES:2000";LC_TELEPHONE END LC_IDENTIFICATION LC_COLLATE - -% Base collation scheme: 1994-03-22 - -% Ordering algorithm: -% 1. Spaces and hyphen (but not soft -% hyphen) before punctuation -% characters, punctuation characters -% before numbers, -% numbers before letters. -% 2. Letters with diacritical marks are -% members of equivalence classes -% 3. A distinction is made with regards -% to case as noted below. -% 4. Special characters are ignored -% when comparing letters, but then -% they are considered -% 5. The alphabets are sorted in order -% of first appearance in ISO 10646: -% Latin, Greek, Cyrillic, etc. -% -% According to Greek specifications, -% the steps 2. and 3. above are reversed -% for the Greek script - -% collating symbols - -% The collating symbol naming is -% mostly taken from ISO 10646-1, -% for example the case and accent -% names are from this standard. - -collating-symbol <CAPITAL> -collating-symbol <CAPITAL-SMALL> -collating-symbol <SMALL-CAPITAL> -collating-symbol <SMALL> - -% <CAPITAL-SMALL> and <SMALL-CAPITAL> -% are for cases like Danish <U0041><U0061> -% and Spanish <U0043><U0068> being treated -% as one letter. - -% The <a8> ...... <z8> collating -% symbols have defined weights as -% the last character in a group of -% Latin letters. They are used -% to specify deltas by locales using -% a locale as the default ordering -% and by "replace-after" statements -% specifying the changed placement -% in an ordering of a character. - -collating-symbol <a8> -collating-symbol <b8> -collating-symbol <c8> -collating-symbol <d8> -collating-symbol <e8> -collating-symbol <f8> -collating-symbol <g8> -collating-symbol <h8> -collating-symbol <i8> -collating-symbol <j8> -collating-symbol <k8> -collating-symbol <l8> -collating-symbol <m8> -collating-symbol <n8> -collating-symbol <o8> -collating-symbol <p8> -collating-symbol <q8> -collating-symbol <r8> -collating-symbol <s8> -collating-symbol <t8> -collating-symbol <u8> -collating-symbol <v8> -collating-symbol <w8> -collating-symbol <x8> -collating-symbol <y8> -collating-symbol <z8> - -collating-symbol <NONE> -collating-symbol <ACUTE> -collating-symbol <ACUTE+DOT> -collating-symbol <GRAVE> -collating-symbol <DOUBLE-GRAVE> -collating-symbol <BREVE> -collating-symbol <BREVE+ACUTE> -collating-symbol <BREVE+GRAVE> -collating-symbol <BREVE+MACRON> -collating-symbol <BREVE+HOOK> -collating-symbol <BREVE+TILDE> -collating-symbol <BREVE+DOT-BELOW> -collating-symbol <BREVE-BELOW> -collating-symbol <INVERTED-BREVE> -collating-symbol <CIRCUMFLEX> -collating-symbol <CIRCUMFLEX+ACUTE> -collating-symbol <CIRCUMFLEX+GRAVE> -collating-symbol <CIRCUMFLEX+HOOK> -collating-symbol <CIRCUMFLEX+TILDE> -collating-symbol <CIRCUMFLEX+DOT-BELOW> -collating-symbol <CARON> -collating-symbol <CARON+DIAERESIS> -collating-symbol <CARON+DOT> -collating-symbol <RING> -collating-symbol <RING+ACUTE> -collating-symbol <RING-BELOW> -collating-symbol <DIAERESIS> -collating-symbol <DIAERESIS+MACRON> -collating-symbol <DIAERESIS+ACUTE> -collating-symbol <DIAERESIS+GRAVE> -collating-symbol <DIAERESIS+CARON> -collating-symbol <DOUBLE-ACUTE> -collating-symbol <HOOK> -collating-symbol <TILDE> -collating-symbol <TILDE+ACUTE> -collating-symbol <TILDE+DIAERESIS> -collating-symbol <TILDE-BELOW> -collating-symbol <DOT> -collating-symbol <DOT-BELOW> -collating-symbol <DOT+DOT-BELOW> -collating-symbol <STROKE> -collating-symbol <STROKE+ACUTE> -collating-symbol <CEDILLA> -collating-symbol <CEDILLA+ACUTE> -collating-symbol <CEDILLA+GRAVE> -collating-symbol <CEDILLA+BREVE> -collating-symbol <OGONEK> -collating-symbol <OGONEK+MACRON> -collating-symbol <MACRON> -collating-symbol <MACRON+ACUTE> -collating-symbol <MACRON+GRAVE> -collating-symbol <MACRON+DIAERESIS> -collating-symbol <MACRON+DIAERESIS-BELOW> -collating-symbol <MACRON+DOT> -collating-symbol <MACRON+DOT-BELOW> -collating-symbol <MACRON+CIRCUMFLEX> -collating-symbol <LINE-BELOW> -collating-symbol <HORN> -collating-symbol <HORN+ACUTE> -collating-symbol <HORN+GRAVE> -collating-symbol <HORN+HOOK> -collating-symbol <HORN+TILDE> -collating-symbol <HORN+DOT-BELOW> -collating-symbol <PRECEDED-BY-APOSTROPHE> -collating-symbol <GREEK> -collating-symbol <TONOS> -collating-symbol <DIALYTICA> -collating-symbol <DIALYTICA+TONOS> -collating-symbol <CYRILLIC> -collating-symbol <HIRAGANA> -collating-symbol <KATAKANA> -collating-symbol <SPECIAL> - -% letter;accent;case;specials - -order_start forward;backward/ - ;forward;position - -% <CAPITAL> or <SMALL> letters first: - -<SMALL> -<SMALL-CAPITAL> -<CAPITAL-SMALL> -<CAPITAL> - -% Accents: - -<NONE> -<ACUTE> -<ACUTE+DOT> -<GRAVE> -<DOUBLE-GRAVE> -<BREVE> -<BREVE+ACUTE> -<BREVE+GRAVE> -<BREVE+MACRON> -<BREVE+HOOK> -<BREVE+TILDE> -<BREVE+DOT-BELOW> -<BREVE-BELOW> -<INVERTED-BREVE> -<CIRCUMFLEX> -<CIRCUMFLEX+ACUTE> -<CIRCUMFLEX+GRAVE> -<CIRCUMFLEX+HOOK> -<CIRCUMFLEX+TILDE> -<CIRCUMFLEX+DOT-BELOW> -<CARON> -<CARON+DIAERESIS> -<CARON+DOT> -<RING> -<RING+ACUTE> -<RING-BELOW> -<DIAERESIS> -<DIAERESIS+MACRON> -<DIAERESIS+ACUTE> -<DIAERESIS+GRAVE> -<DIAERESIS+CARON> -<DOUBLE-ACUTE> -<HOOK> -<TILDE> -<TILDE+ACUTE> -<TILDE+DIAERESIS> -<TILDE-BELOW> -<DOT> -<DOT-BELOW> -<DOT+DOT-BELOW> -<STROKE> -<STROKE+ACUTE> -<CEDILLA> -<CEDILLA+ACUTE> -<CEDILLA+GRAVE> -<CEDILLA+BREVE> -<OGONEK> -<OGONEK+MACRON> -<MACRON> -<MACRON+ACUTE> -<MACRON+GRAVE> -<MACRON+DIAERESIS> -<MACRON+DIAERESIS-BELOW> -<MACRON+DOT> -<MACRON+DOT-BELOW> -<MACRON+CIRCUMFLEX> -<LINE-BELOW> -<HORN> -<HORN+ACUTE> -<HORN+GRAVE> -<HORN+HOOK> -<HORN+TILDE> -<HORN+DOT-BELOW> -<PRECEDED-BY-APOSTROPHE> -<GREEK> -<TONOS> -<DIALYTICA> -<DIALYTICA+TONOS> -<CYRILLIC> -<HIRAGANA> -<KATAKANA> -<SPECIAL> - -<U00A0> <U00A0>;<U00A0>;<U00A0>;IGNORE -<U0020> IGNORE;IGNORE;IGNORE;<U0020> -<U0009> IGNORE;IGNORE;IGNORE;<U0009> -<U000B> IGNORE;IGNORE;IGNORE;<U000B> -<U000D> IGNORE;IGNORE;IGNORE;<U000D> -<U000A> IGNORE;IGNORE;IGNORE;<U000A> -<U000C> IGNORE;IGNORE;IGNORE;<U000C> -<U005F> IGNORE;IGNORE;IGNORE;<U005F> -<U00AF> IGNORE;IGNORE;IGNORE;<U00AF> -<U00AD> IGNORE;IGNORE;IGNORE;<U00AD> -<U002D> IGNORE;IGNORE;IGNORE;<U002D> -<U002C> IGNORE;IGNORE;IGNORE;<U002C> -<U003B> IGNORE;IGNORE;IGNORE;<U003B> -<U003A> IGNORE;IGNORE;IGNORE;<U003A> -<U0021> IGNORE;IGNORE;IGNORE;<U0021> -<U00A1> IGNORE;IGNORE;IGNORE;<U00A1> -<U003F> IGNORE;IGNORE;IGNORE;<U003F> -<U00BF> IGNORE;IGNORE;IGNORE;<U00BF> -<U002F> IGNORE;IGNORE;IGNORE;<U002F> -<U002E> IGNORE;IGNORE;IGNORE;<U002E> -<U00B4> IGNORE;IGNORE;IGNORE;<U00B4> -<U0060> IGNORE;IGNORE;IGNORE;<U0060> -<U005E> IGNORE;IGNORE;IGNORE;<U005E> -<U00A8> IGNORE;IGNORE;IGNORE;<U00A8> -<U007E> IGNORE;IGNORE;IGNORE;<U007E> -<U00B7> IGNORE;IGNORE;IGNORE;<U00B7> -<U00B8> IGNORE;IGNORE;IGNORE;<U00B8> -<U0027> IGNORE;IGNORE;IGNORE;<U0027> -<U2018> IGNORE;IGNORE;IGNORE;<U2018> -<U2019> IGNORE;IGNORE;IGNORE;<U2019> -<U0022> IGNORE;IGNORE;IGNORE;<U0022> -<U201C> IGNORE;IGNORE;IGNORE;<U201C> -<U201D> IGNORE;IGNORE;IGNORE;<U201D> -<U00AB> IGNORE;IGNORE;IGNORE;<U00AB> -<U00BB> IGNORE;IGNORE;IGNORE;<U00BB> -<U0028> IGNORE;IGNORE;IGNORE;<U0028> -<U207D> IGNORE;IGNORE;IGNORE;<U207D> -<U0029> IGNORE;IGNORE;IGNORE;<U0029> -<U207E> IGNORE;IGNORE;IGNORE;<U207E> -<U005B> IGNORE;IGNORE;IGNORE;<U005B> -<U005D> IGNORE;IGNORE;IGNORE;<U005D> -<U007B> IGNORE;IGNORE;IGNORE;<U007B> -<U007D> IGNORE;IGNORE;IGNORE;<U007D> -<U00A7> IGNORE;IGNORE;IGNORE;<U00A7> -<U00B6> IGNORE;IGNORE;IGNORE;<U00B6> -<U00A9> IGNORE;IGNORE;IGNORE;<U00A9> -<U00AE> IGNORE;IGNORE;IGNORE;<U00AE> -<U0040> IGNORE;IGNORE;IGNORE;<U0040> -<U00A4> IGNORE;IGNORE;IGNORE;<U00A4> -<U00A2> IGNORE;IGNORE;IGNORE;<U00A2> -<U0024> IGNORE;IGNORE;IGNORE;<U0024> -<U00A3> IGNORE;IGNORE;IGNORE;<U00A3> -<U00A5> IGNORE;IGNORE;IGNORE;<U00A5> -<U002A> IGNORE;IGNORE;IGNORE;<U002A> -<U005C> IGNORE;IGNORE;IGNORE;<U005C> -<U0026> IGNORE;IGNORE;IGNORE;<U0026> -<U0023> IGNORE;IGNORE;IGNORE;<U0023> -<U0025> IGNORE;IGNORE;IGNORE;<U0025> -<U207B> IGNORE;IGNORE;IGNORE;<U207B> -<U002B> IGNORE;IGNORE;IGNORE;<U002B> -<U207A> IGNORE;IGNORE;IGNORE;<U207A> -<U00B1> IGNORE;IGNORE;IGNORE;<U00B1> -<U00F7> IGNORE;IGNORE;IGNORE;<U00F7> -<U00D7> IGNORE;IGNORE;IGNORE;<U00D7> -<U2260> IGNORE;IGNORE;IGNORE;<U2260> -<U003C> IGNORE;IGNORE;IGNORE;<U003C> -<U2264> IGNORE;IGNORE;IGNORE;<U2264> -<U003D> IGNORE;IGNORE;IGNORE;<U003D> -<U2265> IGNORE;IGNORE;IGNORE;<U2265> -<U003E> IGNORE;IGNORE;IGNORE;<U003E> -<U00AC> IGNORE;IGNORE;IGNORE;<U00AC> -<U007C> IGNORE;IGNORE;IGNORE;<U007C> -<U00A6> IGNORE;IGNORE;IGNORE;<U00A6> -<U00B0> IGNORE;IGNORE;IGNORE;<U00B0> -<U00B5> IGNORE;IGNORE;IGNORE;<U00B5> -<U02C7> IGNORE;IGNORE;IGNORE;<U02C7> -<U02D8> IGNORE;IGNORE;IGNORE;<U02D8> -<U02D9> IGNORE;IGNORE;IGNORE;<U02D9> -<U02DA> IGNORE;IGNORE;IGNORE;<U02DA> -<U02DB> IGNORE;IGNORE;IGNORE;<U02DB> -<U02DC> IGNORE;IGNORE;IGNORE;<U02DC> -<U02DD> IGNORE;IGNORE;IGNORE;<U02DD> -<U0374> IGNORE;IGNORE;IGNORE;<U0374> -<U0375> IGNORE;IGNORE;IGNORE;<U0375> -<U037A> IGNORE;IGNORE;IGNORE;<U037A> -<U037E> IGNORE;IGNORE;IGNORE;<U037E> -<U0384> IGNORE;IGNORE;IGNORE;<U0384> -<U0385> IGNORE;IGNORE;IGNORE;<U0385> -<U0387> IGNORE;IGNORE;IGNORE;<U0387> -<U03D0> IGNORE;IGNORE;IGNORE;<U03D0> -<U1FBF> IGNORE;IGNORE;IGNORE;<U1FBF> -<U1FC0> IGNORE;IGNORE;IGNORE;<U1FC0> -<U1FC1> IGNORE;IGNORE;IGNORE;<U1FC1> -<U1FCD> IGNORE;IGNORE;IGNORE;<U1FCD> -<U1FCE> IGNORE;IGNORE;IGNORE;<U1FCE> -<U1FCF> IGNORE;IGNORE;IGNORE;<U1FCF> -<U1FDD> IGNORE;IGNORE;IGNORE;<U1FDD> -<U1FDE> IGNORE;IGNORE;IGNORE;<U1FDE> -<U1FDF> IGNORE;IGNORE;IGNORE;<U1FDF> -<U1FED> IGNORE;IGNORE;IGNORE;<U1FED> -<U1FEF> IGNORE;IGNORE;IGNORE;<U1FEF> -<U1FFE> IGNORE;IGNORE;IGNORE;<U1FFE> -<U2002> IGNORE;IGNORE;IGNORE;<U2002> -<U2003> IGNORE;IGNORE;IGNORE;<U2003> -<U2004> IGNORE;IGNORE;IGNORE;<U2004> -<U2005> IGNORE;IGNORE;IGNORE;<U2005> -<U2006> IGNORE;IGNORE;IGNORE;<U2006> -<U200E> IGNORE;IGNORE;IGNORE;<U200E> -<U200F> IGNORE;IGNORE;IGNORE;<U200F> -<U2009> IGNORE;IGNORE;IGNORE;<U2009> -<U200A> IGNORE;IGNORE;IGNORE;<U200A> -<U2010> IGNORE;IGNORE;IGNORE;<U2010> -<U2013> IGNORE;IGNORE;IGNORE;<U2013> -<U2014> IGNORE;IGNORE;IGNORE;<U2014> -<U2015> IGNORE;IGNORE;IGNORE;<U2015> -<U2016> IGNORE;IGNORE;IGNORE;<U2016> -<U2017> IGNORE;IGNORE;IGNORE;<U2017> -<U201A> IGNORE;IGNORE;IGNORE;<U201A> -<U201B> IGNORE;IGNORE;IGNORE;<U201B> -<U201E> IGNORE;IGNORE;IGNORE;<U201E> -<U201F> IGNORE;IGNORE;IGNORE;<U201F> -<U2020> IGNORE;IGNORE;IGNORE;<U2020> -<U2021> IGNORE;IGNORE;IGNORE;<U2021> -<U2219> IGNORE;IGNORE;IGNORE;<U2219> -<U2025> IGNORE;IGNORE;IGNORE;<U2025> -<U2026> IGNORE;IGNORE;IGNORE;<U2026> -<U2030> IGNORE;IGNORE;IGNORE;<U2030> -<U2032> IGNORE;IGNORE;IGNORE;<U2032> -<U2033> IGNORE;IGNORE;IGNORE;<U2033> -<U2034> IGNORE;IGNORE;IGNORE;<U2034> -<U2035> IGNORE;IGNORE;IGNORE;<U2035> -<U2036> IGNORE;IGNORE;IGNORE;<U2036> -<U2037> IGNORE;IGNORE;IGNORE;<U2037> -<U2038> IGNORE;IGNORE;IGNORE;<U2038> -<U2039> IGNORE;IGNORE;IGNORE;<U2039> -<U203A> IGNORE;IGNORE;IGNORE;<U203A> -<U203B> IGNORE;IGNORE;IGNORE;<U203B> -<U203C> IGNORE;IGNORE;IGNORE;<U203C> -<U203E> IGNORE;IGNORE;IGNORE;<U203E> -<U207C> IGNORE;IGNORE;IGNORE;<U207C> -<U2080> IGNORE;IGNORE;IGNORE;<U2080> -<U2081> IGNORE;IGNORE;IGNORE;<U2081> -<U2082> IGNORE;IGNORE;IGNORE;<U2082> -<U2083> IGNORE;IGNORE;IGNORE;<U2083> -<U2084> IGNORE;IGNORE;IGNORE;<U2084> -<U2085> IGNORE;IGNORE;IGNORE;<U2085> -<U2086> IGNORE;IGNORE;IGNORE;<U2086> -<U2087> IGNORE;IGNORE;IGNORE;<U2087> -<U2088> IGNORE;IGNORE;IGNORE;<U2088> -<U2089> IGNORE;IGNORE;IGNORE;<U2089> -<U208A> IGNORE;IGNORE;IGNORE;<U208A> -<U208B> IGNORE;IGNORE;IGNORE;<U208B> -<U208C> IGNORE;IGNORE;IGNORE;<U208C> -<U208D> IGNORE;IGNORE;IGNORE;<U208D> -<U208E> IGNORE;IGNORE;IGNORE;<U208E> -<U20A3> IGNORE;IGNORE;IGNORE;<U20A3> -<U20A4> IGNORE;IGNORE;IGNORE;<U20A4> -<U20A7> IGNORE;IGNORE;IGNORE;<U20A7> -<U20A9> IGNORE;IGNORE;IGNORE;<U20A9> -<U2103> IGNORE;IGNORE;IGNORE;<U2103> -<U2105> IGNORE;IGNORE;IGNORE;<U2105> -<U2109> IGNORE;IGNORE;IGNORE;<U2109> -<U2116> IGNORE;IGNORE;IGNORE;<U2116> -<U2117> IGNORE;IGNORE;IGNORE;<U2117> -<U211E> IGNORE;IGNORE;IGNORE;<U211E> -<U2120> IGNORE;IGNORE;IGNORE;<U2120> -<U2122> IGNORE;IGNORE;IGNORE;<U2122> -<U2126> IGNORE;IGNORE;IGNORE;<U2126> -<U212B> IGNORE;IGNORE;IGNORE;<U212B> -<U2153> IGNORE;IGNORE;IGNORE;<U2153> -<U2154> IGNORE;IGNORE;IGNORE;<U2154> -<U2155> IGNORE;IGNORE;IGNORE;<U2155> -<U2156> IGNORE;IGNORE;IGNORE;<U2156> -<U2157> IGNORE;IGNORE;IGNORE;<U2157> -<U2158> IGNORE;IGNORE;IGNORE;<U2158> -<U2159> IGNORE;IGNORE;IGNORE;<U2159> -<U215A> IGNORE;IGNORE;IGNORE;<U215A> -<U2160> IGNORE;IGNORE;IGNORE;<U2160> -<U2161> IGNORE;IGNORE;IGNORE;<U2161> -<U2162> IGNORE;IGNORE;IGNORE;<U2162> -<U2163> IGNORE;IGNORE;IGNORE;<U2163> -<U2164> IGNORE;IGNORE;IGNORE;<U2164> -<U2165> IGNORE;IGNORE;IGNORE;<U2165> -<U2166> IGNORE;IGNORE;IGNORE;<U2166> -<U2167> IGNORE;IGNORE;IGNORE;<U2167> -<U2168> IGNORE;IGNORE;IGNORE;<U2168> -<U2169> IGNORE;IGNORE;IGNORE;<U2169> -<U216A> IGNORE;IGNORE;IGNORE;<U216A> -<U216B> IGNORE;IGNORE;IGNORE;<U216B> -<U216C> IGNORE;IGNORE;IGNORE;<U216C> -<U216D> IGNORE;IGNORE;IGNORE;<U216D> -<U216E> IGNORE;IGNORE;IGNORE;<U216E> -<U216F> IGNORE;IGNORE;IGNORE;<U216F> -<U2170> IGNORE;IGNORE;IGNORE;<U2170> -<U2171> IGNORE;IGNORE;IGNORE;<U2171> -<U2172> IGNORE;IGNORE;IGNORE;<U2172> -<U2173> IGNORE;IGNORE;IGNORE;<U2173> -<U2174> IGNORE;IGNORE;IGNORE;<U2174> -<U2175> IGNORE;IGNORE;IGNORE;<U2175> -<U2176> IGNORE;IGNORE;IGNORE;<U2176> -<U2177> IGNORE;IGNORE;IGNORE;<U2177> -<U2178> IGNORE;IGNORE;IGNORE;<U2178> -<U2179> IGNORE;IGNORE;IGNORE;<U2179> -<U217A> IGNORE;IGNORE;IGNORE;<U217A> -<U217B> IGNORE;IGNORE;IGNORE;<U217B> -<U217C> IGNORE;IGNORE;IGNORE;<U217C> -<U217D> IGNORE;IGNORE;IGNORE;<U217D> -<U217E> IGNORE;IGNORE;IGNORE;<U217E> -<U217F> IGNORE;IGNORE;IGNORE;<U217F> -<U2180> IGNORE;IGNORE;IGNORE;<U2180> -<U2181> IGNORE;IGNORE;IGNORE;<U2181> -<U2182> IGNORE;IGNORE;IGNORE;<U2182> -<U2191> IGNORE;IGNORE;IGNORE;<U2191> -<U2193> IGNORE;IGNORE;IGNORE;<U2193> -<U2194> IGNORE;IGNORE;IGNORE;<U2194> -<U2195> IGNORE;IGNORE;IGNORE;<U2195> -<U2196> IGNORE;IGNORE;IGNORE;<U2196> -<U2197> IGNORE;IGNORE;IGNORE;<U2197> -<U2198> IGNORE;IGNORE;IGNORE;<U2198> -<U2199> IGNORE;IGNORE;IGNORE;<U2199> -<U21A8> IGNORE;IGNORE;IGNORE;<U21A8> -<U21C0> IGNORE;IGNORE;IGNORE;<U21C0> -<U21D0> IGNORE;IGNORE;IGNORE;<U21D0> -<U21D2> IGNORE;IGNORE;IGNORE;<U21D2> -<U21D4> IGNORE;IGNORE;IGNORE;<U21D4> -<U2200> IGNORE;IGNORE;IGNORE;<U2200> -<U2202> IGNORE;IGNORE;IGNORE;<U2202> -<U2203> IGNORE;IGNORE;IGNORE;<U2203> -<U2205> IGNORE;IGNORE;IGNORE;<U2205> -<U2206> IGNORE;IGNORE;IGNORE;<U2206> -<U2207> IGNORE;IGNORE;IGNORE;<U2207> -<U2208> IGNORE;IGNORE;IGNORE;<U2208> -<U220B> IGNORE;IGNORE;IGNORE;<U220B> -<U220F> IGNORE;IGNORE;IGNORE;<U220F> -<U2211> IGNORE;IGNORE;IGNORE;<U2211> -<U2212> IGNORE;IGNORE;IGNORE;<U2212> -<U2213> IGNORE;IGNORE;IGNORE;<U2213> -<U2214> IGNORE;IGNORE;IGNORE;<U2214> -<U2044> IGNORE;IGNORE;IGNORE;<U2044> -<U2217> IGNORE;IGNORE;IGNORE;<U2217> -<U2218> IGNORE;IGNORE;IGNORE;<U2218> -<U2022> IGNORE;IGNORE;IGNORE;<U2022> -<U221A> IGNORE;IGNORE;IGNORE;<U221A> -<U221D> IGNORE;IGNORE;IGNORE;<U221D> -<U221E> IGNORE;IGNORE;IGNORE;<U221E> -<U221F> IGNORE;IGNORE;IGNORE;<U221F> -<U2220> IGNORE;IGNORE;IGNORE;<U2220> -<U2225> IGNORE;IGNORE;IGNORE;<U2225> -<U2227> IGNORE;IGNORE;IGNORE;<U2227> -<U2228> IGNORE;IGNORE;IGNORE;<U2228> -<U2229> IGNORE;IGNORE;IGNORE;<U2229> -<U222A> IGNORE;IGNORE;IGNORE;<U222A> -<U222B> IGNORE;IGNORE;IGNORE;<U222B> -<U222C> IGNORE;IGNORE;IGNORE;<U222C> -<U222E> IGNORE;IGNORE;IGNORE;<U222E> -<U2234> IGNORE;IGNORE;IGNORE;<U2234> -<U2235> IGNORE;IGNORE;IGNORE;<U2235> -<U2236> IGNORE;IGNORE;IGNORE;<U2236> -<U2237> IGNORE;IGNORE;IGNORE;<U2237> -<U223C> IGNORE;IGNORE;IGNORE;<U223C> -<U223E> IGNORE;IGNORE;IGNORE;<U223E> -<U2243> IGNORE;IGNORE;IGNORE;<U2243> -<U2245> IGNORE;IGNORE;IGNORE;<U2245> -<U2248> IGNORE;IGNORE;IGNORE;<U2248> -<U224C> IGNORE;IGNORE;IGNORE;<U224C> -<U2253> IGNORE;IGNORE;IGNORE;<U2253> -<U2261> IGNORE;IGNORE;IGNORE;<U2261> -<U226A> IGNORE;IGNORE;IGNORE;<U226A> -<U226B> IGNORE;IGNORE;IGNORE;<U226B> -<U226E> IGNORE;IGNORE;IGNORE;<U226E> -<U226F> IGNORE;IGNORE;IGNORE;<U226F> -<U2282> IGNORE;IGNORE;IGNORE;<U2282> -<U2283> IGNORE;IGNORE;IGNORE;<U2283> -<U2286> IGNORE;IGNORE;IGNORE;<U2286> -<U2287> IGNORE;IGNORE;IGNORE;<U2287> -<U2299> IGNORE;IGNORE;IGNORE;<U2299> -<U229A> IGNORE;IGNORE;IGNORE;<U229A> -<U22A5> IGNORE;IGNORE;IGNORE;<U22A5> -<U22C5> IGNORE;IGNORE;IGNORE;<U22C5> -<U22EE> IGNORE;IGNORE;IGNORE;<U22EE> -<U2302> IGNORE;IGNORE;IGNORE;<U2302> -<U2308> IGNORE;IGNORE;IGNORE;<U2308> -<U2309> IGNORE;IGNORE;IGNORE;<U2309> -<U230A> IGNORE;IGNORE;IGNORE;<U230A> -<U230B> IGNORE;IGNORE;IGNORE;<U230B> -<U2310> IGNORE;IGNORE;IGNORE;<U2310> -<U2312> IGNORE;IGNORE;IGNORE;<U2312> -<U2315> IGNORE;IGNORE;IGNORE;<U2315> -<U2320> IGNORE;IGNORE;IGNORE;<U2320> -<U2321> IGNORE;IGNORE;IGNORE;<U2321> -<U2423> IGNORE;IGNORE;IGNORE;<U2423> -<U2440> IGNORE;IGNORE;IGNORE;<U2440> -<U2441> IGNORE;IGNORE;IGNORE;<U2441> -<U2442> IGNORE;IGNORE;IGNORE;<U2442> -<U2443> IGNORE;IGNORE;IGNORE;<U2443> -<U2446> IGNORE;IGNORE;IGNORE;<U2446> -<U2447> IGNORE;IGNORE;IGNORE;<U2447> -<U2448> IGNORE;IGNORE;IGNORE;<U2448> -<U2449> IGNORE;IGNORE;IGNORE;<U2449> -<U2460> IGNORE;IGNORE;IGNORE;<U2460> -<U2461> IGNORE;IGNORE;IGNORE;<U2461> -<U2462> IGNORE;IGNORE;IGNORE;<U2462> -<U2463> IGNORE;IGNORE;IGNORE;<U2463> -<U2464> IGNORE;IGNORE;IGNORE;<U2464> -<U2465> IGNORE;IGNORE;IGNORE;<U2465> -<U2466> IGNORE;IGNORE;IGNORE;<U2466> -<U2467> IGNORE;IGNORE;IGNORE;<U2467> -<U2468> IGNORE;IGNORE;IGNORE;<U2468> -<U2469> IGNORE;IGNORE;IGNORE;<U2469> -<U246A> IGNORE;IGNORE;IGNORE;<U246A> -<U246B> IGNORE;IGNORE;IGNORE;<U246B> -<U246C> IGNORE;IGNORE;IGNORE;<U246C> -<U246D> IGNORE;IGNORE;IGNORE;<U246D> -<U246E> IGNORE;IGNORE;IGNORE;<U246E> -<U246F> IGNORE;IGNORE;IGNORE;<U246F> -<U2470> IGNORE;IGNORE;IGNORE;<U2470> -<U2471> IGNORE;IGNORE;IGNORE;<U2471> -<U2472> IGNORE;IGNORE;IGNORE;<U2472> -<U2473> IGNORE;IGNORE;IGNORE;<U2473> -<U2474> IGNORE;IGNORE;IGNORE;<U2474> -<U2475> IGNORE;IGNORE;IGNORE;<U2475> -<U2476> IGNORE;IGNORE;IGNORE;<U2476> -<U2477> IGNORE;IGNORE;IGNORE;<U2477> -<U2478> IGNORE;IGNORE;IGNORE;<U2478> -<U2479> IGNORE;IGNORE;IGNORE;<U2479> -<U247A> IGNORE;IGNORE;IGNORE;<U247A> -<U247B> IGNORE;IGNORE;IGNORE;<U247B> -<U247C> IGNORE;IGNORE;IGNORE;<U247C> -<U247D> IGNORE;IGNORE;IGNORE;<U247D> -<U247E> IGNORE;IGNORE;IGNORE;<U247E> -<U247F> IGNORE;IGNORE;IGNORE;<U247F> -<U2480> IGNORE;IGNORE;IGNORE;<U2480> -<U2481> IGNORE;IGNORE;IGNORE;<U2481> -<U2482> IGNORE;IGNORE;IGNORE;<U2482> -<U2483> IGNORE;IGNORE;IGNORE;<U2483> -<U2484> IGNORE;IGNORE;IGNORE;<U2484> -<U2485> IGNORE;IGNORE;IGNORE;<U2485> -<U2486> IGNORE;IGNORE;IGNORE;<U2486> -<U2487> IGNORE;IGNORE;IGNORE;<U2487> -<U2488> IGNORE;IGNORE;IGNORE;<U2488> -<U2489> IGNORE;IGNORE;IGNORE;<U2489> -<U248A> IGNORE;IGNORE;IGNORE;<U248A> -<U248B> IGNORE;IGNORE;IGNORE;<U248B> -<U248C> IGNORE;IGNORE;IGNORE;<U248C> -<U248D> IGNORE;IGNORE;IGNORE;<U248D> -<U248E> IGNORE;IGNORE;IGNORE;<U248E> -<U248F> IGNORE;IGNORE;IGNORE;<U248F> -<U2490> IGNORE;IGNORE;IGNORE;<U2490> -<U2491> IGNORE;IGNORE;IGNORE;<U2491> -<U2492> IGNORE;IGNORE;IGNORE;<U2492> -<U2493> IGNORE;IGNORE;IGNORE;<U2493> -<U2494> IGNORE;IGNORE;IGNORE;<U2494> -<U2495> IGNORE;IGNORE;IGNORE;<U2495> -<U2496> IGNORE;IGNORE;IGNORE;<U2496> -<U2497> IGNORE;IGNORE;IGNORE;<U2497> -<U2498> IGNORE;IGNORE;IGNORE;<U2498> -<U2499> IGNORE;IGNORE;IGNORE;<U2499> -<U249A> IGNORE;IGNORE;IGNORE;<U249A> -<U249B> IGNORE;IGNORE;IGNORE;<U249B> -<U24EA> IGNORE;IGNORE;IGNORE;<U24EA> -<U2500> IGNORE;IGNORE;IGNORE;<U2500> -<U2550> IGNORE;IGNORE;IGNORE;<U2550> -<U2502> IGNORE;IGNORE;IGNORE;<U2502> -<U2551> IGNORE;IGNORE;IGNORE;<U2551> -<U2504> IGNORE;IGNORE;IGNORE;<U2504> -<U2505> IGNORE;IGNORE;IGNORE;<U2505> -<U2506> IGNORE;IGNORE;IGNORE;<U2506> -<U2507> IGNORE;IGNORE;IGNORE;<U2507> -<U2508> IGNORE;IGNORE;IGNORE;<U2508> -<U2509> IGNORE;IGNORE;IGNORE;<U2509> -<U250A> IGNORE;IGNORE;IGNORE;<U250A> -<U250B> IGNORE;IGNORE;IGNORE;<U250B> -<U250C> IGNORE;IGNORE;IGNORE;<U250C> -<U2552> IGNORE;IGNORE;IGNORE;<U2552> -<U2553> IGNORE;IGNORE;IGNORE;<U2553> -<U2554> IGNORE;IGNORE;IGNORE;<U2554> -<U2510> IGNORE;IGNORE;IGNORE;<U2510> -<U2555> IGNORE;IGNORE;IGNORE;<U2555> -<U2556> IGNORE;IGNORE;IGNORE;<U2556> -<U2557> IGNORE;IGNORE;IGNORE;<U2557> -<U2514> IGNORE;IGNORE;IGNORE;<U2514> -<U2558> IGNORE;IGNORE;IGNORE;<U2558> -<U2559> IGNORE;IGNORE;IGNORE;<U2559> -<U255A> IGNORE;IGNORE;IGNORE;<U255A> -<U2518> IGNORE;IGNORE;IGNORE;<U2518> -<U255B> IGNORE;IGNORE;IGNORE;<U255B> -<U255C> IGNORE;IGNORE;IGNORE;<U255C> -<U255D> IGNORE;IGNORE;IGNORE;<U255D> -<U251C> IGNORE;IGNORE;IGNORE;<U251C> -<U255E> IGNORE;IGNORE;IGNORE;<U255E> -<U251E> IGNORE;IGNORE;IGNORE;<U251E> -<U251F> IGNORE;IGNORE;IGNORE;<U251F> -<U255F> IGNORE;IGNORE;IGNORE;<U255F> -<U2521> IGNORE;IGNORE;IGNORE;<U2521> -<U2522> IGNORE;IGNORE;IGNORE;<U2522> -<U2560> IGNORE;IGNORE;IGNORE;<U2560> -<U2524> IGNORE;IGNORE;IGNORE;<U2524> -<U2561> IGNORE;IGNORE;IGNORE;<U2561> -<U2526> IGNORE;IGNORE;IGNORE;<U2526> -<U2527> IGNORE;IGNORE;IGNORE;<U2527> -<U2562> IGNORE;IGNORE;IGNORE;<U2562> -<U2529> IGNORE;IGNORE;IGNORE;<U2529> -<U252A> IGNORE;IGNORE;IGNORE;<U252A> -<U2563> IGNORE;IGNORE;IGNORE;<U2563> -<U252C> IGNORE;IGNORE;IGNORE;<U252C> -<U252D> IGNORE;IGNORE;IGNORE;<U252D> -<U252E> IGNORE;IGNORE;IGNORE;<U252E> -<U2564> IGNORE;IGNORE;IGNORE;<U2564> -<U2565> IGNORE;IGNORE;IGNORE;<U2565> -<U2531> IGNORE;IGNORE;IGNORE;<U2531> -<U2532> IGNORE;IGNORE;IGNORE;<U2532> -<U2566> IGNORE;IGNORE;IGNORE;<U2566> -<U2534> IGNORE;IGNORE;IGNORE;<U2534> -<U2535> IGNORE;IGNORE;IGNORE;<U2535> -<U2536> IGNORE;IGNORE;IGNORE;<U2536> -<U2567> IGNORE;IGNORE;IGNORE;<U2567> -<U2568> IGNORE;IGNORE;IGNORE;<U2568> -<U2539> IGNORE;IGNORE;IGNORE;<U2539> -<U253A> IGNORE;IGNORE;IGNORE;<U253A> -<U2569> IGNORE;IGNORE;IGNORE;<U2569> -<U253C> IGNORE;IGNORE;IGNORE;<U253C> -<U253D> IGNORE;IGNORE;IGNORE;<U253D> -<U253E> IGNORE;IGNORE;IGNORE;<U253E> -<U256A> IGNORE;IGNORE;IGNORE;<U256A> -<U2540> IGNORE;IGNORE;IGNORE;<U2540> -<U2541> IGNORE;IGNORE;IGNORE;<U2541> -<U256B> IGNORE;IGNORE;IGNORE;<U256B> -<U2543> IGNORE;IGNORE;IGNORE;<U2543> -<U2544> IGNORE;IGNORE;IGNORE;<U2544> -<U2545> IGNORE;IGNORE;IGNORE;<U2545> -<U2546> IGNORE;IGNORE;IGNORE;<U2546> -<U2547> IGNORE;IGNORE;IGNORE;<U2547> -<U2548> IGNORE;IGNORE;IGNORE;<U2548> -<U2549> IGNORE;IGNORE;IGNORE;<U2549> -<U254A> IGNORE;IGNORE;IGNORE;<U254A> -<U256C> IGNORE;IGNORE;IGNORE;<U256C> -<U2571> IGNORE;IGNORE;IGNORE;<U2571> -<U2572> IGNORE;IGNORE;IGNORE;<U2572> -<U2580> IGNORE;IGNORE;IGNORE;<U2580> -<U2584> IGNORE;IGNORE;IGNORE;<U2584> -<U2588> IGNORE;IGNORE;IGNORE;<U2588> -<U258C> IGNORE;IGNORE;IGNORE;<U258C> -<U2590> IGNORE;IGNORE;IGNORE;<U2590> -<U2591> IGNORE;IGNORE;IGNORE;<U2591> -<U2592> IGNORE;IGNORE;IGNORE;<U2592> -<U2593> IGNORE;IGNORE;IGNORE;<U2593> -<U25A0> IGNORE;IGNORE;IGNORE;<U25A0> -<U25A1> IGNORE;IGNORE;IGNORE;<U25A1> -<U25A2> IGNORE;IGNORE;IGNORE;<U25A2> -<U25A3> IGNORE;IGNORE;IGNORE;<U25A3> -<U25A4> IGNORE;IGNORE;IGNORE;<U25A4> -<U25A5> IGNORE;IGNORE;IGNORE;<U25A5> -<U25A6> IGNORE;IGNORE;IGNORE;<U25A6> -<U25A7> IGNORE;IGNORE;IGNORE;<U25A7> -<U25A8> IGNORE;IGNORE;IGNORE;<U25A8> -<U25A9> IGNORE;IGNORE;IGNORE;<U25A9> -<U25AA> IGNORE;IGNORE;IGNORE;<U25AA> -<U25AC> IGNORE;IGNORE;IGNORE;<U25AC> -<U25AD> IGNORE;IGNORE;IGNORE;<U25AD> -<U25B2> IGNORE;IGNORE;IGNORE;<U25B2> -<U25B3> IGNORE;IGNORE;IGNORE;<U25B3> -<U25B7> IGNORE;IGNORE;IGNORE;<U25B7> -<U25BA> IGNORE;IGNORE;IGNORE;<U25BA> -<U25BC> IGNORE;IGNORE;IGNORE;<U25BC> -<U25BD> IGNORE;IGNORE;IGNORE;<U25BD> -<U25C1> IGNORE;IGNORE;IGNORE;<U25C1> -<U25C4> IGNORE;IGNORE;IGNORE;<U25C4> -<U25C6> IGNORE;IGNORE;IGNORE;<U25C6> -<U25C7> IGNORE;IGNORE;IGNORE;<U25C7> -<U25CA> IGNORE;IGNORE;IGNORE;<U25CA> -<U25CB> IGNORE;IGNORE;IGNORE;<U25CB> -<U25CE> IGNORE;IGNORE;IGNORE;<U25CE> -<U25CF> IGNORE;IGNORE;IGNORE;<U25CF> -<U25D0> IGNORE;IGNORE;IGNORE;<U25D0> -<U25D1> IGNORE;IGNORE;IGNORE;<U25D1> -<U25D8> IGNORE;IGNORE;IGNORE;<U25D8> -<U25D9> IGNORE;IGNORE;IGNORE;<U25D9> -<U25E2> IGNORE;IGNORE;IGNORE;<U25E2> -<U25E3> IGNORE;IGNORE;IGNORE;<U25E3> -<U25EF> IGNORE;IGNORE;IGNORE;<U25EF> -<U2605> IGNORE;IGNORE;IGNORE;<U2605> -<U2606> IGNORE;IGNORE;IGNORE;<U2606> -<U260E> IGNORE;IGNORE;IGNORE;<U260E> -<U260F> IGNORE;IGNORE;IGNORE;<U260F> -<U261C> IGNORE;IGNORE;IGNORE;<U261C> -<U261E> IGNORE;IGNORE;IGNORE;<U261E> -<U263A> IGNORE;IGNORE;IGNORE;<U263A> -<U263B> IGNORE;IGNORE;IGNORE;<U263B> -<U263C> IGNORE;IGNORE;IGNORE;<U263C> -<U2640> IGNORE;IGNORE;IGNORE;<U2640> -<U2642> IGNORE;IGNORE;IGNORE;<U2642> -<U2660> IGNORE;IGNORE;IGNORE;<U2660> -<U2661> IGNORE;IGNORE;IGNORE;<U2661> -<U2662> IGNORE;IGNORE;IGNORE;<U2662> -<U2663> IGNORE;IGNORE;IGNORE;<U2663> -<U2664> IGNORE;IGNORE;IGNORE;<U2664> -<U2665> IGNORE;IGNORE;IGNORE;<U2665> -<U2666> IGNORE;IGNORE;IGNORE;<U2666> -<U2667> IGNORE;IGNORE;IGNORE;<U2667> -<U2669> IGNORE;IGNORE;IGNORE;<U2669> -<U266A> IGNORE;IGNORE;IGNORE;<U266A> -<U266B> IGNORE;IGNORE;IGNORE;<U266B> -<U266C> IGNORE;IGNORE;IGNORE;<U266C> -<U266D> IGNORE;IGNORE;IGNORE;<U266D> -<U266E> IGNORE;IGNORE;IGNORE;<U266E> -<U266F> IGNORE;IGNORE;IGNORE;<U266F> -<U2713> IGNORE;IGNORE;IGNORE;<U2713> -<U2717> IGNORE;IGNORE;IGNORE;<U2717> -<U2720> IGNORE;IGNORE;IGNORE;<U2720> -<U3000> IGNORE;IGNORE;IGNORE;<U3000> -<U3001> IGNORE;IGNORE;IGNORE;<U3001> -<U3002> IGNORE;IGNORE;IGNORE;<U3002> -<U3003> IGNORE;IGNORE;IGNORE;<U3003> -<U3004> IGNORE;IGNORE;IGNORE;<U3004> -<U3005> IGNORE;IGNORE;IGNORE;<U3005> -<U3006> IGNORE;IGNORE;IGNORE;<U3006> -<U3007> IGNORE;IGNORE;IGNORE;<U3007> -<U300A> IGNORE;IGNORE;IGNORE;<U300A> -<U300B> IGNORE;IGNORE;IGNORE;<U300B> -<U300C> IGNORE;IGNORE;IGNORE;<U300C> -<U300D> IGNORE;IGNORE;IGNORE;<U300D> -<U300E> IGNORE;IGNORE;IGNORE;<U300E> -<U300F> IGNORE;IGNORE;IGNORE;<U300F> -<U3010> IGNORE;IGNORE;IGNORE;<U3010> -<U3011> IGNORE;IGNORE;IGNORE;<U3011> -<U3012> IGNORE;IGNORE;IGNORE;<U3012> -<U3013> IGNORE;IGNORE;IGNORE;<U3013> -<U3014> IGNORE;IGNORE;IGNORE;<U3014> -<U3015> IGNORE;IGNORE;IGNORE;<U3015> -<U3016> IGNORE;IGNORE;IGNORE;<U3016> -<U3017> IGNORE;IGNORE;IGNORE;<U3017> -<U301C> IGNORE;IGNORE;IGNORE;<U301C> -<U3020> IGNORE;IGNORE;IGNORE;<U3020> -<U309B> IGNORE;IGNORE;IGNORE;<U309B> -<U309C> IGNORE;IGNORE;IGNORE;<U309C> -<U309D> IGNORE;IGNORE;IGNORE;<U309D> -<U309E> IGNORE;IGNORE;IGNORE;<U309E> -<U30FB> IGNORE;IGNORE;IGNORE;<U30FB> -<U30FC> IGNORE;IGNORE;IGNORE;<U30FC> -<U30FD> IGNORE;IGNORE;IGNORE;<U30FD> -<U30FE> IGNORE;IGNORE;IGNORE;<U30FE> -<U321C> IGNORE;IGNORE;IGNORE;<U321C> -<U3220> IGNORE;IGNORE;IGNORE;<U3220> -<U3221> IGNORE;IGNORE;IGNORE;<U3221> -<U3222> IGNORE;IGNORE;IGNORE;<U3222> -<U3223> IGNORE;IGNORE;IGNORE;<U3223> -<U3224> IGNORE;IGNORE;IGNORE;<U3224> -<U3225> IGNORE;IGNORE;IGNORE;<U3225> -<U3226> IGNORE;IGNORE;IGNORE;<U3226> -<U3227> IGNORE;IGNORE;IGNORE;<U3227> -<U3228> IGNORE;IGNORE;IGNORE;<U3228> -<U3229> IGNORE;IGNORE;IGNORE;<U3229> -<U327F> IGNORE;IGNORE;IGNORE;<U327F> -<U33C2> IGNORE;IGNORE;IGNORE;<U33C2> -<U33D8> IGNORE;IGNORE;IGNORE;<U33D8> -<U0000> IGNORE;IGNORE;IGNORE;<U0000> -<U0001> IGNORE;IGNORE;IGNORE;<U0001> -<U0002> IGNORE;IGNORE;IGNORE;<U0002> -<U0003> IGNORE;IGNORE;IGNORE;<U0003> -<U0004> IGNORE;IGNORE;IGNORE;<U0004> -<U0005> IGNORE;IGNORE;IGNORE;<U0005> -<U0006> IGNORE;IGNORE;IGNORE;<U0006> -<U0007> IGNORE;IGNORE;IGNORE;<U0007> -<U0008> IGNORE;IGNORE;IGNORE;<U0008> -<U000E> IGNORE;IGNORE;IGNORE;<U000E> -<U000F> IGNORE;IGNORE;IGNORE;<U000F> -<U0010> IGNORE;IGNORE;IGNORE;<U0010> -<U0011> IGNORE;IGNORE;IGNORE;<U0011> -<U0012> IGNORE;IGNORE;IGNORE;<U0012> -<U0013> IGNORE;IGNORE;IGNORE;<U0013> -<U0014> IGNORE;IGNORE;IGNORE;<U0014> -<U0015> IGNORE;IGNORE;IGNORE;<U0015> -<U0016> IGNORE;IGNORE;IGNORE;<U0016> -<U0017> IGNORE;IGNORE;IGNORE;<U0017> -<U0018> IGNORE;IGNORE;IGNORE;<U0018> -<U0019> IGNORE;IGNORE;IGNORE;<U0019> -<U001A> IGNORE;IGNORE;IGNORE;<U001A> -<U001B> IGNORE;IGNORE;IGNORE;<U001B> -<U001C> IGNORE;IGNORE;IGNORE;<U001C> -<U001D> IGNORE;IGNORE;IGNORE;<U001D> -<U001E> IGNORE;IGNORE;IGNORE;<U001E> -<U001F> IGNORE;IGNORE;IGNORE;<U001F> -<U007F> IGNORE;IGNORE;IGNORE;<U007F> -<U0080> IGNORE;IGNORE;IGNORE;<U0080> -<U0081> IGNORE;IGNORE;IGNORE;<U0081> -<U0082> IGNORE;IGNORE;IGNORE;<U0082> -<U0083> IGNORE;IGNORE;IGNORE;<U0083> -<U0084> IGNORE;IGNORE;IGNORE;<U0084> -<U0085> IGNORE;IGNORE;IGNORE;<U0085> -<U0086> IGNORE;IGNORE;IGNORE;<U0086> -<U0087> IGNORE;IGNORE;IGNORE;<U0087> -<U0088> IGNORE;IGNORE;IGNORE;<U0088> -<U0089> IGNORE;IGNORE;IGNORE;<U0089> -<U008A> IGNORE;IGNORE;IGNORE;<U008A> -<U008B> IGNORE;IGNORE;IGNORE;<U008B> -<U008C> IGNORE;IGNORE;IGNORE;<U008C> -<U008D> IGNORE;IGNORE;IGNORE;<U008D> -<U008E> IGNORE;IGNORE;IGNORE;<U008E> -<U008F> IGNORE;IGNORE;IGNORE;<U008F> -<U0090> IGNORE;IGNORE;IGNORE;<U0090> -<U0091> IGNORE;IGNORE;IGNORE;<U0091> -<U0092> IGNORE;IGNORE;IGNORE;<U0092> -<U0093> IGNORE;IGNORE;IGNORE;<U0093> -<U0094> IGNORE;IGNORE;IGNORE;<U0094> -<U0095> IGNORE;IGNORE;IGNORE;<U0095> -<U0096> IGNORE;IGNORE;IGNORE;<U0096> -<U0097> IGNORE;IGNORE;IGNORE;<U0097> -<U0098> IGNORE;IGNORE;IGNORE;<U0098> -<U0099> IGNORE;IGNORE;IGNORE;<U0099> -<U009A> IGNORE;IGNORE;IGNORE;<U009A> -<U009B> IGNORE;IGNORE;IGNORE;<U009B> -<U009C> IGNORE;IGNORE;IGNORE;<U009C> -<U009D> IGNORE;IGNORE;IGNORE;<U009D> -<U009E> IGNORE;IGNORE;IGNORE;<U009E> -<U009F> IGNORE;IGNORE;IGNORE;<U009F> -<UE000> IGNORE;IGNORE;IGNORE;<UE000> -<UE001> IGNORE;IGNORE;IGNORE;<UE001> -<UE002> IGNORE;IGNORE;IGNORE;<UE002> -<U0301> IGNORE;IGNORE;IGNORE;<U0301> -<UE004> IGNORE;IGNORE;IGNORE;<UE004> -<UE005> IGNORE;IGNORE;IGNORE;<UE005> -<UE006> IGNORE;IGNORE;IGNORE;<UE006> -<UE007> IGNORE;IGNORE;IGNORE;<UE007> -<UE008> IGNORE;IGNORE;IGNORE;<UE008> -<UE009> IGNORE;IGNORE;IGNORE;<UE009> -<UE00A> IGNORE;IGNORE;IGNORE;<UE00A> -<UE00B> IGNORE;IGNORE;IGNORE;<UE00B> -<UE00C> IGNORE;IGNORE;IGNORE;<UE00C> -<UE00D> IGNORE;IGNORE;IGNORE;<UE00D> -<UE00E> IGNORE;IGNORE;IGNORE;<UE00E> -<UE00F> IGNORE;IGNORE;IGNORE;<UE00F> -<"=> IGNORE;IGNORE;IGNORE;<"=> -<UE011> IGNORE;IGNORE;IGNORE;<UE011> -<UE012> IGNORE;IGNORE;IGNORE;<UE012> -<UE013> IGNORE;IGNORE;IGNORE;<UE013> -<UE014> IGNORE;IGNORE;IGNORE;<UE014> -<UE015> IGNORE;IGNORE;IGNORE;<UE015> -<UE017> IGNORE;IGNORE;IGNORE;<UE017> -<UE018> IGNORE;IGNORE;IGNORE;<UE018> -<UE019> IGNORE;IGNORE;IGNORE;<UE019> -UNDEFINED IGNORE;IGNORE;IGNORE - -<U0030> <U0030>;<U0030>;IGNORE;IGNORE -<U2070> <U0030>;<U2070>;IGNORE;IGNORE -<U215B> <U0030>;<U215B>;IGNORE;IGNORE -<U00BC> <U0030>;<U00BC>;IGNORE;IGNORE -<U215C> <U0030>;<U215C>;IGNORE;IGNORE -<U00BD> <U0030>;<U00BD>;IGNORE;IGNORE -<U215D> <U0030>;<U215D>;IGNORE;IGNORE -<U00BE> <U0030>;<U00BE>;IGNORE;IGNORE -<U215E> <U0030>;<U215E>;IGNORE;IGNORE -<U0031> <U0031>;<U0031>;IGNORE;IGNORE -<U0032> <U0032>;<U0032>;IGNORE;IGNORE -<U0033> <U0033>;<U0033>;IGNORE;IGNORE -<U0034> <U0034>;<U0034>;IGNORE;IGNORE -<U0035> <U0035>;<U0035>;IGNORE;IGNORE -<U0036> <U0036>;<U0036>;IGNORE;IGNORE -<U0037> <U0037>;<U0037>;IGNORE;IGNORE -<U0038> <U0038>;<U0038>;IGNORE;IGNORE -<U0039> <U0039>;<U0039>;IGNORE;IGNORE -<U00B9> <U0031>;<U00B9>;IGNORE;IGNORE -<U00B2> <U0032>;<U00B2>;IGNORE;IGNORE -<U00B3> <U0033>;<U00B3>;IGNORE;IGNORE -<U2074> <U0034>;<U2074>;IGNORE;IGNORE -<U2075> <U0035>;<U2075>;IGNORE;IGNORE -<U2076> <U0036>;<U2076>;IGNORE;IGNORE -<U2077> <U0037>;<U2077>;IGNORE;IGNORE -<U2078> <U0038>;<U2078>;IGNORE;IGNORE -<U2079> <U0039>;<U2079>;IGNORE;IGNORE -<U0041> <U0041>;<NONE>;<CAPITAL>;IGNORE -<U0061> <U0041>;<NONE>;<SMALL>;IGNORE -<U00AA> <U0041>;<NONE>;<U00AA>;IGNORE -<U00C1> <U0041>;<ACUTE>;<CAPITAL>;IGNORE -<U00E1> <U0041>;<ACUTE>;<SMALL>;IGNORE -<U00C0> <U0041>;<GRAVE>;<CAPITAL>;IGNORE -<U00E0> <U0041>;<GRAVE>;<SMALL>;IGNORE -<U0200> <U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE -<U0201> <U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE -<U0102> <U0041>;<BREVE>;<CAPITAL>;IGNORE -<U0103> <U0041>;<BREVE>;<SMALL>;IGNORE -<U1EAE> <U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE -<U1EAF> <U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE -<U1EB0> <U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE -<U1EB1> <U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE -<U1EB2> <U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE -<U1EB3> <U0041>;<BREVE+HOOK>;<SMALL>;IGNORE -<U1EB4> <U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE -<U1EB5> <U0041>;<BREVE+TILDE>;<SMALL>;IGNORE -<U1EB6> <U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE -<U1EB7> <U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE -<U0202> <U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE -<U0203> <U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE -<U00C2> <U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE -<U00E2> <U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE -<U1EA4> <U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE -<U1EA5> <U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE -<U1EA6> <U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE -<U1EA7> <U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE -<U1EA8> <U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE -<U1EA9> <U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE -<U1EAA> <U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE -<U1EAB> <U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE -<U1EAC> <U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE -<U1EAD> <U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE -<U01CD> <U0041>;<CARON>;<CAPITAL>;IGNORE -<U01CE> <U0041>;<CARON>;<SMALL>;IGNORE -<U00C5> <U0041>;<RING>;<CAPITAL>;IGNORE -<U00E5> <U0041>;<RING>;<SMALL>;IGNORE -<U01FA> <U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE -<U01FB> <U0041>;<RING+ACUTE>;<SMALL>;IGNORE -<U1E00> <U0041>;<RING-BELOW>;<CAPITAL>;IGNORE -<U1E01> <U0041>;<RING-BELOW>;<SMALL>;IGNORE -<U00C4> <U0041>;<DIAERESIS>;<CAPITAL>;IGNORE -<U00E4> <U0041>;<DIAERESIS>;<SMALL>;IGNORE -<U01DE> <U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE -<U01DF> <U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE -<U1EA2> <U0041>;<HOOK>;<CAPITAL>;IGNORE -<U1EA3> <U0041>;<HOOK>;<SMALL>;IGNORE -<U00C3> <U0041>;<TILDE>;<CAPITAL>;IGNORE -<U00E3> <U0041>;<TILDE>;<SMALL>;IGNORE -<U1EA0> <U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1EA1> <U0041>;<DOT-BELOW>;<SMALL>;IGNORE -<U0104> <U0041>;<OGONEK>;<CAPITAL>;IGNORE -<U0105> <U0041>;<OGONEK>;<SMALL>;IGNORE -<U0100> <U0041>;<MACRON>;<CAPITAL>;IGNORE -<U0101> <U0041>;<MACRON>;<SMALL>;IGNORE -<U01E0> <U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE -<U01E1> <U0041>;<MACRON+DOT>;<SMALL>;IGNORE -<a8> -<U00C6> "<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";IGNORE -<U00E6> "<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";IGNORE -<U01FC> "<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE -<U01FD> "<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE -<U01E2> "<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE -<U01E3> "<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE -<U0042> <U0042>;<NONE>;<CAPITAL>;IGNORE -<U0062> <U0042>;<NONE>;<SMALL>;IGNORE -<U1E02> <U0042>;<DOT>;<CAPITAL>;IGNORE -<U1E03> <U0042>;<DOT>;<SMALL>;IGNORE -<U1E04> <U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1E05> <U0042>;<DOT-BELOW>;<SMALL>;IGNORE -<U1E06> <U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE -<U1E07> <U0042>;<LINE-BELOW>;<SMALL>;IGNORE -<b8> -<U0043> <U0043>;<NONE>;<CAPITAL>;IGNORE -<U0063> <U0043>;<NONE>;<SMALL>;IGNORE -<U0106> <U0043>;<ACUTE>;<CAPITAL>;IGNORE -<U0107> <U0043>;<ACUTE>;<SMALL>;IGNORE -<U0108> <U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE -<U0109> <U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE -<U010C> <U0043>;<CARON>;<CAPITAL>;IGNORE -<U010D> <U0043>;<CARON>;<SMALL>;IGNORE -<U0187> <U0043>;<HOOK>;<CAPITAL>;IGNORE -<U0188> <U0043>;<HOOK>;<SMALL>;IGNORE -<U010A> <U0043>;<DOT>;<CAPITAL>;IGNORE -<U010B> <U0043>;<DOT>;<SMALL>;IGNORE -<U00C7> <U0043>;<CEDILLA>;<CAPITAL>;IGNORE -<U00E7> <U0043>;<CEDILLA>;<SMALL>;IGNORE -<U1E08> <U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE -<U1E09> <U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE -<c8> -<U0044> <U0044>;<NONE>;<CAPITAL>;IGNORE -<U0064> <U0044>;<NONE>;<SMALL>;IGNORE -<U010E> <U0044>;<CARON>;<CAPITAL>;IGNORE -<U010F> <U0044>;<CARON>;<SMALL>;IGNORE -<U1E0A> <U0044>;<DOT>;<CAPITAL>;IGNORE -<U1E0B> <U0044>;<DOT>;<SMALL>;IGNORE -<U1E0C> <U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1E0D> <U0044>;<DOT-BELOW>;<SMALL>;IGNORE -<U0110> <U0044>;<STROKE>;<CAPITAL>;IGNORE -<U0111> <U0044>;<STROKE>;<SMALL>;IGNORE -<U1E10> <U0044>;<CEDILLA>;<CAPITAL>;IGNORE -<U1E11> <U0044>;<CEDILLA>;<SMALL>;IGNORE -<U1E12> <U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE -<U1E13> <U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE -<U1E0E> <U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE -<U1E0F> <U0044>;<LINE-BELOW>;<SMALL>;IGNORE -<d8> -<U0045> <U0045>;<NONE>;<CAPITAL>;IGNORE -<U0065> <U0045>;<NONE>;<SMALL>;IGNORE -<U00C9> <U0045>;<ACUTE>;<CAPITAL>;IGNORE -<U00E9> <U0045>;<ACUTE>;<SMALL>;IGNORE -<U00C8> <U0045>;<GRAVE>;<CAPITAL>;IGNORE -<U00E8> <U0045>;<GRAVE>;<SMALL>;IGNORE -<U0204> <U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE -<U0205> <U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE -<U0114> <U0045>;<BREVE>;<CAPITAL>;IGNORE -<U0115> <U0045>;<BREVE>;<SMALL>;IGNORE -<U0206> <U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE -<U0207> <U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE -<U00CA> <U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE -<U00EA> <U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE -<U1EBE> <U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE -<U1EBF> <U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE -<U1EC0> <U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE -<U1EC1> <U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE -<U1EC2> <U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE -<U1EC3> <U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE -<U1EC4> <U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE -<U1EC5> <U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE -<U1EC6> <U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE -<U1EC7> <U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE -<U011A> <U0045>;<CARON>;<CAPITAL>;IGNORE -<U011B> <U0045>;<CARON>;<SMALL>;IGNORE -<U00CB> <U0045>;<DIAERESIS>;<CAPITAL>;IGNORE -<U00EB> <U0045>;<DIAERESIS>;<SMALL>;IGNORE -<U1EBA> <U0045>;<HOOK>;<CAPITAL>;IGNORE -<U1EBB> <U0045>;<HOOK>;<SMALL>;IGNORE -<U1EBC> <U0045>;<TILDE>;<CAPITAL>;IGNORE -<U1EBD> <U0045>;<TILDE>;<SMALL>;IGNORE -<U1E1A> <U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE -<U1E1B> <U0045>;<TILDE-BELOW>;<SMALL>;IGNORE -<U0116> <U0045>;<DOT>;<CAPITAL>;IGNORE -<U0117> <U0045>;<DOT>;<SMALL>;IGNORE -<U1EB8> <U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1EB9> <U0045>;<DOT-BELOW>;<SMALL>;IGNORE -<U1E1C> <U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE -<U1E1D> <U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE -<U0118> <U0045>;<OGONEK>;<CAPITAL>;IGNORE -<U0119> <U0045>;<OGONEK>;<SMALL>;IGNORE -<U0112> <U0045>;<MACRON>;<CAPITAL>;IGNORE -<U0113> <U0045>;<MACRON>;<SMALL>;IGNORE -<U1E16> <U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE -<U1E17> <U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE -<U1E14> <U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE -<U1E15> <U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE -<U1E18> <U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE -<U1E19> <U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE -<e8> -<U0046> <U0046>;<NONE>;<CAPITAL>;IGNORE -<U0066> <U0046>;<NONE>;<SMALL>;IGNORE -<U0191> <U0046>;<HOOK>;<CAPITAL>;IGNORE -<U0192> <U0046>;<HOOK>;<SMALL>;IGNORE -<U1E1E> <U0046>;<DOT>;<CAPITAL>;IGNORE -<U1E1F> <U0046>;<DOT>;<SMALL>;IGNORE -<f8> -<UFB00> "<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE -<UFB01> "<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE -<UFB02> "<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE -<UFB03> "<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE -<UFB04> "<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE -<U0047> <U0047>;<NONE>;<CAPITAL>;IGNORE -<U0067> <U0047>;<NONE>;<SMALL>;IGNORE -<U01F4> <U0047>;<ACUTE>;<CAPITAL>;IGNORE -<U01F5> <U0047>;<ACUTE>;<SMALL>;IGNORE -<U011E> <U0047>;<BREVE>;<CAPITAL>;IGNORE -<U011F> <U0047>;<BREVE>;<SMALL>;IGNORE -<U011C> <U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE -<U011D> <U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE -<U01E6> <U0047>;<CARON>;<CAPITAL>;IGNORE -<U01E7> <U0047>;<CARON>;<SMALL>;IGNORE -<U0120> <U0047>;<DOT>;<CAPITAL>;IGNORE -<U0121> <U0047>;<DOT>;<SMALL>;IGNORE -<U01E4> <U0047>;<STROKE>;<CAPITAL>;IGNORE -<U01E5> <U0047>;<STROKE>;<SMALL>;IGNORE -<U0122> <U0047>;<CEDILLA>;<CAPITAL>;IGNORE -<U0123> <U0047>;<CEDILLA>;<SMALL>;IGNORE -<U1E20> <U0047>;<MACRON>;<CAPITAL>;IGNORE -<U1E21> <U0047>;<MACRON>;<SMALL>;IGNORE -<g8> -<U0048> <U0048>;<NONE>;<CAPITAL>;IGNORE -<U0068> <U0048>;<NONE>;<SMALL>;IGNORE -<U1E2A> <U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE -<U1E2B> <U0048>;<BREVE-BELOW>;<SMALL>;IGNORE -<U0124> <U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE -<U0125> <U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE -<U1E26> <U0048>;<DIAERESIS>;<CAPITAL>;IGNORE -<U1E27> <U0048>;<DIAERESIS>;<SMALL>;IGNORE -<U1E22> <U0048>;<DOT>;<CAPITAL>;IGNORE -<U1E23> <U0048>;<DOT>;<SMALL>;IGNORE -<U1E24> <U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1E25> <U0048>;<DOT-BELOW>;<SMALL>;IGNORE -<U0126> <U0048>;<STROKE>;<CAPITAL>;IGNORE -<U0127> <U0048>;<STROKE>;<SMALL>;IGNORE -<U1E28> <U0048>;<CEDILLA>;<CAPITAL>;IGNORE -<U1E29> <U0048>;<CEDILLA>;<SMALL>;IGNORE -<h8> -<U0049> <U0049>;<NONE>;<CAPITAL>;IGNORE -<U0069> <U0049>;<NONE>;<SMALL>;IGNORE -<U00CD> <U0049>;<ACUTE>;<CAPITAL>;IGNORE -<U00ED> <U0049>;<ACUTE>;<SMALL>;IGNORE -<U00CC> <U0049>;<GRAVE>;<CAPITAL>;IGNORE -<U00EC> <U0049>;<GRAVE>;<SMALL>;IGNORE -<U0208> <U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE -<U0209> <U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE -<U012C> <U0049>;<BREVE>;<CAPITAL>;IGNORE -<U012D> <U0049>;<BREVE>;<SMALL>;IGNORE -<U020A> <U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE -<U020B> <U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE -<U00CE> <U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE -<U00EE> <U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE -<U01CF> <U0049>;<CARON>;<CAPITAL>;IGNORE -<U01D0> <U0049>;<CARON>;<SMALL>;IGNORE -<U00CF> <U0049>;<DIAERESIS>;<CAPITAL>;IGNORE -<U00EF> <U0049>;<DIAERESIS>;<SMALL>;IGNORE -<U1E2E> <U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE -<U1E2F> <U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE -<U1EC8> <U0049>;<HOOK>;<CAPITAL>;IGNORE -<U1EC9> <U0049>;<HOOK>;<SMALL>;IGNORE -<U0128> <U0049>;<TILDE>;<CAPITAL>;IGNORE -<U0129> <U0049>;<TILDE>;<SMALL>;IGNORE -<U1E2C> <U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE -<U1E2D> <U0049>;<TILDE-BELOW>;<SMALL>;IGNORE -<U0130> <U0049>;<DOT>;<CAPITAL>;IGNORE -<U0131> <U0049>;<DOT>;<SMALL>;IGNORE -<U1ECA> <U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1ECB> <U0049>;<DOT-BELOW>;<SMALL>;IGNORE -<U012E> <U0049>;<OGONEK>;<CAPITAL>;IGNORE -<U012F> <U0049>;<OGONEK>;<SMALL>;IGNORE -<U012A> <U0049>;<MACRON>;<CAPITAL>;IGNORE -<U012B> <U0049>;<MACRON>;<SMALL>;IGNORE -<i8> -<U0132> "<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE -<U0133> "<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE -<U004A> <U004A>;<NONE>;<CAPITAL>;IGNORE -<U006A> <U004A>;<NONE>;<SMALL>;IGNORE -<U0134> <U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE -<U0135> <U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE -<j8> -<U004B> <U004B>;<NONE>;<CAPITAL>;IGNORE -<U006B> <U004B>;<NONE>;<SMALL>;IGNORE -<U1E30> <U004B>;<ACUTE>;<CAPITAL>;IGNORE -<U1E31> <U004B>;<ACUTE>;<SMALL>;IGNORE -<U01E8> <U004B>;<CARON>;<CAPITAL>;IGNORE -<U01E9> <U004B>;<CARON>;<SMALL>;IGNORE -<U0198> <U004B>;<HOOK>;<CAPITAL>;IGNORE -<U0199> <U004B>;<HOOK>;<SMALL>;IGNORE -<U1E32> <U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1E33> <U004B>;<DOT-BELOW>;<SMALL>;IGNORE -<U0136> <U004B>;<CEDILLA>;<CAPITAL>;IGNORE -<U0137> <U004B>;<CEDILLA>;<SMALL>;IGNORE -<U1E34> <U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE -<U1E35> <U004B>;<LINE-BELOW>;<SMALL>;IGNORE -<k8> -<U0138> <U004B>;<U0138>;<SMALL>;IGNORE -<U004C> <U004C>;<NONE>;<CAPITAL>;IGNORE -<U006C> <U004C>;<NONE>;<SMALL>;IGNORE -<U0139> <U004C>;<ACUTE>;<CAPITAL>;IGNORE -<U013A> <U004C>;<ACUTE>;<SMALL>;IGNORE -<U013D> <U004C>;<CARON>;<CAPITAL>;IGNORE -<U013E> <U004C>;<CARON>;<SMALL>;IGNORE -<U013F> <U004C>;<DOT>;<CAPITAL>;IGNORE -<U0140> <U004C>;<DOT>;<SMALL>;IGNORE -<U1E36> <U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1E37> <U004C>;<DOT-BELOW>;<SMALL>;IGNORE -<U0141> <U004C>;<STROKE>;<CAPITAL>;IGNORE -<U0142> <U004C>;<STROKE>;<SMALL>;IGNORE -<U013B> <U004C>;<CEDILLA>;<CAPITAL>;IGNORE -<U013C> <U004C>;<CEDILLA>;<SMALL>;IGNORE -<U1E38> <U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE -<U1E39> <U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE -<U1E3C> <U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE -<U1E3D> <U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE -<U1E3A> <U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE -<U1E3B> <U004C>;<LINE-BELOW>;<SMALL>;IGNORE -<l8> -<U004D> <U004D>;<NONE>;<CAPITAL>;IGNORE -<U006D> <U004D>;<NONE>;<SMALL>;IGNORE -<U1E3E> <U004D>;<ACUTE>;<CAPITAL>;IGNORE -<U1E3F> <U004D>;<ACUTE>;<SMALL>;IGNORE -<U1E40> <U004D>;<DOT>;<CAPITAL>;IGNORE -<U1E41> <U004D>;<DOT>;<SMALL>;IGNORE -<U1E42> <U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1E43> <U004D>;<DOT-BELOW>;<SMALL>;IGNORE -<m8> -<U004E> <U004E>;<NONE>;<CAPITAL>;IGNORE -<U006E> <U004E>;<NONE>;<SMALL>;IGNORE -<U0143> <U004E>;<ACUTE>;<CAPITAL>;IGNORE -<U0144> <U004E>;<ACUTE>;<SMALL>;IGNORE -<U0147> <U004E>;<CARON>;<CAPITAL>;IGNORE -<U0148> <U004E>;<CARON>;<SMALL>;IGNORE -<U1E44> <U004E>;<DOT>;<CAPITAL>;IGNORE -<U1E45> <U004E>;<DOT>;<SMALL>;IGNORE -<U1E46> <U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1E47> <U004E>;<DOT-BELOW>;<SMALL>;IGNORE -<U0145> <U004E>;<CEDILLA>;<CAPITAL>;IGNORE -<U0146> <U004E>;<CEDILLA>;<SMALL>;IGNORE -<U1E4A> <U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE -<U1E4B> <U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE -<U1E48> <U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE -<U1E49> <U004E>;<LINE-BELOW>;<SMALL>;IGNORE -<U0149> <U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE -<n8> -<U00D1> <U00D1>;<NONE>;<CAPITAL>;IGNORE -<U00F1> <U00D1>;<NONE>;<SMALL>;IGNORE -<U014A> "<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE -<U014B> "<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE -<U004F> <U004F>;<NONE>;<CAPITAL>;IGNORE -<U006F> <U004F>;<NONE>;<SMALL>;IGNORE -<U00BA> <U004F>;<NONE>;<U00BA>;IGNORE -<U00D3> <U004F>;<ACUTE>;<CAPITAL>;IGNORE -<U00F3> <U004F>;<ACUTE>;<SMALL>;IGNORE -<U00D2> <U004F>;<GRAVE>;<CAPITAL>;IGNORE -<U00F2> <U004F>;<GRAVE>;<SMALL>;IGNORE -<U020C> <U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE -<U020D> <U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE -<U014E> <U004F>;<BREVE>;<CAPITAL>;IGNORE -<U014F> <U004F>;<BREVE>;<SMALL>;IGNORE -<U020E> <U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE -<U020F> <U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE -<U00D4> <U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE -<U00F4> <U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE -<U1ED0> <U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE -<U1ED1> <U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE -<U1ED2> <U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE -<U1ED3> <U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE -<U1ED4> <U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE -<U1ED5> <U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE -<U1ED6> <U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE -<U1ED7> <U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE -<U1ED8> <U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE -<U1ED9> <U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE -<U01D1> <U004F>;<CARON>;<CAPITAL>;IGNORE -<U01D2> <U004F>;<CARON>;<SMALL>;IGNORE -<U00D6> <U004F>;<DIAERESIS>;<CAPITAL>;IGNORE -<U00F6> <U004F>;<DIAERESIS>;<SMALL>;IGNORE -<U0150> <U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE -<U0151> <U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE -<U1ECE> <U004F>;<HOOK>;<CAPITAL>;IGNORE -<U1ECF> <U004F>;<HOOK>;<SMALL>;IGNORE -<U00D5> <U004F>;<TILDE>;<CAPITAL>;IGNORE -<U00F5> <U004F>;<TILDE>;<SMALL>;IGNORE -<U1E4C> <U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE -<U1E4D> <U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE -<U1E4E> <U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE -<U1E4F> <U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE -<U1ECC> <U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1ECD> <U004F>;<DOT-BELOW>;<SMALL>;IGNORE -<U00D8> <U004F>;<STROKE>;<CAPITAL>;IGNORE -<U00F8> <U004F>;<STROKE>;<SMALL>;IGNORE -<U01FE> <U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE -<U01FF> <U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE -<U01EA> <U004F>;<OGONEK>;<CAPITAL>;IGNORE -<U01EB> <U004F>;<OGONEK>;<SMALL>;IGNORE -<U01EC> <U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE -<U01ED> <U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE -<U014C> <U004F>;<MACRON>;<CAPITAL>;IGNORE -<U014D> <U004F>;<MACRON>;<SMALL>;IGNORE -<U1E52> <U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE -<U1E53> <U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE -<U1E50> <U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE -<U1E51> <U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE -<U01A0> <U004F>;<HORN>;<CAPITAL>;IGNORE -<U01A1> <U004F>;<HORN>;<SMALL>;IGNORE -<U1EDA> <U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE -<U1EDB> <U004F>;<HORN+ACUTE>;<SMALL>;IGNORE -<U1EDC> <U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE -<U1EDD> <U004F>;<HORN+GRAVE>;<SMALL>;IGNORE -<U1EDE> <U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE -<U1EDF> <U004F>;<HORN+HOOK>;<SMALL>;IGNORE -<U1EE0> <U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE -<U1EE1> <U004F>;<HORN+TILDE>;<SMALL>;IGNORE -<U1EE2> <U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE -<U1EE3> <U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE -<o8> -<U0152> "<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE -<U0153> "<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE -<U0050> <U0050>;<NONE>;<CAPITAL>;IGNORE -<U0070> <U0050>;<NONE>;<SMALL>;IGNORE -<U1E54> <U0050>;<ACUTE>;<CAPITAL>;IGNORE -<U1E55> <U0050>;<ACUTE>;<SMALL>;IGNORE -<U1E56> <U0050>;<DOT>;<CAPITAL>;IGNORE -<U1E57> <U0050>;<DOT>;<SMALL>;IGNORE -<p8> -<U0051> <U0051>;<NONE>;<CAPITAL>;IGNORE -<U0071> <U0051>;<NONE>;<SMALL>;IGNORE -<q8> -<U0052> <U0052>;<NONE>;<CAPITAL>;IGNORE -<U0072> <U0052>;<NONE>;<SMALL>;IGNORE -<U0154> <U0052>;<ACUTE>;<CAPITAL>;IGNORE -<U0155> <U0052>;<ACUTE>;<SMALL>;IGNORE -<U0210> <U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE -<U0211> <U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE -<U0212> <U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE -<U0213> <U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE -<U0158> <U0052>;<CARON>;<CAPITAL>;IGNORE -<U0159> <U0052>;<CARON>;<SMALL>;IGNORE -<U1E58> <U0052>;<DOT>;<CAPITAL>;IGNORE -<U1E59> <U0052>;<DOT>;<SMALL>;IGNORE -<U1E5A> <U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1E5B> <U0052>;<DOT-BELOW>;<SMALL>;IGNORE -<U0156> <U0052>;<CEDILLA>;<CAPITAL>;IGNORE -<U0157> <U0052>;<CEDILLA>;<SMALL>;IGNORE -<U1E5C> <U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE -<U1E5D> <U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE -<U1E5E> <U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE -<U1E5F> <U0052>;<LINE-BELOW>;<SMALL>;IGNORE -<r8> -<U0053> <U0053>;<NONE>;<CAPITAL>;IGNORE -<U0073> <U0053>;<NONE>;<SMALL>;IGNORE -<UFB06> "<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE -<U015A> <U0053>;<ACUTE>;<CAPITAL>;IGNORE -<U015B> <U0053>;<ACUTE>;<SMALL>;IGNORE -<U1E64> <U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE -<U1E65> <U0053>;<ACUTE+DOT>;<SMALL>;IGNORE -<U015C> <U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE -<U015D> <U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE -<U0160> <U0053>;<CARON>;<CAPITAL>;IGNORE -<U0161> <U0053>;<CARON>;<SMALL>;IGNORE -<U1E66> <U0053>;<CARON+DOT>;<CAPITAL>;IGNORE -<U1E67> <U0053>;<CARON+DOT>;<SMALL>;IGNORE -<U1E60> <U0053>;<DOT>;<CAPITAL>;IGNORE -<U1E61> <U0053>;<DOT>;<SMALL>;IGNORE -<U1E62> <U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1E63> <U0053>;<DOT-BELOW>;<SMALL>;IGNORE -<U1E68> <U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE -<U1E69> <U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE -<U015E> <U0053>;<CEDILLA>;<CAPITAL>;IGNORE -<U015F> <U0053>;<CEDILLA>;<SMALL>;IGNORE -<s8> -<U017F> <U0053>;<U017F>;<SMALL>;IGNORE -<U00DF> "<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE -<UFB05> "<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE -<U0054> <U0054>;<NONE>;<CAPITAL>;IGNORE -<U0074> <U0054>;<NONE>;<SMALL>;IGNORE -<U0164> <U0054>;<CARON>;<CAPITAL>;IGNORE -<U0165> <U0054>;<CARON>;<SMALL>;IGNORE -<U1E6A> <U0054>;<DOT>;<CAPITAL>;IGNORE -<U1E6B> <U0054>;<DOT>;<SMALL>;IGNORE -<U1E6C> <U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1E6D> <U0054>;<DOT-BELOW>;<SMALL>;IGNORE -<U0166> <U0054>;<STROKE>;<CAPITAL>;IGNORE -<U0167> <U0054>;<STROKE>;<SMALL>;IGNORE -<U0162> <U0054>;<CEDILLA>;<CAPITAL>;IGNORE -<U0163> <U0054>;<CEDILLA>;<SMALL>;IGNORE -<U1E70> <U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE -<U1E71> <U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE -<U1E6E> <U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE -<U1E6F> <U0054>;<LINE-BELOW>;<SMALL>;IGNORE -<t8> -<U00DE> "<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE -<U00FE> "<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE -<U0055> <U0055>;<NONE>;<CAPITAL>;IGNORE -<U0075> <U0055>;<NONE>;<SMALL>;IGNORE -<U00DA> <U0055>;<ACUTE>;<CAPITAL>;IGNORE -<U00FA> <U0055>;<ACUTE>;<SMALL>;IGNORE -<U00D9> <U0055>;<GRAVE>;<CAPITAL>;IGNORE -<U00F9> <U0055>;<GRAVE>;<SMALL>;IGNORE -<U0214> <U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE -<U0215> <U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE -<U016C> <U0055>;<BREVE>;<CAPITAL>;IGNORE -<U016D> <U0055>;<BREVE>;<SMALL>;IGNORE -<U0216> <U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE -<U0217> <U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE -<U00DB> <U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE -<U00FB> <U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE -<U01D3> <U0055>;<CARON>;<CAPITAL>;IGNORE -<U01D4> <U0055>;<CARON>;<SMALL>;IGNORE -<U016E> <U0055>;<RING>;<CAPITAL>;IGNORE -<U016F> <U0055>;<RING>;<SMALL>;IGNORE -<U00DC> <U0055>;<DIAERESIS>;<CAPITAL>;IGNORE -<U00FC> <U0055>;<DIAERESIS>;<SMALL>;IGNORE -<U01D5> <U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE -<U01D6> <U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE -<U01D7> <U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE -<U01D8> <U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE -<U01DB> <U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE -<U01DC> <U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE -<U01D9> <U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE -<U01DA> <U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE -<U0170> <U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE -<U0171> <U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE -<U1EE6> <U0055>;<HOOK>;<CAPITAL>;IGNORE -<U1EE7> <U0055>;<HOOK>;<SMALL>;IGNORE -<U0168> <U0055>;<TILDE>;<CAPITAL>;IGNORE -<U0169> <U0055>;<TILDE>;<SMALL>;IGNORE -<U1E78> <U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE -<U1E79> <U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE -<U1E74> <U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE -<U1E75> <U0055>;<TILDE-BELOW>;<SMALL>;IGNORE -<U1EE4> <U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1EE5> <U0055>;<DOT-BELOW>;<SMALL>;IGNORE -<U0172> <U0055>;<OGONEK>;<CAPITAL>;IGNORE -<U0173> <U0055>;<OGONEK>;<SMALL>;IGNORE -<U016A> <U0055>;<MACRON>;<CAPITAL>;IGNORE -<U016B> <U0055>;<MACRON>;<SMALL>;IGNORE -<U1E7A> <U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE -<U1E7B> <U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE -<U1E72> <U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE -<U1E73> <U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE -<U1E76> <U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE -<U1E77> <U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE -<U01AF> <U0055>;<HORN>;<CAPITAL>;IGNORE -<U01B0> <U0055>;<HORN>;<SMALL>;IGNORE -<U1EE8> <U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE -<U1EE9> <U0055>;<HORN+ACUTE>;<SMALL>;IGNORE -<U1EEA> <U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE -<U1EEB> <U0055>;<HORN+GRAVE>;<SMALL>;IGNORE -<U1EEC> <U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE -<U1EED> <U0055>;<HORN+HOOK>;<SMALL>;IGNORE -<U1EEE> <U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE -<U1EEF> <U0055>;<HORN+TILDE>;<SMALL>;IGNORE -<U1EF0> <U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE -<U1EF1> <U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE -<u8> -<U0056> <U0056>;<NONE>;<CAPITAL>;IGNORE -<U0076> <U0056>;<NONE>;<SMALL>;IGNORE -<U1E7C> <U0056>;<TILDE>;<CAPITAL>;IGNORE -<U1E7D> <U0056>;<TILDE>;<SMALL>;IGNORE -<U1E7E> <U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1E7F> <U0056>;<DOT-BELOW>;<SMALL>;IGNORE -<v8> -<U0057> <U0057>;<NONE>;<CAPITAL>;IGNORE -<U0077> <U0057>;<NONE>;<SMALL>;IGNORE -<U1E82> <U0057>;<ACUTE>;<CAPITAL>;IGNORE -<U1E83> <U0057>;<ACUTE>;<SMALL>;IGNORE -<U1E80> <U0057>;<GRAVE>;<CAPITAL>;IGNORE -<U1E81> <U0057>;<GRAVE>;<SMALL>;IGNORE -<U0174> <U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE -<U0175> <U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE -<U1E84> <U0057>;<DIAERESIS>;<CAPITAL>;IGNORE -<U1E85> <U0057>;<DIAERESIS>;<SMALL>;IGNORE -<U1E86> <U0057>;<DOT>;<CAPITAL>;IGNORE -<U1E87> <U0057>;<DOT>;<SMALL>;IGNORE -<U1E88> <U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1E89> <U0057>;<DOT-BELOW>;<SMALL>;IGNORE -<w8> -<U0058> <U0058>;<NONE>;<CAPITAL>;IGNORE -<U0078> <U0058>;<NONE>;<SMALL>;IGNORE -<U1E8C> <U0058>;<DIAERESIS>;<CAPITAL>;IGNORE -<U1E8D> <U0058>;<DIAERESIS>;<SMALL>;IGNORE -<U1E8A> <U0058>;<DOT>;<CAPITAL>;IGNORE -<U1E8B> <U0058>;<DOT>;<SMALL>;IGNORE -<x8> -<U0059> <U0059>;<NONE>;<CAPITAL>;IGNORE -<U0079> <U0059>;<NONE>;<SMALL>;IGNORE -<U00DD> <U0059>;<ACUTE>;<CAPITAL>;IGNORE -<U00FD> <U0059>;<ACUTE>;<SMALL>;IGNORE -<U1EF2> <U0059>;<GRAVE>;<CAPITAL>;IGNORE -<U1EF3> <U0059>;<GRAVE>;<SMALL>;IGNORE -<U0176> <U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE -<U0177> <U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE -<U0178> <U0059>;<DIAERESIS>;<CAPITAL>;IGNORE -<U00FF> <U0059>;<DIAERESIS>;<SMALL>;IGNORE -<U1EF6> <U0059>;<HOOK>;<CAPITAL>;IGNORE -<U1EF7> <U0059>;<HOOK>;<SMALL>;IGNORE -<U1EF8> <U0059>;<TILDE>;<CAPITAL>;IGNORE -<U1EF9> <U0059>;<TILDE>;<SMALL>;IGNORE -<U1E8E> <U0059>;<DOT>;<CAPITAL>;IGNORE -<U1E8F> <U0059>;<DOT>;<SMALL>;IGNORE -<U1EF4> <U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1EF5> <U0059>;<DOT-BELOW>;<SMALL>;IGNORE -<y8> -<U005A> <U005A>;<NONE>;<CAPITAL>;IGNORE -<U007A> <U005A>;<NONE>;<SMALL>;IGNORE -<U0179> <U005A>;<ACUTE>;<CAPITAL>;IGNORE -<U017A> <U005A>;<ACUTE>;<SMALL>;IGNORE -<U1E90> <U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE -<U1E91> <U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE -<U017D> <U005A>;<CARON>;<CAPITAL>;IGNORE -<U017E> <U005A>;<CARON>;<SMALL>;IGNORE -<U017B> <U005A>;<DOT>;<CAPITAL>;IGNORE -<U017C> <U005A>;<DOT>;<SMALL>;IGNORE -<U1E92> <U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE -<U1E93> <U005A>;<DOT-BELOW>;<SMALL>;IGNORE -<U01B5> <U005A>;<STROKE>;<CAPITAL>;IGNORE -<U01B6> <U005A>;<STROKE>;<SMALL>;IGNORE -<U1E94> <U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE -<U1E95> <U005A>;<LINE-BELOW>;<SMALL>;IGNORE -<z8> -<U0391> <U0391>;<CAPITAL>;<GREEK>;IGNORE -<U0386> <U0391>;<CAPITAL>;<TONOS>;IGNORE -<U03B1> <U0391>;<SMALL>;<GREEK>;IGNORE -<U03AC> <U0391>;<SMALL>;<TONOS>;IGNORE -<U0392> <U0392>;<CAPITAL>;<GREEK>;IGNORE -<U03B2> <U0392>;<SMALL>;<GREEK>;IGNORE -<U0393> <U0393>;<CAPITAL>;<GREEK>;IGNORE -<U03B3> <U0393>;<SMALL>;<GREEK>;IGNORE -<U0394> <U0394>;<CAPITAL>;<GREEK>;IGNORE -<U03B4> <U0394>;<SMALL>;<GREEK>;IGNORE -<U0395> <U0395>;<CAPITAL>;<GREEK>;IGNORE -<U0388> <U0395>;<CAPITAL>;<TONOS>;IGNORE -<U03B5> <U0395>;<SMALL>;<GREEK>;IGNORE -<U03AD> <U0395>;<SMALL>;<TONOS>;IGNORE -<U0396> <U0396>;<CAPITAL>;<GREEK>;IGNORE -<U03B6> <U0396>;<SMALL>;<GREEK>;IGNORE -<U0397> <U0397>;<CAPITAL>;<GREEK>;IGNORE -<U0389> <U0397>;<CAPITAL>;<TONOS>;IGNORE -<U03B7> <U0397>;<SMALL>;<GREEK>;IGNORE -<U03AE> <U0397>;<SMALL>;<TONOS>;IGNORE -<U0398> <U0398>;<CAPITAL>;<GREEK>;IGNORE -<U03B8> <U0398>;<SMALL>;<GREEK>;IGNORE -<U0399> <U0399>;<CAPITAL>;<GREEK>;IGNORE -<U038A> <U0399>;<CAPITAL>;<TONOS>;IGNORE -<U03AA> <U0399>;<CAPITAL>;<DIALYTICA>;IGNORE -<U03B9> <U0399>;<SMALL>;<GREEK>;IGNORE -<U03AF> <U0399>;<SMALL>;<TONOS>;IGNORE -<U03CA> <U0399>;<SMALL>;<DIALYTICA>;IGNORE -<U0390> <U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE -<U039A> <U039A>;<CAPITAL>;<GREEK>;IGNORE -<U03BA> <U039A>;<SMALL>;<GREEK>;IGNORE -<U039B> <U039B>;<CAPITAL>;<GREEK>;IGNORE -<U03BB> <U039B>;<SMALL>;<GREEK>;IGNORE -<U039C> <U039C>;<CAPITAL>;<GREEK>;IGNORE -<U03BC> <U039C>;<SMALL>;<GREEK>;IGNORE -<U039D> <U039D>;<CAPITAL>;<GREEK>;IGNORE -<U03BD> <U039D>;<SMALL>;<GREEK>;IGNORE -<U039E> <U039E>;<CAPITAL>;<GREEK>;IGNORE -<U03BE> <U039E>;<SMALL>;<GREEK>;IGNORE -<U039F> <U039F>;<CAPITAL>;<GREEK>;IGNORE -<U038C> <U039F>;<CAPITAL>;<TONOS>;IGNORE -<U03BF> <U039F>;<SMALL>;<GREEK>;IGNORE -<U03CC> <U039F>;<SMALL>;<TONOS>;IGNORE -<U03A0> <U03A0>;<CAPITAL>;<GREEK>;IGNORE -<U03C0> <U03A0>;<SMALL>;<GREEK>;IGNORE -<U03A1> <U03A1>;<CAPITAL>;<GREEK>;IGNORE -<U03C1> <U03A1>;<SMALL>;<GREEK>;IGNORE -<U03A3> <U03A3>;<CAPITAL>;<GREEK>;IGNORE -<U03C3> <U03A3>;<SMALL>;<GREEK>;IGNORE -<U03C2> <U03A3>;<SMALL>;<U03C2>;IGNORE -<U03A4> <U03A4>;<CAPITAL>;<GREEK>;IGNORE -<U03C4> <U03A4>;<SMALL>;<GREEK>;IGNORE -<U03A5> <U03A5>;<CAPITAL>;<GREEK>;IGNORE -<U038E> <U03A5>;<CAPITAL>;<TONOS>;IGNORE -<U03AB> <U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE -<U03C5> <U03A5>;<SMALL>;<GREEK>;IGNORE -<U03CD> <U03A5>;<SMALL>;<TONOS>;IGNORE -<U03CB> <U03A5>;<SMALL>;<DIALYTICA>;IGNORE -<U03B0> <U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE -<U03A6> <U03A6>;<CAPITAL>;<GREEK>;IGNORE -<U03C6> <U03A6>;<SMALL>;<GREEK>;IGNORE -<U03A7> <U03A7>;<CAPITAL>;<GREEK>;IGNORE -<U03C7> <U03A7>;<SMALL>;<GREEK>;IGNORE -<U03A8> <U03A8>;<CAPITAL>;<GREEK>;IGNORE -<U03C8> <U03A8>;<SMALL>;<GREEK>;IGNORE -<U03A9> <U03A9>;<CAPITAL>;<GREEK>;IGNORE -<U038F> <U03A9>;<CAPITAL>;<TONOS>;IGNORE -<U03C9> <U03A9>;<SMALL>;<GREEK>;IGNORE -<U03CE> <U03A9>;<SMALL>;<TONOS>;IGNORE -<U0410> <U0410>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0430> <U0410>;<CYRILLIC>;<SMALL>;IGNORE -<U0411> <U0411>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0431> <U0411>;<CYRILLIC>;<SMALL>;IGNORE -<U0412> <U0412>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0432> <U0412>;<CYRILLIC>;<SMALL>;IGNORE -<U0413> <U0413>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0433> <U0413>;<CYRILLIC>;<SMALL>;IGNORE -<U0403> <U0403>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0453> <U0403>;<CYRILLIC>;<SMALL>;IGNORE -<U0490> <U0490>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0491> <U0490>;<CYRILLIC>;<SMALL>;IGNORE -<U0414> <U0414>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0434> <U0414>;<CYRILLIC>;<SMALL>;IGNORE -<U0402> <U0402>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0452> <U0402>;<CYRILLIC>;<SMALL>;IGNORE -<U0415> <U0415>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0435> <U0415>;<CYRILLIC>;<SMALL>;IGNORE -<U0401> <U0401>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0451> <U0401>;<CYRILLIC>;<SMALL>;IGNORE -<U0404> <U0404>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0454> <U0404>;<CYRILLIC>;<SMALL>;IGNORE -<U0416> <U0416>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0436> <U0416>;<CYRILLIC>;<SMALL>;IGNORE -<U0417> <U0417>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0437> <U0417>;<CYRILLIC>;<SMALL>;IGNORE -<U0418> <U0418>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0438> <U0418>;<CYRILLIC>;<SMALL>;IGNORE -<U0406> <U0406>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0456> <U0406>;<CYRILLIC>;<SMALL>;IGNORE -<U0407> <U0407>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0457> <U0407>;<CYRILLIC>;<SMALL>;IGNORE -<U0408> <U0408>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0458> <U0408>;<CYRILLIC>;<SMALL>;IGNORE -<U0419> <U0419>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0439> <U0419>;<CYRILLIC>;<SMALL>;IGNORE -<U041A> <U041A>;<CYRILLIC>;<CAPITAL>;IGNORE -<U043A> <U041A>;<CYRILLIC>;<SMALL>;IGNORE -<U040C> <U040C>;<CYRILLIC>;<CAPITAL>;IGNORE -<U045C> <U040C>;<CYRILLIC>;<SMALL>;IGNORE -<U041B> <U041B>;<CYRILLIC>;<CAPITAL>;IGNORE -<U043B> <U041B>;<CYRILLIC>;<SMALL>;IGNORE -<U0409> <U0409>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0459> <U0409>;<CYRILLIC>;<SMALL>;IGNORE -<U041C> <U041C>;<CYRILLIC>;<CAPITAL>;IGNORE -<U043C> <U041C>;<CYRILLIC>;<SMALL>;IGNORE -<U041D> <U041D>;<CYRILLIC>;<CAPITAL>;IGNORE -<U043D> <U041D>;<CYRILLIC>;<SMALL>;IGNORE -<U040A> <U040A>;<CYRILLIC>;<CAPITAL>;IGNORE -<U045A> <U040A>;<CYRILLIC>;<SMALL>;IGNORE -<U041E> <U041E>;<CYRILLIC>;<CAPITAL>;IGNORE -<U043E> <U041E>;<CYRILLIC>;<SMALL>;IGNORE -<U041F> <U041F>;<CYRILLIC>;<CAPITAL>;IGNORE -<U043F> <U041F>;<CYRILLIC>;<SMALL>;IGNORE -<U0420> <U0420>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0440> <U0420>;<CYRILLIC>;<SMALL>;IGNORE -<U0421> <U0421>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0441> <U0421>;<CYRILLIC>;<SMALL>;IGNORE -<U0422> <U0422>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0442> <U0422>;<CYRILLIC>;<SMALL>;IGNORE -<U040B> <U040B>;<CYRILLIC>;<CAPITAL>;IGNORE -<U045B> <U040B>;<CYRILLIC>;<SMALL>;IGNORE -<U0423> <U0423>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0443> <U0423>;<CYRILLIC>;<SMALL>;IGNORE -<U040E> <U040E>;<CYRILLIC>;<CAPITAL>;IGNORE -<U045E> <U040E>;<CYRILLIC>;<SMALL>;IGNORE -<U0424> <U0424>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0444> <U0424>;<CYRILLIC>;<SMALL>;IGNORE -<U0425> <U0425>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0445> <U0425>;<CYRILLIC>;<SMALL>;IGNORE -<U0426> <U0426>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0446> <U0426>;<CYRILLIC>;<SMALL>;IGNORE -<U0405> <U0405>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0455> <U0405>;<CYRILLIC>;<SMALL>;IGNORE -<U0427> <U0427>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0447> <U0427>;<CYRILLIC>;<SMALL>;IGNORE -<U040F> <U040F>;<CYRILLIC>;<CAPITAL>;IGNORE -<U045F> <U040F>;<CYRILLIC>;<SMALL>;IGNORE -<U0428> <U0428>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0448> <U0428>;<CYRILLIC>;<SMALL>;IGNORE -<U0429> <U0429>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0449> <U0429>;<CYRILLIC>;<SMALL>;IGNORE -<U044A> <U044A>;<CYRILLIC>;<SMALL>;IGNORE -<U042A> <U044A>;<CYRILLIC>;<CAPITAL>;IGNORE -<U042B> <U042B>;<CYRILLIC>;<CAPITAL>;IGNORE -<U044B> <U042B>;<CYRILLIC>;<SMALL>;IGNORE -<U044C> <U044C>;<CYRILLIC>;<SMALL>;IGNORE -<U042C> <U044C>;<CYRILLIC>;<CAPITAL>;IGNORE -<U042D> <U042D>;<CYRILLIC>;<CAPITAL>;IGNORE -<U044D> <U042D>;<CYRILLIC>;<SMALL>;IGNORE -<U042E> <U042E>;<CYRILLIC>;<CAPITAL>;IGNORE -<U044E> <U042E>;<CYRILLIC>;<SMALL>;IGNORE -<U042F> <U042F>;<CYRILLIC>;<CAPITAL>;IGNORE -<U044F> <U042F>;<CYRILLIC>;<SMALL>;IGNORE -<U0462> <U0462>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0463> <U0462>;<CYRILLIC>;<SMALL>;IGNORE -<U046A> <U046A>;<CYRILLIC>;<CAPITAL>;IGNORE -<U046B> <U046A>;<CYRILLIC>;<SMALL>;IGNORE -<U0472> <U0472>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0473> <U0472>;<CYRILLIC>;<SMALL>;IGNORE -<U0474> <U0474>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0475> <U0474>;<CYRILLIC>;<SMALL>;IGNORE -<U0480> <U0480>;<CYRILLIC>;<CAPITAL>;IGNORE -<U0481> <U0480>;<CYRILLIC>;<SMALL>;IGNORE -<U05D0> <U05D0>;IGNORE;IGNORE;IGNORE -<U05D1> <U05D1>;IGNORE;IGNORE;IGNORE -<U05D2> <U05D2>;IGNORE;IGNORE;IGNORE -<U05D3> <U05D3>;IGNORE;IGNORE;IGNORE -<U05D4> <U05D4>;IGNORE;IGNORE;IGNORE -<U05D5> <U05D5>;IGNORE;IGNORE;IGNORE -<U05D6> <U05D6>;IGNORE;IGNORE;IGNORE -<U05D7> <U05D7>;IGNORE;IGNORE;IGNORE -<U05D8> <U05D8>;IGNORE;IGNORE;IGNORE -<U05D9> <U05D9>;IGNORE;IGNORE;IGNORE -<U05DA> <U05DA>;IGNORE;IGNORE;IGNORE -<U05DB> <U05DB>;IGNORE;IGNORE;IGNORE -<U05DC> <U05DC>;IGNORE;IGNORE;IGNORE -<U05DD> <U05DD>;IGNORE;IGNORE;IGNORE -<U05DE> <U05DE>;IGNORE;IGNORE;IGNORE -<U05DF> <U05DF>;IGNORE;IGNORE;IGNORE -<U05E0> <U05E0>;IGNORE;IGNORE;IGNORE -<U05E1> <U05E1>;IGNORE;IGNORE;IGNORE -<U05E2> <U05E2>;IGNORE;IGNORE;IGNORE -<U05E3> <U05E3>;IGNORE;IGNORE;IGNORE -<U05E4> <U05E4>;IGNORE;IGNORE;IGNORE -<U05E5> <U05E5>;IGNORE;IGNORE;IGNORE -<U05E6> <U05E6>;IGNORE;IGNORE;IGNORE -<U05E7> <U05E7>;IGNORE;IGNORE;IGNORE -<U05E8> <U05E8>;IGNORE;IGNORE;IGNORE -<U05E9> <U05E9>;IGNORE;IGNORE;IGNORE -<U05EA> <U05EA>;IGNORE;IGNORE;IGNORE - -% Arabic collating - -<U060C> IGNORE;IGNORE;IGNORE;<U060C> -<U061B> IGNORE;IGNORE;IGNORE;<U061B> -<U061F> IGNORE;IGNORE;IGNORE;<U061F> -<U0640> IGNORE;IGNORE;IGNORE;<U0640> - -<U0621> <U0621>;<U0621>;IGNORE;IGNORE -<U0622> <U0622>;<U0622>;IGNORE;IGNORE -<UFE82> <U0622>;<UFE82>;IGNORE;IGNORE -<U0623> <U0621>;<U0623>;IGNORE;IGNORE -<UFE84> <U0621>;<UFE84>;IGNORE;IGNORE -<U0624> <U0621>;<U0624>;IGNORE;IGNORE -<U0625> <U0621>;<U0625>;IGNORE;IGNORE -<UFE88> <U0621>;<UFE88>;IGNORE;IGNORE -<U0626> <U0621>;<U0626>;IGNORE;IGNORE -<U0670> <U0670>;<U0670>;IGNORE;IGNORE -<U0627> <U0627>;<U0627>;IGNORE;IGNORE -<UFE8D> <U0627>;<UFE8D>;IGNORE;IGNORE -<UFE8E> <U0627>;<UFE8E>;IGNORE;IGNORE -<UE016> <U0627>;<UE016>;IGNORE;IGNORE -<U0628> <U0628>;<U0628>;IGNORE;IGNORE -<UFE8F> <U0628>;<UFE8F>;IGNORE;IGNORE -<UFE90> <U0628>;<UFE90>;IGNORE;IGNORE -<UFE91> <U0628>;<UFE91>;IGNORE;IGNORE -<UFE92> <U0628>;<UFE92>;IGNORE;IGNORE -<U067E> <U067E>;<U067E>;IGNORE;IGNORE -<U06A4> <U06A4>;<U06A4>;IGNORE;IGNORE -<U0629> <U0629>;<U0629>;IGNORE;IGNORE -<UFE93> <U0629>;<UFE93>;IGNORE;IGNORE -<UFE94> <U0629>;<UFE94>;IGNORE;IGNORE -<U062A> <U0629>;<U062A>;IGNORE;IGNORE -<UFE95> <U0629>;<UFE95>;IGNORE;IGNORE -<UFE96> <U0629>;<UFE96>;IGNORE;IGNORE -<UFE97> <U0629>;<UFE97>;IGNORE;IGNORE -<UFE98> <U0629>;<UFE98>;IGNORE;IGNORE -<U062B> <U062B>;<U062B>;IGNORE;IGNORE -<UFE99> <U062B>;<UFE99>;IGNORE;IGNORE -<UFE9A> <U062B>;<UFE9A>;IGNORE;IGNORE -<UFE9B> <U062B>;<UFE9B>;IGNORE;IGNORE -<UFE9C> <U062B>;<UFE9C>;IGNORE;IGNORE -<U062C> <U062C>;<U062C>;IGNORE;IGNORE -<UFE9D> <U062C>;<UFE9D>;IGNORE;IGNORE -<UFE9E> <U062C>;<UFE9E>;IGNORE;IGNORE -<UFE9F> <U062C>;<UFE9F>;IGNORE;IGNORE -<UFEA0> <U062C>;<UFEA0>;IGNORE;IGNORE -<U062D> <U062D>;<U062D>;IGNORE;IGNORE -<UFEA1> <U062D>;<UFEA1>;IGNORE;IGNORE -<UFEA2> <U062D>;<UFEA2>;IGNORE;IGNORE -<UFEA3> <U062D>;<UFEA3>;IGNORE;IGNORE -<UFEA4> <U062D>;<UFEA4>;IGNORE;IGNORE -<U062E> <U062E>;<U062E>;IGNORE;IGNORE -<UFEA5> <U062E>;<UFEA5>;IGNORE;IGNORE -<UFEA6> <U062E>;<UFEA6>;IGNORE;IGNORE -<UFEA7> <U062E>;<UFEA7>;IGNORE;IGNORE -<UFEA8> <U062E>;<UFEA8>;IGNORE;IGNORE -<U062F> <U062F>;<U062F>;IGNORE;IGNORE -<UFEA9> <U062F>;<UFEA9>;IGNORE;IGNORE -<UFEAA> <U062F>;<UFEAA>;IGNORE;IGNORE -<U0630> <U0630>;<U0630>;IGNORE;IGNORE -<UFEAB> <U0630>;<UFEAB>;IGNORE;IGNORE -<UFEAC> <U0630>;<UFEAC>;IGNORE;IGNORE -<U0631> <U0631>;<U0631>;IGNORE;IGNORE -<UFEAD> <U0631>;<UFEAD>;IGNORE;IGNORE -<UFEAE> <U0631>;<UFEAE>;IGNORE;IGNORE -<U0632> <U0632>;<U0632>;IGNORE;IGNORE -<UFEAF> <U0632>;<UFEAF>;IGNORE;IGNORE -<UFEB0> <U0632>;<UFEB0>;IGNORE;IGNORE -<U0633> <U0633>;<U0633>;IGNORE;IGNORE -<UFEB1> <U0633>;<UFEB1>;IGNORE;IGNORE -<UFEB2> <U0633>;<UFEB2>;IGNORE;IGNORE -<UFEB3> <U0633>;<UFEB3>;IGNORE;IGNORE -<UFEB4> <U0633>;<UFEB4>;IGNORE;IGNORE -<U0634> <U0634>;<U0634>;IGNORE;IGNORE -<UFEB5> <U0634>;<UFEB5>;IGNORE;IGNORE -<UFEB6> <U0634>;<UFEB6>;IGNORE;IGNORE -<UFEB7> <U0634>;<UFEB7>;IGNORE;IGNORE -<UFEB8> <U0634>;<UFEB8>;IGNORE;IGNORE -<U0635> <U0635>;<U0635>;IGNORE;IGNORE -<UFEB9> <U0635>;<UFEB9>;IGNORE;IGNORE -<UFEBA> <U0635>;<UFEBA>;IGNORE;IGNORE -<UFEBB> <U0635>;<UFEBB>;IGNORE;IGNORE -<UFEBC> <U0635>;<UFEBC>;IGNORE;IGNORE -<U0636> <U0636>;<U0636>;IGNORE;IGNORE -<UFEBD> <U0636>;<UFEBD>;IGNORE;IGNORE -<UFEBE> <U0636>;<UFEBE>;IGNORE;IGNORE -<UFEBF> <U0636>;<UFEBF>;IGNORE;IGNORE -<UFEC0> <U0636>;<UFEC0>;IGNORE;IGNORE -<U0637> <U0637>;<U0637>;IGNORE;IGNORE -<UFEC1> <U0637>;<UFEC1>;IGNORE;IGNORE -<UFEC2> <U0637>;<UFEC2>;IGNORE;IGNORE -<UFEC3> <U0637>;<UFEC3>;IGNORE;IGNORE -<UFEC4> <U0637>;<UFEC4>;IGNORE;IGNORE -<U0638> <U0638>;<U0638>;IGNORE;IGNORE -<UFEC5> <U0638>;<UFEC5>;IGNORE;IGNORE -<UFEC6> <U0638>;<UFEC6>;IGNORE;IGNORE -<UFEC7> <U0638>;<UFEC7>;IGNORE;IGNORE -<UFEC8> <U0638>;<UFEC8>;IGNORE;IGNORE -<U0639> <U0639>;<U0639>;IGNORE;IGNORE -<UFEC9> <U0639>;<UFEC9>;IGNORE;IGNORE -<UFECA> <U0639>;<UFECA>;IGNORE;IGNORE -<UFECB> <U0639>;<UFECB>;IGNORE;IGNORE -<UFECC> <U0639>;<UFECC>;IGNORE;IGNORE -<U063A> <U063A>;<U063A>;IGNORE;IGNORE -<UFECD> <U063A>;<UFECD>;IGNORE;IGNORE -<UFECE> <U063A>;<UFECE>;IGNORE;IGNORE -<UFECF> <U063A>;<UFECF>;IGNORE;IGNORE -<UFED0> <U063A>;<UFED0>;IGNORE;IGNORE -<U0641> <U0641>;<U0641>;IGNORE;IGNORE -<UFED1> <U0641>;<UFED1>;IGNORE;IGNORE -<UFED2> <U0641>;<UFED2>;IGNORE;IGNORE -<UFED3> <U0641>;<UFED3>;IGNORE;IGNORE -<UFED4> <U0641>;<UFED4>;IGNORE;IGNORE -<U0642> <U0642>;<U0642>;IGNORE;IGNORE -<UFED5> <U0642>;<UFED5>;IGNORE;IGNORE -<UFED6> <U0642>;<UFED6>;IGNORE;IGNORE -<UFED7> <U0642>;<UFED7>;IGNORE;IGNORE -<UFED8> <U0642>;<UFED8>;IGNORE;IGNORE -<U0643> <U0643>;<U0643>;IGNORE;IGNORE -<UFED9> <U0643>;<UFED9>;IGNORE;IGNORE -<UFEDA> <U0643>;<UFEDA>;IGNORE;IGNORE -<UFEDB> <U0643>;<UFEDB>;IGNORE;IGNORE -<UFEDC> <U0643>;<UFEDC>;IGNORE;IGNORE -<U0644> <U0644>;<U0644>;IGNORE;IGNORE -<UFEDD> <U0644>;<UFEDD>;IGNORE;IGNORE -<UFEDE> <U0644>;<UFEDE>;IGNORE;IGNORE -<UFEDF> <U0644>;<UFEDF>;IGNORE;IGNORE -<UFEE0> <U0644>;<UFEE0>;IGNORE;IGNORE -<U0645> <U0645>;<U0645>;IGNORE;IGNORE -<UFEE1> <U0645>;<UFEE1>;IGNORE;IGNORE -<UFEE2> <U0645>;<UFEE2>;IGNORE;IGNORE -<UFEE3> <U0645>;<UFEE3>;IGNORE;IGNORE -<UFEE4> <U0645>;<UFEE4>;IGNORE;IGNORE -<U0646> <U0646>;<U0646>;IGNORE;IGNORE -<UFEE5> <U0646>;<UFEE5>;IGNORE;IGNORE -<UFEE6> <U0646>;<UFEE6>;IGNORE;IGNORE -<UFEE7> <U0646>;<UFEE7>;IGNORE;IGNORE -<UFEE8> <U0646>;<UFEE8>;IGNORE;IGNORE -<U0647> <U0647>;<U0647>;IGNORE;IGNORE -<UFEE9> <U0647>;<UFEE9>;IGNORE;IGNORE -<UFEEA> <U0647>;<UFEEA>;IGNORE;IGNORE -<UFEEB> <U0647>;<UFEEB>;IGNORE;IGNORE -<UFEEC> <U0647>;<UFEEC>;IGNORE;IGNORE -<U0648> <U0648>;<U0648>;IGNORE;IGNORE -<UFEED> <U0648>;<UFEED>;IGNORE;IGNORE -<UFEEE> <U0648>;<UFEEE>;IGNORE;IGNORE -<U0649> <U0649>;<U0649>;IGNORE;IGNORE -<UFEEF> <U0649>;<UFEEF>;IGNORE;IGNORE -<UFEF0> <U0649>;<UFEF0>;IGNORE;IGNORE -<U064A> <U064A>;<U064A>;IGNORE;IGNORE -<UFEF1> <U064A>;<UFEF1>;IGNORE;IGNORE -<UFEF2> <U064A>;<UFEF2>;IGNORE;IGNORE -<UFEF3> <U064A>;<UFEF3>;IGNORE;IGNORE -<UFEF4> <U064A>;<UFEF4>;IGNORE;IGNORE - -<U064B> IGNORE;IGNORE;<U064B>;IGNORE -<U064C> IGNORE;IGNORE;<U064C>;IGNORE -<U064D> IGNORE;IGNORE;<U064D>;IGNORE -<U064E> IGNORE;IGNORE;<U064E>;IGNORE -<U064F> IGNORE;IGNORE;<U064F>;IGNORE -<U0650> IGNORE;IGNORE;<U0650>;IGNORE -<U0651> IGNORE;IGNORE;<U0651>;IGNORE -<UFE7D> IGNORE;IGNORE;<UFE7D>;IGNORE -<U0652> IGNORE;IGNORE;<U0652>;IGNORE - -<U0660> <U0030>;<U0660>;IGNORE;IGNORE -<U0661> <U0031>;<U0661>;IGNORE;IGNORE -<U0662> <U0032>;<U0662>;IGNORE;IGNORE -<U0663> <U0033>;<U0663>;IGNORE;IGNORE -<U0664> <U0034>;<U0664>;IGNORE;IGNORE -<U0665> <U0035>;<U0665>;IGNORE;IGNORE -<U0666> <U0036>;<U0666>;IGNORE;IGNORE -<U0667> <U0037>;<U0667>;IGNORE;IGNORE -<U0668> <U0038>;<U0668>;IGNORE;IGNORE -<U0669> <U0039>;<U0669>;IGNORE;IGNORE - -<UFEF5> "<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE -<UFEF6> "<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE -<UFEF7> "<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE -<UFEF8> "<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE -<UFEF9> "<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE -<UFEFA> "<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE -<UFEFB> "<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE -<UFEFC> "<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE - -% katakana/hiragana sorting -% base is katakana, as this is present in most charsets -% normal before voiced before semi-voiced -% small vocals before normal vocals -% katakana before hiragana - -<U30A1> <U30A1>;<U30A1>;IGNORE;IGNORE -<U3041> <U30A1>;<U3041>;IGNORE;IGNORE -<U30A2> <U30A1>;<U30A2>;IGNORE;IGNORE -<U3042> <U30A1>;<U3042>;IGNORE;IGNORE -<U30A3> <U30A3>;<U30A3>;IGNORE;IGNORE -<U3043> <U30A3>;<U3043>;IGNORE;IGNORE -<U30A4> <U30A3>;<U30A4>;IGNORE;IGNORE -<U3044> <U30A3>;<U3044>;IGNORE;IGNORE -<U30A5> <U30A5>;<U30A5>;IGNORE;IGNORE -<U3045> <U30A5>;<U3045>;IGNORE;IGNORE -<U30A6> <U30A5>;<U30A6>;IGNORE;IGNORE -<U3046> <U30A5>;<U3046>;IGNORE;IGNORE -<U30F4> <U30A5>;<U30F4>;IGNORE;IGNORE -<U30A7> <U30A7>;<U30A7>;IGNORE;IGNORE -<U3047> <U30A7>;<U3047>;IGNORE;IGNORE -<U30A8> <U30A7>;<U30A8>;IGNORE;IGNORE -<U3048> <U30A7>;<U3048>;IGNORE;IGNORE -<U30A9> <U30A9>;<U30A9>;IGNORE;IGNORE -<U3049> <U30A9>;<U3049>;IGNORE;IGNORE -<U30AA> <U30A9>;<U30AA>;IGNORE;IGNORE -<U304A> <U30A9>;<U304A>;IGNORE;IGNORE -<U30F5> <U30F5>;<U30F5>;IGNORE;IGNORE -<U30AB> <U30F5>;<U30AB>;IGNORE;IGNORE -<U304B> <U30F5>;<U304B>;IGNORE;IGNORE -<U30AC> <U30F5>;<U30AC>;IGNORE;IGNORE -<U304C> <U30F5>;<U304C>;IGNORE;IGNORE -<U30AD> <U30AD>;<U30AD>;IGNORE;IGNORE -<U304D> <U30AD>;<U304D>;IGNORE;IGNORE -<U30AE> <U30AD>;<U30AE>;IGNORE;IGNORE -<U304E> <U30AD>;<U304E>;IGNORE;IGNORE -<U30AF> <U30AF>;<U30AF>;IGNORE;IGNORE -<U304F> <U30AF>;<U304F>;IGNORE;IGNORE -<U30B0> <U30AF>;<U30B0>;IGNORE;IGNORE -<U3050> <U30AF>;<U3050>;IGNORE;IGNORE -<U30F6> <U30F6>;<U30F6>;IGNORE;IGNORE -<U30B1> <U30F6>;<U30B1>;IGNORE;IGNORE -<U3051> <U30F6>;<U3051>;IGNORE;IGNORE -<U30B2> <U30F6>;<U30B2>;IGNORE;IGNORE -<U3052> <U30F6>;<U3052>;IGNORE;IGNORE -<U30B3> <U30B3>;<U30B3>;IGNORE;IGNORE -<U3053> <U30B3>;<U3053>;IGNORE;IGNORE -<U30B4> <U30B3>;<U30B4>;IGNORE;IGNORE -<U3054> <U30B3>;<U3054>;IGNORE;IGNORE -<U30B5> <U30B5>;<U30B5>;IGNORE;IGNORE -<U3055> <U30B5>;<U3055>;IGNORE;IGNORE -<U30B6> <U30B5>;<U30B6>;IGNORE;IGNORE -<U3056> <U30B5>;<U3056>;IGNORE;IGNORE -<U30B7> <U30B7>;<U30B7>;IGNORE;IGNORE -<U3057> <U30B7>;<U3057>;IGNORE;IGNORE -<U30B8> <U30B7>;<U30B8>;IGNORE;IGNORE -<U3058> <U30B7>;<U3058>;IGNORE;IGNORE -<U30B9> <U30B9>;<U30B9>;IGNORE;IGNORE -<U3059> <U30B9>;<U3059>;IGNORE;IGNORE -<U30BA> <U30B9>;<U30BA>;IGNORE;IGNORE -<U305A> <U30B9>;<U305A>;IGNORE;IGNORE -<U30BB> <U30BB>;<U30BB>;IGNORE;IGNORE -<U305B> <U30BB>;<U305B>;IGNORE;IGNORE -<U30BC> <U30BB>;<U30BC>;IGNORE;IGNORE -<U305C> <U30BB>;<U305C>;IGNORE;IGNORE -<U30BD> <U30BD>;<U30BD>;IGNORE;IGNORE -<U305D> <U30BD>;<U305D>;IGNORE;IGNORE -<U30BE> <U30BD>;<U30BE>;IGNORE;IGNORE -<U305E> <U30BD>;<U305E>;IGNORE;IGNORE -<U30BF> <U30BF>;<U30BF>;IGNORE;IGNORE -<U305F> <U30BF>;<U305F>;IGNORE;IGNORE -<U30C0> <U30BF>;<U30C0>;IGNORE;IGNORE -<U3060> <U30BF>;<U3060>;IGNORE;IGNORE -<U30C1> <U30C1>;<U30C1>;IGNORE;IGNORE -<U3061> <U30C1>;<U3061>;IGNORE;IGNORE -<U30C2> <U30C1>;<U30C2>;IGNORE;IGNORE -<U3062> <U30C1>;<U3062>;IGNORE;IGNORE -<U30C3> <U30C3>;<U30C3>;IGNORE;IGNORE -<U3063> <U30C3>;<U3063>;IGNORE;IGNORE -<U30C4> <U30C3>;<U30C4>;IGNORE;IGNORE -<U3064> <U30C3>;<U3064>;IGNORE;IGNORE -<U30C5> <U30C3>;<U30C5>;IGNORE;IGNORE -<U3065> <U30C3>;<U3065>;IGNORE;IGNORE -<U30C6> <U30C6>;<U30C6>;IGNORE;IGNORE -<U3066> <U30C6>;<U3066>;IGNORE;IGNORE -<U30C7> <U30C6>;<U30C7>;IGNORE;IGNORE -<U3067> <U30C6>;<U3067>;IGNORE;IGNORE -<U30C8> <U30C8>;<U30C8>;IGNORE;IGNORE -<U3068> <U30C8>;<U3068>;IGNORE;IGNORE -<U30C9> <U30C8>;<U30C9>;IGNORE;IGNORE -<U3069> <U30C8>;<U3069>;IGNORE;IGNORE -<U30CA> <U30CA>;<U30CA>;IGNORE;IGNORE -<U306A> <U30CA>;<U306A>;IGNORE;IGNORE -<U30CB> <U30CB>;<U30CB>;IGNORE;IGNORE -<U306B> <U30CB>;<U306B>;IGNORE;IGNORE -<U30CC> <U30CC>;<U30CC>;IGNORE;IGNORE -<U306C> <U30CC>;<U306C>;IGNORE;IGNORE -<U30CD> <U30CD>;<U30CD>;IGNORE;IGNORE -<U306D> <U30CD>;<U306D>;IGNORE;IGNORE -<U30CE> <U30CE>;<U30CE>;IGNORE;IGNORE -<U306E> <U30CE>;<U306E>;IGNORE;IGNORE -<U30CF> <U30CF>;<U30CF>;IGNORE;IGNORE -<U306F> <U30CF>;<U306F>;IGNORE;IGNORE -<U30D0> <U30CF>;<U30D0>;IGNORE;IGNORE -<U3070> <U30CF>;<U3070>;IGNORE;IGNORE -<U30D1> <U30CF>;<U30D1>;IGNORE;IGNORE -<U3071> <U30CF>;<U3071>;IGNORE;IGNORE -<U30D2> <U30D2>;<U30D2>;IGNORE;IGNORE -<U3072> <U30D2>;<U3072>;IGNORE;IGNORE -<U30D3> <U30D2>;<U30D3>;IGNORE;IGNORE -<U3073> <U30D2>;<U3073>;IGNORE;IGNORE -<U30D4> <U30D2>;<U30D4>;IGNORE;IGNORE -<U3074> <U30D2>;<U3074>;IGNORE;IGNORE -<U30D5> <U30D5>;<U30D5>;IGNORE;IGNORE -<U3075> <U30D5>;<U3075>;IGNORE;IGNORE -<U30D6> <U30D5>;<U30D6>;IGNORE;IGNORE -<U3076> <U30D5>;<U3076>;IGNORE;IGNORE -<U30D7> <U30D5>;<U30D7>;IGNORE;IGNORE -<U3077> <U30D5>;<U3077>;IGNORE;IGNORE -<U30D8> <U30D8>;<U30D8>;IGNORE;IGNORE -<U3078> <U30D8>;<U3078>;IGNORE;IGNORE -<U30D9> <U30D8>;<U30D9>;IGNORE;IGNORE -<U3079> <U30D8>;<U3079>;IGNORE;IGNORE -<U30DA> <U30D8>;<U30DA>;IGNORE;IGNORE -<U307A> <U30D8>;<U307A>;IGNORE;IGNORE -<U30DB> <U30DB>;<U30DB>;IGNORE;IGNORE -<U307B> <U30DB>;<U307B>;IGNORE;IGNORE -<U30DC> <U30DB>;<U30DC>;IGNORE;IGNORE -<U307C> <U30DB>;<U307C>;IGNORE;IGNORE -<U30DD> <U30DB>;<U30DD>;IGNORE;IGNORE -<U307D> <U30DB>;<U307D>;IGNORE;IGNORE -<U30DE> <U30DE>;<U30DE>;IGNORE;IGNORE -<U307E> <U30DE>;<U307E>;IGNORE;IGNORE -<U30DF> <U30DF>;<U30DF>;IGNORE;IGNORE -<U307F> <U30DF>;<U307F>;IGNORE;IGNORE -<U30E0> <U30E0>;<U30E0>;IGNORE;IGNORE -<U3080> <U30E0>;<U3080>;IGNORE;IGNORE -<U30E1> <U30E1>;<U30E1>;IGNORE;IGNORE -<U3081> <U30E1>;<U3081>;IGNORE;IGNORE -<U30E2> <U30E2>;<U30E2>;IGNORE;IGNORE -<U3082> <U30E2>;<U3082>;IGNORE;IGNORE -<U30E3> <U30E3>;<U30E3>;IGNORE;IGNORE -<U3083> <U30E3>;<U3083>;IGNORE;IGNORE -<U30E4> <U30E3>;<U30E4>;IGNORE;IGNORE -<U3084> <U30E3>;<U3084>;IGNORE;IGNORE -<U30E5> <U30E5>;<U30E5>;IGNORE;IGNORE -<U3085> <U30E5>;<U3085>;IGNORE;IGNORE -<U30E6> <U30E5>;<U30E6>;IGNORE;IGNORE -<U3086> <U30E5>;<U3086>;IGNORE;IGNORE -<U30E7> <U30E7>;<U30E7>;IGNORE;IGNORE -<U3087> <U30E7>;<U3087>;IGNORE;IGNORE -<U30E8> <U30E7>;<U30E8>;IGNORE;IGNORE -<U3088> <U30E7>;<U3088>;IGNORE;IGNORE -<U30E9> <U30E9>;<U30E9>;IGNORE;IGNORE -<U3089> <U30E9>;<U3089>;IGNORE;IGNORE -<U30EA> <U30EA>;<U30EA>;IGNORE;IGNORE -<U308A> <U30EA>;<U308A>;IGNORE;IGNORE -<U30EB> <U30EB>;<U30EB>;IGNORE;IGNORE -<U308B> <U30EB>;<U308B>;IGNORE;IGNORE -<U30EC> <U30EC>;<U30EC>;IGNORE;IGNORE -<U308C> <U30EC>;<U308C>;IGNORE;IGNORE -<U30ED> <U30ED>;<U30ED>;IGNORE;IGNORE -<U308D> <U30ED>;<U308D>;IGNORE;IGNORE -<U30EE> <U30EE>;<U30EE>;IGNORE;IGNORE -<U308E> <U30EE>;<U308E>;IGNORE;IGNORE -<U30EF> <U30EE>;<U30EF>;IGNORE;IGNORE -<U308F> <U30EE>;<U308F>;IGNORE;IGNORE -<U30F0> <U30F0>;<U30F0>;IGNORE;IGNORE -<U3090> <U30F0>;<U3090>;IGNORE;IGNORE -<U30F1> <U30F1>;<U30F1>;IGNORE;IGNORE -<U3091> <U30F1>;<U3091>;IGNORE;IGNORE -<U30F2> <U30F2>;<U30F2>;IGNORE;IGNORE -<U3092> <U30F2>;<U3092>;IGNORE;IGNORE -<U30F3> <U30F3>;<U30F3>;IGNORE;IGNORE -<U3093> <U30F3>;<U3093>;IGNORE;IGNORE - -order_end - +% Copy the template from ISO/IEC 14651 +copy "iso14651_t1" END LC_COLLATE LC_CTYPE @@ -2135,9 +75,9 @@ positive_sign "" negative_sign "<U002D>" int_frac_digits 2 frac_digits 2 -p_cs_precedes 1 +p_cs_precedes 0 p_sep_by_space 1 -n_cs_precedes 1 +n_cs_precedes 0 n_sep_by_space 1 p_sign_posn 1 n_sign_posn 1 diff --git a/localedata/locales/hu_HU b/localedata/locales/hu_HU index 95be95b0a3..97e544df6a 100644 --- a/localedata/locales/hu_HU +++ b/localedata/locales/hu_HU @@ -543,8 +543,8 @@ measurement 1 END LC_MEASUREMENT LC_NAME -name_fmt "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/ -<U0025><U006D><U0025><U0074><U0025><U0066>" +name_fmt "<U0025><U0064><U0025><U0074><U0025><U0066><U0025><U0074>/ +<U0025><U006D><U0025><U0074><U0025><U0067>" END LC_NAME LC_ADDRESS diff --git a/localedata/locales/iso14651_t1_common b/localedata/locales/iso14651_t1_common index bf6b63338e..ab36f0ed9f 100644 --- a/localedata/locales/iso14651_t1_common +++ b/localedata/locales/iso14651_t1_common @@ -61,6 +61,7 @@ script <CYRIL> script <ARMENIAN> script <GEORGIAN> script <DEVANAGARI> +script <GUJARATI> # Déclaration des symboles internes / Declaration of internal symbols # @@ -474,84 +475,84 @@ collating-symbol <GEORG-FI> collating-symbol <NUM> collating-symbol <NKT> collating-symbol <dv-abbrevation> -collating-symbol <dom> -collating-symbol <dvw-shorta> -collating-symbol <dvw-a> -collating-symbol <dvw-aa> -collating-symbol <dvw-i> -collating-symbol <dvw-ii> -collating-symbol <dvw-u> -collating-symbol <dvw-uu> -collating-symbol <dvw-vocalicr> -collating-symbol <dvw-vocalicrr> -collating-symbol <dvw-vocalicl> -collating-symbol <dvw-vocalicll> -collating-symbol <dvw-candrae> -collating-symbol <dvw-shorte> -collating-symbol <dvw-e> -collating-symbol <dvw-ai> -collating-symbol <dvw-candrao> -collating-symbol <dvw-shorto> -collating-symbol <dvw-o> -collating-symbol <dvw-au> -collating-symbol <d_ka> -collating-symbol <d_kha> -collating-symbol <d_ga> -collating-symbol <d_gga> -collating-symbol <d_gha> -collating-symbol <d_nga> -collating-symbol <d_ca> -collating-symbol <d_cha> -collating-symbol <d_ja> -collating-symbol <d_jja> -collating-symbol <d_jha> -collating-symbol <d_nya> -collating-symbol <d_tta> -collating-symbol <d_ttha> -collating-symbol <d_dda> -collating-symbol <d_ddda> -collating-symbol <d_ddha> -collating-symbol <d_nna> -collating-symbol <d_ta> -collating-symbol <d_tha> -collating-symbol <d_da> -collating-symbol <d_dha> -collating-symbol <d_na> -collating-symbol <d_pa> -collating-symbol <d_pha> -collating-symbol <d_ba> +collating-symbol <dom> +collating-symbol <dvw-shorta> +collating-symbol <dvw-a> +collating-symbol <dvw-aa> +collating-symbol <dvw-i> +collating-symbol <dvw-ii> +collating-symbol <dvw-u> +collating-symbol <dvw-uu> +collating-symbol <dvw-vocalicr> +collating-symbol <dvw-vocalicrr> +collating-symbol <dvw-vocalicl> +collating-symbol <dvw-vocalicll> +collating-symbol <dvw-candrae> +collating-symbol <dvw-shorte> +collating-symbol <dvw-e> +collating-symbol <dvw-ai> +collating-symbol <dvw-candrao> +collating-symbol <dvw-shorto> +collating-symbol <dvw-o> +collating-symbol <dvw-au> +collating-symbol <d_ka> +collating-symbol <d_kha> +collating-symbol <d_ga> +collating-symbol <d_gga> +collating-symbol <d_gha> +collating-symbol <d_nga> +collating-symbol <d_ca> +collating-symbol <d_cha> +collating-symbol <d_ja> +collating-symbol <d_jja> +collating-symbol <d_jha> +collating-symbol <d_nya> +collating-symbol <d_tta> +collating-symbol <d_ttha> +collating-symbol <d_dda> +collating-symbol <d_ddda> +collating-symbol <d_ddha> +collating-symbol <d_nna> +collating-symbol <d_ta> +collating-symbol <d_tha> +collating-symbol <d_da> +collating-symbol <d_dha> +collating-symbol <d_na> +collating-symbol <d_pa> +collating-symbol <d_pha> +collating-symbol <d_ba> collating-symbol <d_bba> -collating-symbol <d_bha> -collating-symbol <d_ma> -collating-symbol <d_ya> -collating-symbol <d_ra> -collating-symbol <d_la> -collating-symbol <d_lla> -collating-symbol <d_va> -collating-symbol <d_sha> -collating-symbol <d_ssa> -collating-symbol <d_sa> -collating-symbol <d_ha> -collating-symbol <d_avagrah> -collating-symbol <d_glo-stop> -collating-symbol <dm-aa> -collating-symbol <dm-i> -collating-symbol <dm-ii> -collating-symbol <dm-u> +collating-symbol <d_bha> +collating-symbol <d_ma> +collating-symbol <d_ya> +collating-symbol <d_ra> +collating-symbol <d_la> +collating-symbol <d_lla> +collating-symbol <d_va> +collating-symbol <d_sha> +collating-symbol <d_ssa> +collating-symbol <d_sa> +collating-symbol <d_ha> +collating-symbol <d_avagrah> +collating-symbol <d_glo-stop> +collating-symbol <dm-aa> +collating-symbol <dm-i> +collating-symbol <dm-ii> +collating-symbol <dm-u> collating-symbol <dm-uu> -collating-symbol <dm-vocalicr> -collating-symbol <dm-vocalicrr> -collating-symbol <dm-vocalicl> -collating-symbol <dm-vocalicll> -collating-symbol <dm-candrae> -collating-symbol <dm-shorte> -collating-symbol <dm-e> -collating-symbol <dm-ai> -collating-symbol <dm-candrao> -collating-symbol <dm-shorto> -collating-symbol <dm-o> -collating-symbol <dm-au> -collating-symbol <dvd-anuswara> +collating-symbol <dm-vocalicr> +collating-symbol <dm-vocalicrr> +collating-symbol <dm-vocalicl> +collating-symbol <dm-vocalicll> +collating-symbol <dm-candrae> +collating-symbol <dm-shorte> +collating-symbol <dm-e> +collating-symbol <dm-ai> +collating-symbol <dm-candrao> +collating-symbol <dm-shorto> +collating-symbol <dm-o> +collating-symbol <dm-au> +collating-symbol <dvd-anuswara> collating-symbol <dvd-chandrabindu> collating-symbol <dvd-visarg> collating-symbol <d_halant> @@ -560,6 +561,96 @@ collating-symbol <d_anudatta> collating-symbol <dv-grave> collating-symbol <dv-acute> +#<GUJARATI> +# +# Added Akhand Characters in sorting as per requirement of mr_IN +# gvd- denotes vowel modifier +# gm- denotes matras +# gvw- denotes vowels +# <GNKT> denotes Nukta characters + +collating-element <gu-ksha> from "<U0A95><U0ACD><U0AB7>" +collating-element <gu-dnya> from "<U0A9C><U0ACD><U0A9E>" +collating-element <gu-shra> from "<U0AB6><U0ACD><U0AB0>" +collating-element <gu-tra> from "<U0AA4><U0ACD><U0AB0>" + +# defning symbols +collating-symbol <GNKT> +collating-symbol <gom> +collating-symbol <gvw-a> +collating-symbol <gvw-aa> +collating-symbol <gvw-i> +collating-symbol <gvw-ii> +collating-symbol <gvw-u> +collating-symbol <gvw-uu> +collating-symbol <gvw-vocalicr> +collating-symbol <gvw-vocalicrr> +collating-symbol <gvw-vocalicl> +collating-symbol <gvw-vocalicll> +collating-symbol <gvw-candrae> +collating-symbol <gvw-e> +collating-symbol <gvw-ai> +collating-symbol <gvw-candrao> +collating-symbol <gvw-o> +collating-symbol <gvw-au> +collating-symbol <g-ka> +collating-symbol <g-kha> +collating-symbol <g-ga> +collating-symbol <g-gha> +collating-symbol <g-nga> +collating-symbol <g-ca> +collating-symbol <g-cha> +collating-symbol <g-ja> +collating-symbol <g-jha> +collating-symbol <g-nya> +collating-symbol <g-tta> +collating-symbol <g-ttha> +collating-symbol <g-dda> +collating-symbol <g-ddha> +collating-symbol <g-nna> +collating-symbol <g-ta> +collating-symbol <g-tha> +collating-symbol <g-da> +collating-symbol <g-dha> +collating-symbol <g-na> +collating-symbol <g-pa> +collating-symbol <g-pha> +collating-symbol <g-ba> +collating-symbol <g-bha> +collating-symbol <g-ma> +collating-symbol <g-ya> +collating-symbol <g-ra> +collating-symbol <g-la> +collating-symbol <g-lla> +collating-symbol <g-va> +collating-symbol <g-sha> +collating-symbol <g-ssa> +collating-symbol <g-sa> +collating-symbol <g-ha> +collating-symbol <g-ksha> +collating-symbol <g-dnya> +collating-symbol <g-shra> +collating-symbol <g-tra> +collating-symbol <g-avagrah> +collating-symbol <gm-aa> +collating-symbol <gm-i> +collating-symbol <gm-ii> +collating-symbol <gm-u> +collating-symbol <gm-uu> +collating-symbol <gm-vocalicr> +collating-symbol <gm-vocalicrr> +collating-symbol <gm-vocalicl> +collating-symbol <gm-vocalicll> +collating-symbol <gm-candrae> +collating-symbol <gm-e> +collating-symbol <gm-ai> +collating-symbol <gm-candrao> +collating-symbol <gm-o> +collating-symbol <gm-au> +collating-symbol <gvd-anuswara> +collating-symbol <gvd-chandrabindu> +collating-symbol <gvd-visarg> +collating-symbol <g-halant> # Ordre des symboles internes / Order of internal symbols # @@ -983,87 +1074,168 @@ collating-symbol <dv-acute> <dv-grave> <dv-acute> <dv-abbrevation> -<dom> -<dvw-shorta> -<dvw-a> -<dvw-aa> -<dvw-i> -<dvw-ii> -<dvw-u> -<dvw-uu> -<dvw-vocalicr> -<dvw-vocalicrr> -<dvw-vocalicl> -<dvw-vocalicll> -<dvw-candrae> -<dvw-shorte> -<dvw-e> -<dvw-ai> -<dvw-candrao> -<dvw-shorto> -<dvw-o> -<dvw-au> -<d_ka> -<d_kha> -<d_ga> -<d_gga> -<d_gha> -<d_nga> -<d_ca> -<d_cha> -<d_ja> -<d_jja> -<d_jha> -<d_nya> -<d_tta> -<d_ttha> -<d_dda> -<d_ddda> -<d_ddha> -<d_nna> -<d_ta> -<d_tha> -<d_da> -<d_dha> -<d_na> -<d_pa> -<d_pha> -<d_ba> +<dom> +<dvw-shorta> +<dvw-a> +<dvw-aa> +<dvw-i> +<dvw-ii> +<dvw-u> +<dvw-uu> +<dvw-vocalicr> +<dvw-vocalicrr> +<dvw-vocalicl> +<dvw-vocalicll> +<dvw-candrae> +<dvw-shorte> +<dvw-e> +<dvw-ai> +<dvw-candrao> +<dvw-shorto> +<dvw-o> +<dvw-au> +<d_ka> +<d_kha> +<d_ga> +<d_gga> +<d_gha> +<d_nga> +<d_ca> +<d_cha> +<d_ja> +<d_jja> +<d_jha> +<d_nya> +<d_tta> +<d_ttha> +<d_dda> +<d_ddda> +<d_ddha> +<d_nna> +<d_ta> +<d_tha> +<d_da> +<d_dha> +<d_na> +<d_pa> +<d_pha> +<d_ba> <d_bba> -<d_bha> -<d_ma> -<d_ya> -<d_ra> -<d_la> -<d_lla> -<d_va> -<d_sha> -<d_ssa> -<d_sa> -<d_ha> -<d_avagrah> -<d_glo-stop> -<dm-aa> -<dm-i> -<dm-ii> -<dm-u> +<d_bha> +<d_ma> +<d_ya> +<d_ra> +<d_la> +<d_lla> +<d_va> +<d_sha> +<d_ssa> +<d_sa> +<d_ha> +<d_avagrah> +<d_glo-stop> +<dm-aa> +<dm-i> +<dm-ii> +<dm-u> <dm-uu> -<dm-vocalicr> -<dm-vocalicrr> -<dm-vocalicl> -<dm-vocalicll> -<dm-candrae> -<dm-shorte> -<dm-e> -<dm-ai> -<dm-candrao> -<dm-shorto> -<dm-o> -<dm-au> +<dm-vocalicr> +<dm-vocalicrr> +<dm-vocalicl> +<dm-vocalicll> +<dm-candrae> +<dm-shorte> +<dm-e> +<dm-ai> +<dm-candrao> +<dm-shorto> +<dm-o> +<dm-au> <dvd-anuswara> <dvd-chandrabindu> <dvd-visarg> <d_halant> +# +# <GUJARATI> +# +# collation weights in order + +<GNKT> +<gom> +<gvw-a> +<gvw-aa> +<gvw-i> +<gvw-ii> +<gvw-u> +<gvw-uu> +<gvw-vocalicr> +<gvw-vocalicrr> +<gvw-vocalicl> +<gvw-vocalicll> +<gvw-candrae> +<gvw-e> +<gvw-ai> +<gvw-candrao> +<gvw-o> +<gvw-au> +<g-ka> +<g-kha> +<g-ga> +<g-gha> +<g-nga> +<g-ca> +<g-cha> +<g-ja> +<g-jha> +<g-nya> +<g-tta> +<g-ttha> +<g-dda> +<g-ddha> +<g-nna> +<g-ta> +<g-tha> +<g-da> +<g-dha> +<g-na> +<g-pa> +<g-pha> +<g-ba> +<g-bha> +<g-ma> +<g-ya> +<g-ra> +<g-la> +<g-lla> +<g-va> +<g-sha> +<g-ssa> +<g-sa> +<g-ha> +<g-ksha> +<g-dnya> +<g-shra> +<g-tra> +<g-avagrah> +<gm-aa> +<gm-i> +<gm-ii> +<gm-u> +<gm-uu> +<gm-vocalicr> +<gm-vocalicrr> +<gm-vocalicl> +<gm-vocalicll> +<gm-candrae> +<gm-e> +<gm-ai> +<gm-candrao> +<gm-o> +<gm-au> +<gvd-anuswara> +<gvd-chandrabindu> +<gvd-visarg> +<g-halant> order_start <SPECIAL>;forward;backward;forward;forward,position # @@ -1899,11 +2071,11 @@ endif <U0160> <s>;<CAR>;<CAP>;IGNORE # 742 <S<> <U015E> <s>;<CDI>;<CAP>;IGNORE # 743 <S,> <U0218> <s>;<CDI>;<CAP>;IGNORE # 744 Ș -<U1E60> <r>;<PCT>;<CAP>;IGNORE # 745 Ṡ -<U1E62> <r>;<BPT>;<CAP>;IGNORE # 746 Ṣ -<U1E64> <r>;<ACA>;<CAP>;<PCT> # 747 Ṥ -<U1E66> <r>;<CAR>;<CAP>;<PCT> # 748 Ṧ -<U1E68> <r>;<BPT>;<CAP>;<PCT> # 749 Ṩ +<U1E60> <s>;<PCT>;<CAP>;IGNORE # 745 Ṡ +<U1E62> <s>;<BPT>;<CAP>;IGNORE # 746 Ṣ +<U1E64> <s>;<ACA>;<CAP>;<PCT> # 747 Ṥ +<U1E66> <s>;<CAR>;<CAP>;<PCT> # 748 Ṧ +<U1E68> <s>;<BPT>;<CAP>;<PCT> # 749 Ṩ <U0054> <t>;<BAS>;<CAP>;IGNORE # 750 T <U0164> <t>;<CAR>;<CAP>;IGNORE # 751 <T<> <U0166> <t>;<OBL>;<CAP>;IGNORE # 752 <T//> @@ -2843,104 +3015,192 @@ order_start <DEVANAGARI>;forward;forward;forward;forward,position <U096D> <7>;"<BAS><NUM>";"<MIN><MIN>";IGNORE <U096E> <8>;"<BAS><NUM>";"<MIN><MIN>";IGNORE <U096F> <9>;"<BAS><NUM>";"<MIN><MIN>";IGNORE -<U0950> <dom> ;<BAS>;<MIN>;IGNORE +<U0950> <dom> ;<BAS>;<MIN>;IGNORE <U0904> <dvw-shorta> ;<BAS>;<MIN>;IGNORE <U0905> <dvw-a> ;<BAS>;<MIN>;IGNORE <U0906> <dvw-aa> ;<BAS>;<MIN>;IGNORE <U0907> <dvw-i> ;<BAS>;<MIN>;IGNORE <U0908> <dvw-ii> ;<BAS>;<MIN>;IGNORE <U0909> <dvw-u> ;<BAS>;<MIN>;IGNORE -<U090A> <dvw-uu>;<BAS>;<MIN>;IGNORE -<U090B> <dvw-vocalicr>;<BAS>;<MIN>;IGNORE -<U0960> <dvw-vocalicrr>;<BAS>;<MIN>;IGNORE -<U090C> <dvw-vocalicl>;<BAS>;<MIN>;IGNORE -<U0961> <dvw-vocalicll>;<BAS>;<MIN>;IGNORE -<U090D> <dvw-candrae>;<BAS>;<MIN>;IGNORE -<U090E> <dvw-shorte>;<BAS>;<MIN>;IGNORE -<U090F> <dvw-e>;<BAS>;<MIN>;IGNORE -<U0910> <dvw-ai>;<BAS>;<MIN>;IGNORE -<U0911> <dvw-candrao>;<BAS>;<MIN>;IGNORE -<U0912> <dvw-shorto>;<BAS>;<MIN>;IGNORE -<U0913> <dvw-o>;<BAS>;<MIN>;IGNORE +<U090A> <dvw-uu>;<BAS>;<MIN>;IGNORE +<U090B> <dvw-vocalicr>;<BAS>;<MIN>;IGNORE +<U0960> <dvw-vocalicrr>;<BAS>;<MIN>;IGNORE +<U090C> <dvw-vocalicl>;<BAS>;<MIN>;IGNORE +<U0961> <dvw-vocalicll>;<BAS>;<MIN>;IGNORE +<U090D> <dvw-candrae>;<BAS>;<MIN>;IGNORE +<U090E> <dvw-shorte>;<BAS>;<MIN>;IGNORE +<U090F> <dvw-e>;<BAS>;<MIN>;IGNORE +<U0910> <dvw-ai>;<BAS>;<MIN>;IGNORE +<U0911> <dvw-candrao>;<BAS>;<MIN>;IGNORE +<U0912> <dvw-shorto>;<BAS>;<MIN>;IGNORE +<U0913> <dvw-o>;<BAS>;<MIN>;IGNORE <U0914> <dvw-au>;<BAS>;<MIN>;IGNORE -<U0915> <d_ka>;<BAS>;<MIN>;IGNORE -<U0958> <d_ka>;"<BAS><NKT>";"<MIN><MIN>";IGNORE -<U0916> <d_kha>;<BAS>;<MIN>;IGNORE -<U0959> <d_kha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE -<U0917> <d_ga>;<BAS>;<MIN>;IGNORE -<U095A> <d_ga>;"<BAS><NKT>";"<MIN><MIN>";IGNORE -<U097B> <d_gga>;<BAS>;<MIN>;IGNORE +<U0915> <d_ka>;<BAS>;<MIN>;IGNORE +<U0958> <d_ka>;"<BAS><NKT>";"<MIN><MIN>";IGNORE +<U0916> <d_kha>;<BAS>;<MIN>;IGNORE +<U0959> <d_kha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE +<U0917> <d_ga>;<BAS>;<MIN>;IGNORE +<U095A> <d_ga>;"<BAS><NKT>";"<MIN><MIN>";IGNORE +<U097B> <d_gga>;<BAS>;<MIN>;IGNORE <U0918> <d_gha>;<BAS>;<MIN>;IGNORE -<U0919> <d_nga>;<BAS>;<MIN>;IGNORE -<U091A> <d_ca>;<BAS>;<MIN>;IGNORE -<U091B> <d_cha>;<BAS>;<MIN>;IGNORE -<U091C> <d_ja>;<BAS>;<MIN>;IGNORE -<U095B> <d_ja>;"<BAS><NKT>";"<MIN><MIN>";IGNORE -<U097C> <d_jja>;<BAS>;<MIN>;IGNORE -<U091D> <d_jha>;<BAS>;<MIN>;IGNORE -<U091E> <d_nya>;<BAS>;<MIN>;IGNORE -<U091F> <d_tta>;<BAS>;<MIN>;IGNORE -<U0920> <d_ttha>;<BAS>;<MIN>;IGNORE -<U0921> <d_dda>;<BAS>;<MIN>;IGNORE +<U0919> <d_nga>;<BAS>;<MIN>;IGNORE +<U091A> <d_ca>;<BAS>;<MIN>;IGNORE +<U091B> <d_cha>;<BAS>;<MIN>;IGNORE +<U091C> <d_ja>;<BAS>;<MIN>;IGNORE +<U095B> <d_ja>;"<BAS><NKT>";"<MIN><MIN>";IGNORE +<U097C> <d_jja>;<BAS>;<MIN>;IGNORE +<U091D> <d_jha>;<BAS>;<MIN>;IGNORE +<U091E> <d_nya>;<BAS>;<MIN>;IGNORE +<U091F> <d_tta>;<BAS>;<MIN>;IGNORE +<U0920> <d_ttha>;<BAS>;<MIN>;IGNORE +<U0921> <d_dda>;<BAS>;<MIN>;IGNORE <U095C> <d_dda>;"<BAS><NKT>";"<MIN><MIN>";IGNORE -<U097E> <d_ddda>;<BAS>;<MIN>;IGNORE -<U0922> <d_ddha>;<BAS>;<MIN>;IGNORE +<U097E> <d_ddda>;<BAS>;<MIN>;IGNORE +<U0922> <d_ddha>;<BAS>;<MIN>;IGNORE <U095D> <d_ddha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE -<U0923> <d_nna>;<BAS>;<MIN>;IGNORE -<U0924> <d_ta>;<BAS>;<MIN>;IGNORE -<U0925> <d_tha>;<BAS>;<MIN>;IGNORE -<U0926> <d_da>;<BAS>;<MIN>;IGNORE -<U0927> <d_dha>;<BAS>;<MIN>;IGNORE -<U0928> <d_na>;<BAS>;<MIN>;IGNORE +<U0923> <d_nna>;<BAS>;<MIN>;IGNORE +<U0924> <d_ta>;<BAS>;<MIN>;IGNORE +<U0925> <d_tha>;<BAS>;<MIN>;IGNORE +<U0926> <d_da>;<BAS>;<MIN>;IGNORE +<U0927> <d_dha>;<BAS>;<MIN>;IGNORE +<U0928> <d_na>;<BAS>;<MIN>;IGNORE <U0929> <d_na>;"<BAS><NKT>";"<MIN><MIN>";IGNORE -<U092A> <d_pa>;<BAS>;<MIN>;IGNORE -<U092B> <d_pha>;<BAS>;<MIN>;IGNORE +<U092A> <d_pa>;<BAS>;<MIN>;IGNORE +<U092B> <d_pha>;<BAS>;<MIN>;IGNORE <U095E> <d_pha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE -<U092C> <d_ba>;<BAS>;<MIN>;IGNORE -<U097F> <d_bba>;<BAS>;<MIN>;IGNORE -<U092D> <d_bha>;<BAS>;<MIN>;IGNORE -<U092E> <d_ma>;<BAS>;<MIN>;IGNORE -<U092F> <d_ya>;<BAS>;<MIN>;IGNORE +<U092C> <d_ba>;<BAS>;<MIN>;IGNORE +<U097F> <d_bba>;<BAS>;<MIN>;IGNORE +<U092D> <d_bha>;<BAS>;<MIN>;IGNORE +<U092E> <d_ma>;<BAS>;<MIN>;IGNORE +<U092F> <d_ya>;<BAS>;<MIN>;IGNORE <U095F> <d_ya>;"<BAS><NKT>";"<MIN><MIN>";IGNORE -<U0930> <d_ra>;<BAS>;<MIN>;IGNORE +<U0930> <d_ra>;<BAS>;<MIN>;IGNORE <U0931> <d_ra>;"<BAS><NKT>";"<MIN><MIN>";IGNORE -<U0932> <d_la>;<BAS>;<MIN>;IGNORE -<U0933> <d_lla>;<BAS>;<MIN>;IGNORE +<U0932> <d_la>;<BAS>;<MIN>;IGNORE +<U0933> <d_lla>;<BAS>;<MIN>;IGNORE <U0934> <d_lla>;"<BAS><NKT>";"<MIN><MIN>";IGNORE -<U0935> <d_va>;<BAS>;<MIN>;IGNORE -<U0936> <d_sha>;<BAS>;<MIN>;IGNORE -<U0937> <d_ssa>;<BAS>;<MIN>;IGNORE -<U0938> <d_sa>;<BAS>;<MIN>;IGNORE -<U0939> <d_ha>;<BAS>;<MIN>;IGNORE -<U093D> <d_avagrah>;<BAS>;<MIN>;IGNORE -<U097D> <d_glo-stop>;<BAS>;<MIN>;IGNORE -<U093E> <dm-aa>;<BAS>;<MIN>;IGNORE -<U093F> <dm-i>;<BAS>;<MIN>;IGNORE -<U0940> <dm-ii>;<BAS>;<MIN>;IGNORE -<U0941> <dm-u>;<BAS>;<MIN>;IGNORE +<U0935> <d_va>;<BAS>;<MIN>;IGNORE +<U0936> <d_sha>;<BAS>;<MIN>;IGNORE +<U0937> <d_ssa>;<BAS>;<MIN>;IGNORE +<U0938> <d_sa>;<BAS>;<MIN>;IGNORE +<U0939> <d_ha>;<BAS>;<MIN>;IGNORE +<U093D> <d_avagrah>;<BAS>;<MIN>;IGNORE +<U097D> <d_glo-stop>;<BAS>;<MIN>;IGNORE +<U093E> <dm-aa>;<BAS>;<MIN>;IGNORE +<U093F> <dm-i>;<BAS>;<MIN>;IGNORE +<U0940> <dm-ii>;<BAS>;<MIN>;IGNORE +<U0941> <dm-u>;<BAS>;<MIN>;IGNORE <U0942> <dm-uu>;<BAS>;<MIN>;IGNORE -<U0943> <dm-vocalicr>;<BAS>;<MIN>;IGNORE -<U0944> <dm-vocalicrr>;<BAS>;<MIN>;IGNORE -<U0962> <dm-vocalicl>;<BAS>;<MIN>;IGNORE -<U0963> <dm-vocalicll>;<BAS>;<MIN>;IGNORE -<U0945> <dm-candrae>;<BAS>;<MIN>;IGNORE -<U0946> <dm-shorte>;<BAS>;<MIN>;IGNORE -<U0947> <dm-e>;<BAS>;<MIN>;IGNORE -<U0948> <dm-ai>;<BAS>;<MIN>;IGNORE -<U0949> <dm-candrao>;<BAS>;<MIN>;IGNORE -<U094A> <dm-shorto>;<BAS>;<MIN>;IGNORE -<U094B> <dm-o>;<BAS>;<MIN>;IGNORE -<U094C> <dm-au>;<BAS>;<MIN>;IGNORE +<U0943> <dm-vocalicr>;<BAS>;<MIN>;IGNORE +<U0944> <dm-vocalicrr>;<BAS>;<MIN>;IGNORE +<U0962> <dm-vocalicl>;<BAS>;<MIN>;IGNORE +<U0963> <dm-vocalicll>;<BAS>;<MIN>;IGNORE +<U0945> <dm-candrae>;<BAS>;<MIN>;IGNORE +<U0946> <dm-shorte>;<BAS>;<MIN>;IGNORE +<U0947> <dm-e>;<BAS>;<MIN>;IGNORE +<U0948> <dm-ai>;<BAS>;<MIN>;IGNORE +<U0949> <dm-candrao>;<BAS>;<MIN>;IGNORE +<U094A> <dm-shorto>;<BAS>;<MIN>;IGNORE +<U094B> <dm-o>;<BAS>;<MIN>;IGNORE +<U094C> <dm-au>;<BAS>;<MIN>;IGNORE <U0902> <dvd-anuswara>;<BAS>;<MIN>;IGNORE <U0901> <dvd-chandrabindu>;<BAS>;<MIN>;IGNORE <U0903> <dvd-visarg>;<BAS>;<MIN>;IGNORE <U094D> <d_halant>;<BAS>;<MIN>;IGNORE -<U093C> IGNORE;<NKT>;<MIN>;IGNORE +<U093C> IGNORE;<NKT>;<MIN>;IGNORE <U0951> IGNORE;<d_udatta>;<MIN>;IGNORE <U0952> IGNORE;<d_anudatta>;<MIN>;IGNORE <U0953> IGNORE;<dv-grave>;<MIN>;IGNORE <U0954> IGNORE;<dv-acute>;<MIN>;IGNORE +order_start <GUJARATI>;forward;forward;forward;forward,position +<U0AE6> <0>;"<BAS><NUM>";"<MIN><MIN>";IGNORE +<U0AE7> <1>;"<BAS><NUM>";"<MIN><MIN>";IGNORE +<U0AE8> <2>;"<BAS><NUM>";"<MIN><MIN>";IGNORE +<U0AE9> <3>;"<BAS><NUM>";"<MIN><MIN>";IGNORE +<U0AEA> <4>;"<BAS><NUM>";"<MIN><MIN>";IGNORE +<U0AEB> <5>;"<BAS><NUM>";"<MIN><MIN>";IGNORE +<U0AEC> <6>;"<BAS><NUM>";"<MIN><MIN>";IGNORE +<U0AED> <7>;"<BAS><NUM>";"<MIN><MIN>";IGNORE +<U0AEE> <8>;"<BAS><NUM>";"<MIN><MIN>";IGNORE +<U0AEF> <9>;"<BAS><NUM>";"<MIN><MIN>";IGNORE +<U0AD0> <gom> ;<BAS>;<MIN>;IGNORE +<U0A85> <gvw-a> ;<BAS>;<MIN>;IGNORE +<U0A86> <gvw-aa> ;<BAS>;<MIN>;IGNORE +<U0A87> <gvw-i> ;<BAS>;<MIN>;IGNORE +<U0A88> <gvw-ii> ;<BAS>;<MIN>;IGNORE +<U0A89> <gvw-u> ;<BAS>;<MIN>;IGNORE +<U0A8A> <gvw-uu>;<BAS>;<MIN>;IGNORE +<U0A8B> <gvw-vocalicr>;<BAS>;<MIN>;IGNORE +<U0AE0> <gvw-vocalicrr>;<BAS>;<MIN>;IGNORE +<U0A8C> <gvw-vocalicl>;<BAS>;<MIN>;IGNORE +<U0AE1> <gvw-vocalicll>;<BAS>;<MIN>;IGNORE +<U0A8D> <gvw-candrae>;<BAS>;<MIN>;IGNORE +<U0A8F> <gvw-e>;<BAS>;<MIN>;IGNORE +<U0A90> <gvw-ai>;<BAS>;<MIN>;IGNORE +<U0A91> <gvw-candrao>;<BAS>;<MIN>;IGNORE +<U0A93> <gvw-o>;<BAS>;<MIN>;IGNORE +<U0A94> <gvw-au>;<BAS>;<MIN>;IGNORE +<U0A95> <g-ka>;<BAS>;<MIN>;IGNORE +<U0A96> <g-kha>;<BAS>;<MIN>;IGNORE +<U0A97> <g-ga>;<BAS>;<MIN>;IGNORE +<U0A98> <g-gha>;<BAS>;<MIN>;IGNORE +<U0A99> <g-nga>;<BAS>;<MIN>;IGNORE +<U0A9A> <g-ca>;<BAS>;<MIN>;IGNORE +<U0A9B> <g-cha>;<BAS>;<MIN>;IGNORE +<U0A9C> <g-ja>;<BAS>;<MIN>;IGNORE +<U0A9D> <g-jha>;<BAS>;<MIN>;IGNORE +<U0A9E> <g-nya>;<BAS>;<MIN>;IGNORE +<U0A9F> <g-tta>;<BAS>;<MIN>;IGNORE +<U0AA0> <g-ttha>;<BAS>;<MIN>;IGNORE +<U0AA1> <g-dda>;<BAS>;<MIN>;IGNORE +<U0AA2> <g-ddha>;<BAS>;<MIN>;IGNORE +<U0AA3> <g-nna>;<BAS>;<MIN>;IGNORE +<U0AA4> <g-ta>;<BAS>;<MIN>;IGNORE +<U0AA5> <g-tha>;<BAS>;<MIN>;IGNORE +<U0AA6> <g-da>;<BAS>;<MIN>;IGNORE +<U0AA7> <g-dha>;<BAS>;<MIN>;IGNORE +<U0AA8> <g-na>;<BAS>;<MIN>;IGNORE +<U0AAA> <g-pa>;<BAS>;<MIN>;IGNORE +<U0AAB> <g-pha>;<BAS>;<MIN>;IGNORE +<U0AAC> <g-ba>;<BAS>;<MIN>;IGNORE +<U0AAD> <g-bha>;<BAS>;<MIN>;IGNORE +<U0AAE> <g-ma>;<BAS>;<MIN>;IGNORE +<U0AAF> <g-ya>;<BAS>;<MIN>;IGNORE +<U0AB0> <g-ra>;<BAS>;<MIN>;IGNORE +<U0AB2> <g-la>;<BAS>;<MIN>;IGNORE +<U0AB3> <g-lla>;<BAS>;<MIN>;IGNORE +<U0AB5> <g-va>;<BAS>;<MIN>;IGNORE +<U0AB6> <g-sha>;<BAS>;<MIN>;IGNORE +<U0AB7> <g-ssa>;<BAS>;<MIN>;IGNORE +<U0AB8> <g-sa>;<BAS>;<MIN>;IGNORE +<U0AB9> <g-ha>;<BAS>;<MIN>;IGNORE +<gu-ksha> <g-ksha>;<BAS>;<MIN>;IGNORE +<gu-dnya> <g-dnya>;<BAS>;<MIN>;IGNORE +<gu-shra> <g-shra>;<BAS>;<MIN>;IGNORE +<gu-tra> <g-tra>;<BAS>;<MIN>;IGNORE +<U0ABD> <g-avagrah>;<BAS>;<MIN>;IGNORE +<U0ABE> <gm-aa>;<BAS>;<MIN>;IGNORE +<U0ABF> <gm-i>;<BAS>;<MIN>;IGNORE +<U0AC0> <gm-ii>;<BAS>;<MIN>;IGNORE +<U0AC1> <gm-u>;<BAS>;<MIN>;IGNORE +<U0AC2> <gm-uu>;<BAS>;<MIN>;IGNORE +<U0AC3> <gm-vocalicr>;<BAS>;<MIN>;IGNORE +<U0AC4> <gm-vocalicrr>;<BAS>;<MIN>;IGNORE +<U0AE2> <gm-vocalicl>;<BAS>;<MIN>;IGNORE +<U0AE3> <gm-vocalicll>;<BAS>;<MIN>;IGNORE +<U0AC5> <gm-candrae>;<BAS>;<MIN>;IGNORE +<U0AC7> <gm-e>;<BAS>;<MIN>;IGNORE +<U0AC8> <gm-ai>;<BAS>;<MIN>;IGNORE +<U0AC9> <gm-candrao>;<BAS>;<MIN>;IGNORE +<U0ACB> <gm-o>;<BAS>;<MIN>;IGNORE +<U0ACC> <gm-au>;<BAS>;<MIN>;IGNORE +<U0A82> <gvd-anuswara>;<BAS>;<MIN>;IGNORE +<U0A81> <gvd-chandrabindu>;<BAS>;<MIN>;IGNORE +<U0A83> <gvd-visarg>;<BAS>;<MIN>;IGNORE +<U0ACD> <g-halant>;<BAS>;<MIN>;IGNORE +<U0ABC> IGNORE;<GNKT>;<MIN>;IGNORE + order_end END LC_COLLATE diff --git a/malloc/mtrace.pl b/malloc/mtrace.pl index 5e5e1ea0ab..782861129f 100644 --- a/malloc/mtrace.pl +++ b/malloc/mtrace.pl @@ -1,5 +1,5 @@ #! @PERL@ -eval "exec @PERL@ -S $0 $*" +eval "exec @PERL@ -S $0 $@" if 0; # Copyright (C) 1997-2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This file is part of the GNU C Library. diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 528e42840e..5fda52a60d 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,10 @@ +2008-04-08 Jakub Jelinek <jakub@redhat.com> + + [BZ #6020] + * sysdeps/unix/sysv/linux/sparc/lowlevellock.h + (lll_futex_wake_unlock): Add private argument to the pre-v9 macro. + Patch by Sunil Amitkumar Janki <devel.sjanki@gmail.com>. + 2008-03-27 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/bits/local_lim.h: Undefined ARG_MAX if diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h index f4512b2622..754a0f51fe 100644 --- a/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h +++ b/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek <jakub@redhat.com>, 2003. @@ -120,7 +120,7 @@ /* Returns non-zero if error happened, zero if success. */ #ifdef __sparc32_atomic_do_lock /* Avoid FUTEX_WAKE_OP if supporting pre-v9 CPUs. */ -# define lll_futex_wake_unlock(futexp, nr_wake, nr_wake2, futexp2) 1 +# define lll_futex_wake_unlock(futexp, nr_wake, nr_wake2, futexp2, private) 1 #else # define lll_futex_wake_unlock(futexp, nr_wake, nr_wake2, futexp2, private) \ ({ \ diff --git a/nscd/nscd.c b/nscd/nscd.c index 56c42c920a..aa1490936c 100644 --- a/nscd/nscd.c +++ b/nscd/nscd.c @@ -100,7 +100,7 @@ static const struct argp_option options[] = N_("Do not fork and display messages on the current tty") }, { "nthreads", 't', N_("NUMBER"), 0, N_("Start NUMBER threads") }, { "shutdown", 'K', NULL, 0, N_("Shut the server down") }, - { "statistic", 'g', NULL, 0, N_("Print current configuration statistic") }, + { "statistics", 'g', NULL, 0, N_("Print current configuration statistics") }, { "invalidate", 'i', N_("TABLE"), 0, N_("Invalidate the specified cache") }, { "secure", 'S', N_("TABLE,yes"), OPTION_HIDDEN, diff --git a/po/nl.po b/po/nl.po index 418fe74d6b..9fbc5e4c8d 100644 --- a/po/nl.po +++ b/po/nl.po @@ -1,14 +1,15 @@ -# Translation of libc-2.7 to Dutch. -# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. +# Dutch translations for libc. +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the glibc package. # # Elros Cyriatan <cyriatan@fastmail.fm>, 2004. -# Benno Schulenberg <benno@vertaalt.nl>, 2006, 2007. +# Benno Schulenberg <benno@vertaalt.nl>, 2006, 2007, 2008. msgid "" msgstr "" "Project-Id-Version: libc-2.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-10-15 21:18-0700\n" -"PO-Revision-Date: 2007-11-14 21:31+0100\n" +"PO-Revision-Date: 2008-04-05 22:04+0200\n" "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n" "Language-Team: Dutch <vertaling@vrijschrift.org>\n" "MIME-Version: 1.0\n" @@ -322,7 +323,7 @@ msgstr "" "\n" " -?,--help deze hulptekst tonen\n" " --usage een korte gebruikssamenvatting tonen\n" -" -V,--version versie-informatie tonen\n" +" -V,--version programmaversie tonen\n" "\n" "Voor het rapporteren van gebreken in dit programma, zie:\n" " <http://www.gnu.org/software/libc/bugs.html>.\\n" @@ -940,7 +941,7 @@ msgstr "" " -u, --unused ongebruikte directe afhankelijkheden tonen\n" " -v, --verbose breedsprakige uitvoer\n" "\n" -" --version versie-informatie tonen\n" +" --version programmaversie tonen\n" " --help deze hulptekst tonen\n" "\n" "Voor het rapporteren van fouten, zie:\n" @@ -1442,24 +1443,24 @@ msgstr "Teken ligt buiten bereik voor UTF-8" #: locale/programs/charmap-dir.c:59 #, c-format msgid "cannot read character map directory `%s'" -msgstr "kan tekenskaartmap '%s' niet lezen" +msgstr "kan tekensetdefinitiesmap '%s' niet lezen" #: locale/programs/charmap.c:138 #, c-format msgid "character map file `%s' not found" -msgstr "kan tekenskaartbestand '%s' niet vinden" +msgstr "kan tekensetdefinitiebestand '%s' niet vinden" #: locale/programs/charmap.c:195 #, c-format msgid "default character map file `%s' not found" -msgstr "kan standaard-tekenskaartbestand '%s' niet vinden" +msgstr "kan standaard tekensetdefinitiebestand '%s' niet vinden" #: locale/programs/charmap.c:258 #, c-format msgid "character map `%s' is not ASCII compatible, locale not ISO C compliant\n" msgstr "" -"tekenskaart '%s' is niet ASCII-compatibel;\n" -"de locale voldoet niet aan ISO C\n" +"tekensetdefinitie '%s' is niet ASCII-compatibel;\n" +"de taalregio voldoet niet aan ISO C\n" #: locale/programs/charmap.c:337 #, c-format @@ -1722,7 +1723,7 @@ msgstr "%s: syntaxfout" #: locale/programs/ld-collate.c:417 #, c-format msgid "`%.*s' already defined in charmap" -msgstr "'%.*s' is al gedefinieerd in tekenskaart" +msgstr "'%.*s' is al gedefinieerd in tekensetdefinitie" #: locale/programs/ld-collate.c:426 #, c-format @@ -1983,7 +1984,7 @@ msgstr "%s: 'endif' zonder bijpassende 'ifdef' of 'ifndef'" #: locale/programs/ld-ctype.c:439 #, c-format msgid "No character set name specified in charmap" -msgstr "Geen tekensetnaam aangegeven in tekenskaart" +msgstr "Geen tekensetnaam aangegeven in tekensetdefinitie" #: locale/programs/ld-ctype.c:468 #, c-format @@ -2023,7 +2024,7 @@ msgstr "<SP>-teken mag niet in klasse '%s' zitten" #: locale/programs/ld-ctype.c:599 #, c-format msgid "character <SP> not defined in character map" -msgstr "<SP>-teken is niet gedefinieerd in tekenskaart" +msgstr "<SP>-teken is niet gedefinieerd in tekensetdefinitie" #: locale/programs/ld-ctype.c:714 #, c-format @@ -2033,12 +2034,12 @@ msgstr "het aantal items in de cijferscategorie is geen veelvoud van tien" #: locale/programs/ld-ctype.c:763 #, c-format msgid "no input digits defined and none of the standard names in the charmap" -msgstr "er zijn geen invoercijfers gedefinieerd en geen van de standaardnamen zit in de tekenskaart" +msgstr "er zijn geen invoercijfers gedefinieerd en geen van de standaardnamen zit in de tekensetdefinitie" #: locale/programs/ld-ctype.c:828 #, c-format msgid "not all characters used in `outdigit' are available in the charmap" -msgstr "niet alle tekens gebruikt in 'outdigit' zijn beschikbaar in de tekenskaart" +msgstr "niet alle tekens in 'outdigit' zijn beschikbaar in de tekensetdefinitie" #: locale/programs/ld-ctype.c:845 #, c-format @@ -2058,12 +2059,12 @@ msgstr "implementatiegrens: er zijn niet meer dan %Zd tekenklasses toegestaan" #: locale/programs/ld-ctype.c:1277 #, c-format msgid "character map `%s' already defined" -msgstr "tekenskaart '%s' is al gedefinieerd" +msgstr "tekensetdefinitie '%s' is al gedefinieerd" #: locale/programs/ld-ctype.c:1283 #, c-format msgid "implementation limit: no more than %d character maps allowed" -msgstr "implementatiegrens: er zijn niet meer dan %d tekenskaarten toegestaan" +msgstr "implementatiegrens: er zijn niet meer dan %d tekensetdefinities toegestaan" #: locale/programs/ld-ctype.c:1548 locale/programs/ld-ctype.c:1673 #: locale/programs/ld-ctype.c:1779 locale/programs/ld-ctype.c:2471 @@ -2102,7 +2103,7 @@ msgstr "%s: syntaxfout in definitie van nieuwe tekenklasse" #: locale/programs/ld-ctype.c:2318 #, c-format msgid "%s: syntax error in definition of new character map" -msgstr "%s: syntaxfout in definitie van nieuwe tekenskaart" +msgstr "%s: syntaxfout in nieuwe tekensetdefinitie" #: locale/programs/ld-ctype.c:2493 msgid "ellipsis range must be marked by two operands of same type" @@ -2161,7 +2162,7 @@ msgstr "%s: teken '%s' is niet gedefinieerd maar is nodig als standaardwaarde" #: locale/programs/ld-ctype.c:3297 locale/programs/ld-ctype.c:3364 #, c-format msgid "%s: character `%s' in charmap not representable with one byte" -msgstr "%s: teken '%s' in de tekenskaart is niet te representeren met één byte" +msgstr "%s: teken '%s' in de tekensetdefinitie is niet te representeren met één byte" #: locale/programs/ld-ctype.c:3408 locale/programs/ld-ctype.c:3433 #, c-format @@ -2171,12 +2172,12 @@ msgstr "%s: teken '%s' is nodig als standaardwaarde maar niet te representeren m #: locale/programs/ld-ctype.c:3489 #, c-format msgid "no output digits defined and none of the standard names in the charmap" -msgstr "er zijn geen uitvoercijfers gedefinieerd en geen van de standaardnamen zit in de tekenskaart" +msgstr "er zijn geen uitvoercijfers gedefinieerd en geen van de standaardnamen zit in de tekensetdefinitie" #: locale/programs/ld-ctype.c:3780 #, c-format msgid "%s: transliteration data from locale `%s' not available" -msgstr "%s: transliteratiegegevens van locale '%s' zijn niet beschikbaar" +msgstr "%s: transliteratiegegevens van taalregio '%s' zijn niet beschikbaar" #: locale/programs/ld-ctype.c:3881 #, c-format @@ -2380,7 +2381,7 @@ msgstr "niet-symbolische tekenwaarden zouden niet gebruikt moeten worden" #: locale/programs/linereader.c:816 #, c-format msgid "symbol `%.*s' not in charmap" -msgstr "symbool '%.*s' zit niet in de tekenskaart" +msgstr "symbool '%.*s' zit niet in de tekensetdefinitie" #: locale/programs/linereader.c:837 #, c-format @@ -2393,11 +2394,11 @@ msgstr "Systeeminformatie:" #: locale/programs/locale.c:76 msgid "Write names of available locales" -msgstr "namen van beschikbare locales tonen" +msgstr "namen van beschikbare taalregio's tonen" #: locale/programs/locale.c:78 msgid "Write names of available charmaps" -msgstr "namen van beschikbare tekenskaarten tonen" +msgstr "namen van beschikbare tekensetdefinities tonen" #: locale/programs/locale.c:79 msgid "Modify output format:" @@ -2405,15 +2406,15 @@ msgstr "Aanpassing van uitvoer:" #: locale/programs/locale.c:80 msgid "Write names of selected categories" -msgstr "namen van geselecteerde categorieën tonen" +msgstr "namen van de geselecteerde categorieën tonen" #: locale/programs/locale.c:81 msgid "Write names of selected keywords" -msgstr "namen van geselecteerde sleutelwoorden tonen" +msgstr "namen van de geselecteerde sleutelwoorden tonen" #: locale/programs/locale.c:82 msgid "Print more information" -msgstr "breedsprakige uitvoer" +msgstr "uitgebreide uitvoer produceren" #: locale/programs/locale.c:87 msgid "" @@ -2421,7 +2422,7 @@ msgid "" "<http://www.gnu.org/software/libc/bugs.html>.\n" msgstr "" " \n" -"Informatie over locales weergeven.\vVoor het rapporteren van fouten, zie:\n" +"Informatie over taalregio-instellingen weergeven.\vVoor het rapporteren van fouten, zie:\n" " <http://www.gnu.org/software/libc/bugs.html>.\n" #: locale/programs/locale.c:92 @@ -2435,22 +2436,22 @@ msgstr "" #: locale/programs/locale.c:193 #, c-format msgid "Cannot set LC_CTYPE to default locale" -msgstr "Kan LC_TYPE niet op de standaard-locale instellen" +msgstr "Kan LC_TYPE niet op de standaard-taalregio instellen" #: locale/programs/locale.c:195 #, c-format msgid "Cannot set LC_MESSAGES to default locale" -msgstr "Kan LC_MESSAGES niet op de standaard-locale instellen" +msgstr "Kan LC_MESSAGES niet op de standaard-taalregio instellen" #: locale/programs/locale.c:208 #, c-format msgid "Cannot set LC_COLLATE to default locale" -msgstr "Kan LC_COLLATE niet op de standaard-locale instellen" +msgstr "Kan LC_COLLATE niet op de standaard-taalregio instellen" #: locale/programs/locale.c:224 #, c-format msgid "Cannot set LC_ALL to default locale" -msgstr "Kan LC_ALL niet op de standaard-locale instellen" +msgstr "Kan LC_ALL niet op de standaard-taalregio instellen" #: locale/programs/locale.c:500 #, c-format @@ -2507,7 +2508,7 @@ msgstr "geen nieuwe gegevens aan archief toevoegen" #: locale/programs/localedef.c:140 msgid "Add locales named by parameters to archive" -msgstr "genoemde locales aan archief toevoegen" +msgstr "genoemde taalregio's aan archief toevoegen" #: locale/programs/localedef.c:141 msgid "Replace existing archive content" @@ -2515,7 +2516,7 @@ msgstr "bestaande inhoud van archief vervangen" #: locale/programs/localedef.c:143 msgid "Remove locales named by parameters from archive" -msgstr "genoemde locales uit archief verwijderen" +msgstr "genoemde taalregio's uit archief verwijderen" #: locale/programs/localedef.c:144 msgid "List content of archive" @@ -2523,13 +2524,13 @@ msgstr "inhoud van archief weergeven" #: locale/programs/localedef.c:146 msgid "locale.alias file to consult when making archive" -msgstr "te raadplegen aliassenbestand" +msgstr "te raadplegen aliassenbestand tijdens archivering" #: locale/programs/localedef.c:151 msgid "Compile locale specification" msgstr "" " \n" -"Een locale-specificatie compileren." +"De definitie van een taalregio compileren." #: locale/programs/localedef.c:154 msgid "" @@ -2555,7 +2556,7 @@ msgstr "FATAAL: systeem definieert '_POSIX2_LOCALEDEF' niet" #: locale/programs/localedef.c:599 locale/programs/localedef.c:619 #, c-format msgid "cannot open locale definition file `%s'" -msgstr "kan locale-definitiebestand '%s' niet openen" +msgstr "kan taalregiodefinitiebestand '%s' niet openen" #: locale/programs/localedef.c:285 #, c-format @@ -2570,21 +2571,21 @@ msgid "" " locale path : %s\n" "%s" msgstr "" -"Systeemmap voor tekenskaarten : %s\n" -" repertoire-kaarten : %s\n" -" locale-pad : %s\n" +"Systeemmap voor tekensetdefinities: %s\n" +" voor repertoirekaarten: %s\n" +" en het taalregiopad is: %s\n" "\n" "%s" #: locale/programs/localedef.c:567 #, c-format msgid "circular dependencies between locale definitions" -msgstr "circulaire afhankelijkheid tussen locale-definities" +msgstr "circulaire afhankelijkheid tussen taalregiodefinities" #: locale/programs/localedef.c:573 #, c-format msgid "cannot add already read locale `%s' a second time" -msgstr "kan de reeds gelezen locale '%s' niet nogmaals toevoegen" +msgstr "kan de reeds gelezen taalregio '%s' niet nogmaals toevoegen" #: locale/programs/locarchive.c:88 locale/programs/locarchive.c:261 #, c-format @@ -2610,17 +2611,17 @@ msgstr "kan archiefkop niet in het geheugen plaatsen" #: locale/programs/locarchive.c:156 #, c-format msgid "failed to create new locale archive" -msgstr "aanmaken van een nieuw locale-archief is mislukt" +msgstr "aanmaken van een nieuw taalregio-archief is mislukt" #: locale/programs/locarchive.c:168 #, c-format msgid "cannot change mode of new locale archive" -msgstr "kan modus van het nieuwe locale-archief niet wijzigen" +msgstr "kan modus van het nieuwe taalregio-archief niet wijzigen" #: locale/programs/locarchive.c:255 #, c-format msgid "cannot map locale archive file" -msgstr "kan locale-archief niet in het geheugen plaatsen" +msgstr "kan taalregio-archief niet in het geheugen plaatsen" #: locale/programs/locarchive.c:331 #, c-format @@ -2630,12 +2631,12 @@ msgstr "kan nieuwe archief niet vergrendelen" #: locale/programs/locarchive.c:396 #, c-format msgid "cannot extend locale archive file" -msgstr "kan locale-archiefbestand niet uitbreiden" +msgstr "kan taalregio-archiefbestand niet uitbreiden" #: locale/programs/locarchive.c:405 #, c-format msgid "cannot change mode of resized locale archive" -msgstr "kan modus van aangepast locale-archief niet wijzigen" +msgstr "kan modus van aangepast taalregio-archief niet wijzigen" #: locale/programs/locarchive.c:413 #, c-format @@ -2645,17 +2646,17 @@ msgstr "kan nieuwe archief niet hernoemen" #: locale/programs/locarchive.c:466 #, c-format msgid "cannot open locale archive \"%s\"" -msgstr "kan locale-archief '%s' niet openen" +msgstr "kan taalregio-archief '%s' niet openen" #: locale/programs/locarchive.c:471 #, c-format msgid "cannot stat locale archive \"%s\"" -msgstr "kan status van locale-archief '%s' niet opvragen" +msgstr "kan status van taalregio-archief '%s' niet opvragen" #: locale/programs/locarchive.c:490 #, c-format msgid "cannot lock locale archive \"%s\"" -msgstr "kan locale-archief '%s' niet vergrendelen" +msgstr "kan taalregio-archief '%s' niet vergrendelen" #: locale/programs/locarchive.c:513 #, c-format @@ -2665,19 +2666,19 @@ msgstr "kan archiefkop niet lezen" #: locale/programs/locarchive.c:573 #, c-format msgid "locale '%s' already exists" -msgstr "locale '%s' bestaat al" +msgstr "taalregio '%s' bestaat al" #: locale/programs/locarchive.c:804 locale/programs/locarchive.c:819 #: locale/programs/locarchive.c:831 locale/programs/locarchive.c:843 #: locale/programs/locfile.c:344 #, c-format msgid "cannot add to locale archive" -msgstr "kan niet aan locale-archief toevoegen" +msgstr "kan niet aan taalregio-archief toevoegen" #: locale/programs/locarchive.c:998 #, c-format msgid "locale alias file `%s' not found" -msgstr "kan locale-aliassenbestand '%s' niet vinden" +msgstr "kan taalregio-aliassenbestand '%s' niet vinden" #: locale/programs/locarchive.c:1142 #, c-format @@ -2702,7 +2703,7 @@ msgstr "kan map '%s' niet openen: %s -- genegeerd" #: locale/programs/locarchive.c:1233 #, c-format msgid "incomplete set of locale files in \"%s\"" -msgstr "onvolledige verzameling van locale-bestanden in '%s'" +msgstr "onvolledige verzameling van taalregiobestanden in '%s'" #: locale/programs/locarchive.c:1297 #, c-format @@ -2712,7 +2713,7 @@ msgstr "kan niet alle bestanden in '%s' lezen -- genegeerd" #: locale/programs/locarchive.c:1367 #, c-format msgid "locale \"%s\" not in archive" -msgstr "locale '%s' zit niet in archief" +msgstr "taalregio '%s' zit niet in het archief" #: locale/programs/locfile.c:132 #, c-format @@ -2721,7 +2722,7 @@ msgstr "argument van '%s' moet een enkel teken zijn" #: locale/programs/locfile.c:252 msgid "syntax error: not inside a locale definition section" -msgstr "syntaxfout: niet binnen een locale-definitie-sectie" +msgstr "syntaxfout: niet binnen een taalregiodefinitie-sectie" #: locale/programs/locfile.c:626 #, c-format @@ -2744,7 +2745,7 @@ msgstr "argument van 'copy' dient een tekenreeks te zijn" #: locale/programs/locfile.c:786 msgid "locale name should consist only of portable characters" -msgstr "een locale-naam mag alleen uit overdraagbare tekens bestaan" +msgstr "een taalregionaam mag alleen uit overdraagbare tekens bestaan" #: locale/programs/locfile.c:805 msgid "no other keyword shall be specified when `copy' is used" @@ -2880,7 +2881,7 @@ msgstr "" "\n" " -?,--help deze hulptekst tonen\n" " --usage een korte gebruikssamenvatting tonen\n" -" -V,--version versie-informatie tonen\n" +" -V,--version programmaversie tonen\n" "\n" " De volgende opties zijn alleen bij grafische uitvoer van toepassing:\n" " -t,--time-based de grafiek lineair in de tijd maken\n" @@ -4356,59 +4357,59 @@ msgstr "Onbekende variabele '%s'" #: posix/getopt.c:571 posix/getopt.c:587 #, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option `%s' is ambiguous\n" msgstr "%s: optie '%s' is niet eenduidig\n" #: posix/getopt.c:620 posix/getopt.c:624 #, c-format -msgid "%s: option '--%s' doesn't allow an argument\n" +msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: optie '--%s' staat geen argument toe\n" #: posix/getopt.c:633 posix/getopt.c:638 #, c-format -msgid "%s: option '%c%s' doesn't allow an argument\n" +msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: optie '%c%s' staat geen argument toe\n" #: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016 #: posix/getopt.c:1035 #, c-format -msgid "%s: option '%s' requires an argument\n" +msgid "%s: option `%s' requires an argument\n" msgstr "%s: optie '%s' vereist een argument\n" #: posix/getopt.c:738 posix/getopt.c:741 #, c-format -msgid "%s: unrecognized option '--%s'\n" +msgid "%s: unrecognized option `--%s'\n" msgstr "%s: onbekende optie '--%s'\n" #: posix/getopt.c:749 posix/getopt.c:752 #, c-format -msgid "%s: unrecognized option '%c%s'\n" +msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: onbekende optie '%c%s'\n" #: posix/getopt.c:804 posix/getopt.c:807 #, c-format -msgid "%s: illegal option -- '%c'\n" +msgid "%s: illegal option -- %c\n" msgstr "%s: ongeldige optie -- %c\n" #: posix/getopt.c:813 posix/getopt.c:816 #, c-format -msgid "%s: invalid option -- '%c'\n" +msgid "%s: invalid option -- %c\n" msgstr "%s: ongeldige optie -- %c\n" #: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088 #: posix/getopt.c:1106 #, c-format -msgid "%s: option requires an argument -- '%c'\n" +msgid "%s: option requires an argument -- %c\n" msgstr "%s: optie vereist een argument -- %c\n" #: posix/getopt.c:937 posix/getopt.c:953 #, c-format -msgid "%s: option '-W %s' is ambiguous\n" +msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: optie '-W %s' is niet eenduidig\n" #: posix/getopt.c:977 posix/getopt.c:995 #, c-format -msgid "%s: option '-W %s' doesn't allow an argument\n" +msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: optie '-W %s' staat geen argument toe\n" #: posix/regcomp.c:135 @@ -5345,7 +5346,7 @@ msgstr "Onjuist apparaat" #. TRANS A file that isn't a directory was specified when a directory is required. #: sysdeps/gnu/errlist.c:229 msgid "Not a directory" -msgstr "Niet een map" +msgstr "Is geen map" #. TRANS File is a directory; you cannot open a directory for writing, #. TRANS or create or remove hard links to it. diff --git a/posix/getopt.c b/posix/getopt.c index 103f572b07..965bfdd3ac 100644 --- a/posix/getopt.c +++ b/posix/getopt.c @@ -792,30 +792,16 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring, if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO - char *buf; - int n; + char *buf; + int n; #endif - if (d->__posixly_correct) - { -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: illegal option -- '%c'\n"), - argv[0], c); -#else - fprintf (stderr, _("%s: illegal option -- '%c'\n"), argv[0], - c); -#endif - } - else - { #if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: invalid option -- '%c'\n"), - argv[0], c); + n = __asprintf (&buf, _("%s: invalid option -- '%c'\n"), + argv[0], c); #else - fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], - c); + fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c); #endif - } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) diff --git a/resolv/res_init.c b/resolv/res_init.c index d1a5681a93..a2840968f3 100644 --- a/resolv/res_init.c +++ b/resolv/res_init.c @@ -69,22 +69,22 @@ static const char sccsid[] = "@(#)res_init.c 8.1 (Berkeley) 6/7/93"; static const char rcsid[] = "$BINDId: res_init.c,v 8.16 2000/05/09 07:10:12 vixie Exp $"; #endif /* LIBC_SCCS and not lint */ -#include <sys/types.h> -#include <sys/param.h> -#include <sys/socket.h> -#include <sys/time.h> - -#include <netinet/in.h> -#include <arpa/inet.h> -#include <arpa/nameser.h> - #include <ctype.h> +#include <netdb.h> #include <resolv.h> #include <stdio.h> #include <stdio_ext.h> #include <stdlib.h> #include <string.h> #include <unistd.h> +#include <arpa/inet.h> +#include <arpa/nameser.h> +#include <net/if.h> +#include <netinet/in.h> +#include <sys/param.h> +#include <sys/socket.h> +#include <sys/time.h> +#include <sys/types.h> #include <not-cancel.h> @@ -327,15 +327,41 @@ __res_vinit(res_state statp, int preinit) { if ((el = strchr(cp, '\n')) != NULL) *el = '\0'; + if ((el = strchr(cp, SCOPE_DELIMITER)) != NULL) + *el = '\0'; if ((*cp != '\0') && (inet_pton(AF_INET6, cp, &a6) > 0)) { struct sockaddr_in6 *sa6; sa6 = malloc(sizeof(*sa6)); if (sa6 != NULL) { - sa6->sin6_addr = a6; sa6->sin6_family = AF_INET6; sa6->sin6_port = htons(NAMESERVER_PORT); + sa6->sin6_flowinfo = 0; + sa6->sin6_addr = a6; + + if (__builtin_expect (el == NULL, 1)) + sa6->sin6_scope_id = 0; + else { + int try_numericscope = 1; + if (IN6_IS_ADDR_LINKLOCAL (&a6) + || IN6_IS_ADDR_MC_LINKLOCAL (&a6)) { + sa6->sin6_scope_id + = if_nametoindex (el + 1); + if (sa6->sin6_scope_id != 0) + try_numericscope = 0; + } + + if (try_numericscope) { + char *end; + sa6->sin6_scope_id + = (uint32_t) strtoul (el + 1, &end, + 10); + if (*end != '\0') + sa6->sin6_scope_id = 0; + } + } + statp->_u._ext.nsaddrs[nservall] = sa6; statp->_u._ext.nssocks[nservall] = -1; statp->_u._ext.nsmap[nservall] = MAXNS + 1; diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c index d10a5c6a13..ca6343c37f 100644 --- a/stdio-common/vfprintf.c +++ b/stdio-common/vfprintf.c @@ -1513,7 +1513,8 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap) if (prec > width && prec + 32 > (int)(sizeof (work_buffer) / sizeof (work_buffer[0]))) { - if (__builtin_expect (prec > ~((size_t) 0) - 31, 0)) + if (__builtin_expect (prec > ~((size_t) 0) / sizeof (CHAR_T) - 31, + 0)) { done = -1; goto all_done; diff --git a/stdlib/mbtowc.c b/stdlib/mbtowc.c index 744b2b6c0b..ee8850bbc1 100644 --- a/stdlib/mbtowc.c +++ b/stdlib/mbtowc.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1991, 1992, 1995-1999, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1992, 1995-1999, 2002, 2008 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,9 +24,6 @@ #include <wcsmbs/wcsmbsload.h> -/* Common state for all non-restartable conversion functions. */ -mbstate_t __no_r_state attribute_hidden; - /* Convert the multibyte character at S, which is no longer than N characters, to its `wchar_t' representation, placing this n *PWC and returning its length. @@ -38,6 +36,7 @@ int mbtowc (wchar_t *pwc, const char *s, size_t n) { int result; + static mbstate_t state; /* If S is NULL the function has to return null or not null depending on the encoding having a state depending encoding or @@ -51,7 +50,7 @@ mbtowc (wchar_t *pwc, const char *s, size_t n) /* This is an extension in the Unix standard which does not directly violate ISO C. */ - memset (&__no_r_state, '\0', sizeof __no_r_state); + memset (&state, '\0', sizeof state); result = fcts->towc->__stateful; } @@ -63,7 +62,7 @@ mbtowc (wchar_t *pwc, const char *s, size_t n) } else { - result = __mbrtowc (pwc, s, n, &__no_r_state); + result = __mbrtowc (pwc, s, n, &state); /* The `mbrtowc' functions tell us more than we need. Fold the -1 and -2 result into -1. */ diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c index 9c2f86a32b..09a8f9bb3b 100644 --- a/stdlib/strtod_l.c +++ b/stdlib/strtod_l.c @@ -1028,7 +1028,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) if (__builtin_expect (exponent < MIN_10_EXP - (DIG + 1), 0)) { __set_errno (ERANGE); - return 0.0; + return negative ? -0.0 : 0.0; } if (int_no > 0) diff --git a/stdlib/wctomb.c b/stdlib/wctomb.c index 49872f5c6b..3ba8a3e2a7 100644 --- a/stdlib/wctomb.c +++ b/stdlib/wctomb.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1991, 1992, 1995-1999, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1992, 1995-1999, 2002, 2008 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,7 +24,8 @@ #include <wcsmbs/wcsmbsload.h> -extern mbstate_t __no_r_state attribute_hidden; /* Defined in mbtowc.c. */ +/* Shared with __wctomb_chk. */ +mbstate_t __wctomb_state attribute_hidden; /* Convert WCHAR into its multibyte character representation, putting this in S and returning its length. @@ -47,11 +49,11 @@ wctomb (char *s, wchar_t wchar) /* This is an extension in the Unix standard which does not directly violate ISO C. */ - memset (&__no_r_state, '\0', sizeof __no_r_state); + memset (&__wctomb_state, '\0', sizeof __wctomb_state); return fcts->tomb->__stateful; } - return __wcrtomb (s, wchar, &__no_r_state); + return __wcrtomb (s, wchar, &__wctomb_state); } libc_hidden_def (wctomb) diff --git a/string/strfry.c b/string/strfry.c index d392d5526b..d3fcb14bab 100644 --- a/string/strfry.c +++ b/string/strfry.c @@ -26,7 +26,6 @@ strfry (char *string) { static int init; static struct random_data rdata; - size_t len, i; if (!init) { @@ -37,17 +36,18 @@ strfry (char *string) init = 1; } - len = strlen (string) - 1; - for (i = 0; i < len; ++i) - { - int32_t j; - __random_r (&rdata, &j); - j = j % (len - i) + i; - - char c = string[i]; - string[i] = string[j]; - string[j] = c; - } + size_t len = strlen (string); + if (len > 0) + for (size_t i = 0; i < len - 1; ++i) + { + int32_t j; + __random_r (&rdata, &j); + j = j % (len - i) + i; + + char c = string[i]; + string[i] = string[j]; + string[j] = c; + } return string; } diff --git a/sunrpc/auth_unix.c b/sunrpc/auth_unix.c index 3eaf0a25ab..734eb088f3 100644 --- a/sunrpc/auth_unix.c +++ b/sunrpc/auth_unix.c @@ -111,7 +111,7 @@ authunix_create (char *machname, uid_t uid, gid_t gid, int len, if (auth == NULL || au == NULL) { no_memory: - (void) __fxprintf (NULL, "%s", _("authunix_create: out of memory\n")); + (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n")); mem_free (auth, sizeof (*auth)); mem_free (au, sizeof (*au)); return NULL; diff --git a/sunrpc/clnt_tcp.c b/sunrpc/clnt_tcp.c index 5bec3bcf3a..6825ca57ee 100644 --- a/sunrpc/clnt_tcp.c +++ b/sunrpc/clnt_tcp.c @@ -128,7 +128,7 @@ clnttcp_create (struct sockaddr_in *raddr, u_long prog, u_long vers, if (h == NULL || ct == NULL) { struct rpc_createerr *ce = &get_rpc_createerr (); - (void) __fxprintf (NULL, "%s", _("clnttcp_create: out of memory\n")); + (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n")); ce->cf_stat = RPC_SYSTEMERROR; ce->cf_error.re_errno = ENOMEM; goto fooy; diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c index 70ee0eae88..634313211d 100644 --- a/sunrpc/clnt_udp.c +++ b/sunrpc/clnt_udp.c @@ -136,7 +136,8 @@ clntudp_bufcreate (struct sockaddr_in *raddr, u_long program, u_long version, if (cl == NULL || cu == NULL) { struct rpc_createerr *ce = &get_rpc_createerr (); - (void) __fxprintf (NULL, "%s", _("clntudp_create: out of memory\n")); + (void) __fxprintf (NULL, "%s: %s", + "clntudp_create", _("out of memory\n")); ce->cf_stat = RPC_SYSTEMERROR; ce->cf_error.re_errno = ENOMEM; goto fooy; diff --git a/sunrpc/clnt_unix.c b/sunrpc/clnt_unix.c index 848a480581..4107c62294 100644 --- a/sunrpc/clnt_unix.c +++ b/sunrpc/clnt_unix.c @@ -125,7 +125,7 @@ clntunix_create (struct sockaddr_un *raddr, u_long prog, u_long vers, if (h == NULL || ct == NULL) { struct rpc_createerr *ce = &get_rpc_createerr (); - (void) __fxprintf (NULL, "%s", _("clntunix_create: out of memory\n")); + (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n")); ce->cf_stat = RPC_SYSTEMERROR; ce->cf_error.re_errno = ENOMEM; goto fooy; diff --git a/sunrpc/svc_tcp.c b/sunrpc/svc_tcp.c index 539a2b8d98..beeb10646e 100644 --- a/sunrpc/svc_tcp.c +++ b/sunrpc/svc_tcp.c @@ -176,7 +176,7 @@ svctcp_create (int sock, u_int sendsize, u_int recvsize) xprt = (SVCXPRT *) mem_alloc (sizeof (SVCXPRT)); if (r == NULL || xprt == NULL) { - (void) __fxprintf (NULL, "%s", _("svctcp_create: out of memory\n")); + (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n")); mem_free (r, sizeof (*r)); mem_free (xprt, sizeof (SVCXPRT)); return NULL; @@ -214,8 +214,8 @@ makefd_xprt (int fd, u_int sendsize, u_int recvsize) cd = (struct tcp_conn *) mem_alloc (sizeof (struct tcp_conn)); if (xprt == (SVCXPRT *) NULL || cd == NULL) { - (void) __fxprintf (NULL, "%s", - _("svc_tcp: makefd_xprt: out of memory\n")); + (void) __fxprintf (NULL, "%s: %s", "svc_tcp: makefd_xprt", + _("out of memory\n")); mem_free (xprt, sizeof (SVCXPRT)); mem_free (cd, sizeof (struct tcp_conn)); return NULL; diff --git a/sunrpc/svc_udp.c b/sunrpc/svc_udp.c index dfeb6de70f..496d6d9602 100644 --- a/sunrpc/svc_udp.c +++ b/sunrpc/svc_udp.c @@ -149,7 +149,8 @@ svcudp_bufcreate (sock, sendsz, recvsz) buf = mem_alloc (((MAX (sendsz, recvsz) + 3) / 4) * 4); if (xprt == NULL || su == NULL || buf == NULL) { - (void) __fxprintf (NULL, "%s", _("svcudp_create: out of memory\n")); + (void) __fxprintf (NULL, "%s: %s", + "svcudp_create", _("out of memory\n")); mem_free (xprt, sizeof (SVCXPRT)); mem_free (su, sizeof (*su)); mem_free (buf, ((MAX (sendsz, recvsz) + 3) / 4) * 4); diff --git a/sunrpc/svc_unix.c b/sunrpc/svc_unix.c index 1b7b1fbd4f..f103ed96f3 100644 --- a/sunrpc/svc_unix.c +++ b/sunrpc/svc_unix.c @@ -173,7 +173,7 @@ svcunix_create (int sock, u_int sendsize, u_int recvsize, char *path) xprt = (SVCXPRT *) mem_alloc (sizeof (SVCXPRT)); if (r == NULL || xprt == NULL) { - __fxprintf (NULL, "%s", _("svcunix_create: out of memory\n")); + __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n")); mem_free (r, sizeof (*r)); mem_free (xprt, sizeof (SVCXPRT)); return NULL; @@ -211,8 +211,8 @@ makefd_xprt (int fd, u_int sendsize, u_int recvsize) cd = (struct unix_conn *) mem_alloc (sizeof (struct unix_conn)); if (xprt == (SVCXPRT *) NULL || cd == (struct unix_conn *) NULL) { - (void) __fxprintf (NULL, "%s", - _("svc_unix: makefd_xprt: out of memory\n")); + (void) __fxprintf (NULL, "%s: %s", "svc_unix: makefd_xprt", + _("out of memory\n")); mem_free (xprt, sizeof (SVCXPRT)); mem_free (cd, sizeof (struct unix_conn)); return NULL; diff --git a/sunrpc/xdr.c b/sunrpc/xdr.c index 21e339b4ee..8a70d2e557 100644 --- a/sunrpc/xdr.c +++ b/sunrpc/xdr.c @@ -563,7 +563,7 @@ xdr_bytes (xdrs, cpp, sizep, maxsize) } if (sp == NULL) { - (void) __fxprintf (NULL, "%s", _("xdr_bytes: out of memory\n")); + (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n")); return FALSE; } /* fall into ... */ @@ -715,7 +715,7 @@ xdr_string (xdrs, cpp, maxsize) *cpp = sp = (char *) mem_alloc (nodesize); if (sp == NULL) { - (void) __fxprintf (NULL, "%s", _("xdr_string: out of memory\n")); + (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n")); return FALSE; } sp[size] = 0; diff --git a/sunrpc/xdr_array.c b/sunrpc/xdr_array.c index 44abdbcfda..e7c8925f5c 100644 --- a/sunrpc/xdr_array.c +++ b/sunrpc/xdr_array.c @@ -103,7 +103,7 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc) *addrp = target = calloc (c, elsize); if (target == NULL) { - (void) __fxprintf (NULL, "%s", _("xdr_array: out of memory\n")); + (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n")); return FALSE; } break; diff --git a/sunrpc/xdr_rec.c b/sunrpc/xdr_rec.c index e847e9b47c..6854034c63 100644 --- a/sunrpc/xdr_rec.c +++ b/sunrpc/xdr_rec.c @@ -153,7 +153,7 @@ xdrrec_create (XDR *xdrs, u_int sendsize, if (rstrm == NULL || buf == NULL) { - (void) __fxprintf (NULL, "%s", _("xdrrec_create: out of memory\n")); + (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n")); mem_free (rstrm, sizeof (RECSTREAM)); mem_free (buf, sendsize + recvsize + BYTES_PER_XDR_UNIT); /* diff --git a/sunrpc/xdr_ref.c b/sunrpc/xdr_ref.c index bc5f72d6a6..532804fadb 100644 --- a/sunrpc/xdr_ref.c +++ b/sunrpc/xdr_ref.c @@ -82,8 +82,7 @@ xdr_reference (xdrs, pp, size, proc) *pp = loc = (caddr_t) calloc (1, size); if (loc == NULL) { - (void) __fxprintf (NULL, "%s", - _("xdr_reference: out of memory\n")); + (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n")); return FALSE; } break; diff --git a/sysdeps/posix/tempname.c b/sysdeps/posix/tempname.c index eab658da31..be979d8c8a 100644 --- a/sysdeps/posix/tempname.c +++ b/sysdeps/posix/tempname.c @@ -297,7 +297,7 @@ __gen_tempname (char *tmpl, int flags, int kind) { case __GT_FILE: fd = __open (tmpl, - (flags & ~ACCESSPERMS) + (flags & ~O_ACCMODE) | O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); break; diff --git a/sysdeps/unix/opendir.c b/sysdeps/unix/opendir.c index 0a116247d2..92029c6547 100644 --- a/sysdeps/unix/opendir.c +++ b/sysdeps/unix/opendir.c @@ -171,6 +171,8 @@ __alloc_dir (int fd, bool close_fd, const struct stat64 *statp) goto lose; } + const size_t default_allocation = (BUFSIZ < sizeof (struct dirent64) + ? sizeof (struct dirent64) : BUFSIZ); size_t allocation; #ifdef _STATBUF_ST_BLKSIZE if (__builtin_expect ((size_t) statp->st_blksize >= sizeof (struct dirent64), @@ -178,20 +180,30 @@ __alloc_dir (int fd, bool close_fd, const struct stat64 *statp) allocation = statp->st_blksize; else #endif - allocation = (BUFSIZ < sizeof (struct dirent64) - ? sizeof (struct dirent64) : BUFSIZ); + allocation = default_allocation; DIR *dirp = (DIR *) malloc (sizeof (DIR) + allocation); if (dirp == NULL) - lose: { - if (close_fd) +#ifdef _STATBUF_ST_BLKSIZE + if (allocation == statp->st_blksize + && allocation != default_allocation) { - int save_errno = errno; - close_not_cancel_no_status (fd); - __set_errno (save_errno); + allocation = default_allocation; + dirp = (DIR *) malloc (sizeof (DIR) + allocation); + } + if (dirp == NULL) +#endif + lose: + { + if (close_fd) + { + int save_errno = errno; + close_not_cancel_no_status (fd); + __set_errno (save_errno); + } + return NULL; } - return NULL; } dirp->fd = fd; diff --git a/sysdeps/unix/sysv/linux/net/ethernet.h b/sysdeps/unix/sysv/linux/net/ethernet.h index 7ca8e8348e..0242d5899e 100644 --- a/sysdeps/unix/sysv/linux/net/ethernet.h +++ b/sysdeps/unix/sysv/linux/net/ethernet.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1999, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1999, 2001, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -45,9 +45,17 @@ struct ether_header /* Ethernet protocol ID's */ #define ETHERTYPE_PUP 0x0200 /* Xerox PUP */ +#define ETHERTYPE_SPRITE 0x0500 /* Sprite */ #define ETHERTYPE_IP 0x0800 /* IP */ #define ETHERTYPE_ARP 0x0806 /* Address resolution */ #define ETHERTYPE_REVARP 0x8035 /* Reverse ARP */ +#define ETHERTYPE_AT 0x809B /* AppleTalk protocol */ +#define ETHERTYPE_AARP 0x80F3 /* AppleTalk ARP */ +#define ETHERTYPE_VLAN 0x8100 /* IEEE 802.1Q VLAN tagging */ +#define ETHERTYPE_IPX 0x8137 /* IPX */ +#define ETHERTYPE_IPV6 0x86dd /* IP protocol version 6 */ +#define ETHERTYPE_LOOPBACK 0x9000 /* used to test interfaces */ + #define ETHER_ADDR_LEN ETH_ALEN /* size of ethernet addr */ #define ETHER_TYPE_LEN 2 /* bytes in type field */ |